利用Spartan-3 FPGA實現(xiàn)高性能DSP功能
Spartan-3 FPGA能以突破性的價位點實現(xiàn)嵌入式DSP功能。本文闡述了Spartan-3 FPGA針對DSP而優(yōu)化的特性,并通過實現(xiàn)示例分析了它們在性能和成本上的優(yōu)勢。
本文引用地址:http://www.ex-cimer.com/article/268082.htm所有低成本的FPGA都以頗具吸引力的價格提供基本的邏輯性能,并能滿足廣泛的多用途設計需求。然而,當考慮在FPGA構造中嵌入DSP功能時,必須選擇高端FPGA以獲得諸如嵌入式乘法器和分布式存儲器等平臺特性。
Spartan-3 FPGA的面世改變了嵌入式DSP的應用前景。雖然Spartan-3系列器件的價位可能較低,但它們同樣具有DSP設計所需的平臺特性。這些平臺特性能夠以較高的面積利用率實現(xiàn)信號處理功能,使設計達到更低價位點。
Spartan-3器件用作協(xié)處理器或預/后處理器是非常理想的,它們將運算密集型功能從可編程DSP上卸載下來以增強系統(tǒng)性能。
針對DSP而優(yōu)化
賽靈思公司的Spartan-3器件采用90nm工藝技術以及300mm晶圓,大大降低了FPGA的成本。與此同時,這些器件還包括諸如嵌入式18×18位乘法器、大塊存儲器(18kb)、分布式RAM以及移位寄存器等關鍵DSP資源。這些高級特性意味著采用Spartan-3 FPGA,能以比其它競爭FPGA低得多的價位實現(xiàn)DSP算法。
除增加系統(tǒng)的基本性能之外,這些嵌入式特性還能提高器件的利用率。例如,如果在邏輯結構中實現(xiàn)Spartan-3嵌入式乘法器,需要占用300~400個邏輯單元(LE)。此外,因為嵌入式乘法器緊鄰邏輯結構,所以拓展其功能(比如創(chuàng)建加法器或者級聯(lián)多個乘法器來支持復雜的算法功能)是非常簡單的。
為提高效率,許多DSP功能以時分復用的形式在管道中得以很好實現(xiàn)。這樣做雖然能創(chuàng)建帶寬更高、速度更快的系統(tǒng),但同時也將面臨更多臨時存儲單元需求而帶來的成本增加。譬如,時分復用濾波器需要將各個乘法-累加單元的結果存儲在移位寄存器里。這種設計將在用完FPGA的邏輯資源之前就可能耗盡寄存器或存儲器資源。Spartan-3 FPGA系列的獨特之處在于它們可提供這樣一種模式:一個查找表(LUT)能夠執(zhí)行邏輯功能或配置成一個16位移位寄存器。
這種增強型的架構允許用單個LUT來代替16個寄存器,在實現(xiàn)時分復用DSP功能時能使面積利用率最大化。
許多DSP功能也需占用大量的存儲器資源,它們需要便箋存儲器來保存系數(shù)、執(zhí)行FIFO以及獲得較大的緩沖區(qū)。與目前使用的其它低成本FPGA相比,Spartan-3器件可提供更多的存儲位數(shù)。對于許多DSP設計而言,最重要的資源是FPGA內的嵌入式存儲器,而不是邏輯電路或者乘法器。因為存儲資源不足,采用競爭的低成本器件的設計工程師不得不選用更大規(guī)模的器件或采用外部存儲器來構建系統(tǒng),而這些系統(tǒng)只需一片體積很小的Spartan-3 FPGA就可以得到實現(xiàn)。
常見的DSP功能實現(xiàn)
下面通過分析有限沖擊響應(FIR)濾波器的兩個實現(xiàn)示例來說明這些特性是如何影響器件的利用率。一個是基于乘法累加器(MAC)的實現(xiàn),另一個是基于多通道分布式算法(DA)的實現(xiàn)。
FIR濾波器通常應用于基站、數(shù)字視頻、無線局域網(wǎng)、xDSL以及有線調制解調器。測試基準是在Spartan-3 XC3S400 FPGA中實現(xiàn)頻率為130MHz、數(shù)據(jù)和系數(shù)均為16位的64抽頭MAC FIR濾波器。第一個實現(xiàn)僅用了一個MAC,第二個實現(xiàn)則用了四個MAC。
從采用單個MAC的實現(xiàn)到采用四個MAC的實現(xiàn)可顯著增加FIR濾波器的性能,而LUT數(shù)量只增加一倍并仍僅占總可用邏輯資源的4%。四個MAC的實現(xiàn)使用了四塊RAM和四個MAC,以最少的器件邏輯資源高效地實現(xiàn)了FIR濾波器。
另一個有趣的實現(xiàn)是多通道FIR功能的實現(xiàn),在這里可以看到從單通道FIR濾波器到8通道FIR濾波器,器件利用率是如何變化的。
實現(xiàn)單通道分布式算法FIR濾波器使用了XC3S1000 Spartan-3器件29%的邏輯資源和39%的寄存器資源。當實現(xiàn)同樣的8通道濾波器時,通常將不同通道進行時分復用來保存邏輯,但這將占用很多寄存器或者大量的片內存儲器來存放中間結果。
如果使用Spartan-3 FPGA,中間結果將被存放在由LUT配置成的16位移位寄存器(SRL-16)中。這樣,實現(xiàn)同樣的8通道濾波器只多使用10%的可用邏輯資源和7%的可用寄存器資源,也就是說,構建8個通道僅多占用25%的器件資源。
這種顯著的資源節(jié)約與Spartan-3器件中SRL-16的使用有直接關系,在8通道實現(xiàn)中還有另外1,343個LUT被用作SRL-16模式。
如果在不支持SRL-16性能的FPGA中實現(xiàn)這種設計,將需要額外的10,744(1343×8)個觸發(fā)器用作存儲單元,這就必須選用大規(guī)模器件以提供數(shù)量龐大的寄存器,同時將也會消耗相關的組合邏輯資源。
作者:Suhel Dhanan
Spartan解決方案高級營銷經(jīng)理
賽靈思公司
濾波器相關文章:濾波器原理
fpga相關文章:fpga是什么
濾波器相關文章:濾波器原理
存儲器相關文章:存儲器原理
電容屏相關文章:電容屏原理
評論