通用的DSP解決方案與FPGA實現方法的對比
帶有加法、減法或累加運算的乘法器是大多數DSP應用的核心。通用DSP芯片把這些功能的有效實現方法和一個通用微處理器結合在一起。乘法器的數目一般為數個,微處理器將數據串行地實現乘法或其它功能,中間結果存放在存儲器或累加器中。性能的提高主要通過提升用于乘法的時鐘速度來實現。典型的時鐘速度從數十MHz到1GHz。其性能,用每秒百萬次乘法累加(MMAC)來衡量,通常為10到4000。更高性能要求的功能不得不分拆在多個DSP引擎中實現。這些芯片的價格從低端性能的幾美元到高端性能的數百美元。這種方法的優點是能夠直接實現用諸如C這樣的編程語言編寫算法。
面向DSP的FPGA能在一個芯片上并行地實現許多功能。通用的布線、邏輯和存儲器資源用來實現各個功能之間的互連、實現額外的功能、定序或在必要的情況下存儲數據。一些基本的器件僅提供乘法器,需要用戶用邏輯構造所有其它的功能。更多的器件提供加法、減法和累加功能,作為一整套DSP構造模塊的一部分。FPGA通常擁有數十個乘法單元,可以在數百MHz的時鐘速度下工作。例如,LatticeECP2-70 FPGA擁有88個18x18的乘法器,運行速度可達325MHz,性能達到每秒28600MMAC。
設計者經常要實現結構化的DSP功能,這在FPGA內要占用大量的計算資源。通常在FPGA內實現的結構化功能為:有限脈沖響應濾波器(FIR)、無限脈沖響應濾波器(IIR)、快速傅立葉變換(FFT)和混頻器。每種功能都需要將乘法單元與加法、減法和累加結合在一起。圖1和圖2分別是典型的FIR濾波器和快速傅立葉變換(FFT)的實現方式。
LatticeECP2/M器件結構
LatticeECP2和LatticeECP2M系列重新定義了低成本FPGA,在更低的成本下擁有更多的FPGA特性。器件含有sysDSP塊和工程預制的源同步I/O。在LatticeECP2M中有高達5.3M位的RAM塊、在LatticeECP2中有高達1.1M位的RAM塊。在LatticeECP2M中有3.125Gbps嵌入式SERDES,支持PCIexpress、Ethernet (1GbE 和 SGMII)以及多個其它標準。集成了以前只有高成本、高性能FPGA才有的特點和性能,這些系列的產品極大地擴展了利用低成本FPGA的應用范圍。
● MULT(乘法)
● MAC(乘法、累加)
● MULTADD(乘法、加/減)
● MULTADDSUM(乘法、加/減,累加)
DSP設計方法
Lattice提供便捷的方法讓設計者處理sysDSP塊的這些性能,下面分別敘述這些方法:
●ispLEVER工具中的Module/IP Manager是一個圖形接口,可以迅速地產生實現DSP單元的模塊。這些模塊可以在HDL設計中被適當地采用。
●將特定的功能通過編代碼嵌入設計的HDL中,允許綜合工具推理出DSP塊的用法。
●采用一個Lattice Block套件在MathWork的 Simulink中實現設計。然后,ispLEVER軟件中的ispLeverDSP可以適當地將這些模塊轉換成HDL。
●直接在源代碼中用實例說明DSP組件。
結語
DSP技術的應用將進一步發展。對DSP應用中典型功能的分析表明:乘法器、加法、減法和累加單元的組合是必需的。LatticeECP2/M器件把DSP塊和低成本的FPGA結構組合在一起。通過在sysDSP塊內實現加法、減法、和累加功能,有很高的性能和LUT的利用率。