基于fpga的數(shù)字信號處理方法簡介

基于fpga的數(shù)字信號處理方法簡介

ID:12176507

大?。?.08 MB

頁數(shù):18頁

時間:2018-07-16

基于fpga的數(shù)字信號處理方法簡介_第1頁
基于fpga的數(shù)字信號處理方法簡介_第2頁
基于fpga的數(shù)字信號處理方法簡介_第3頁
基于fpga的數(shù)字信號處理方法簡介_第4頁
基于fpga的數(shù)字信號處理方法簡介_第5頁
資源描述:

《基于fpga的數(shù)字信號處理方法簡介》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、基于FPGA的數(shù)字信號處理方法簡介1引言數(shù)字信號處理就是用數(shù)值計算的方式對信號進行加工的理論和技術(shù),主要研究有關(guān)數(shù)字濾波技術(shù)、離散變換快速算法以及譜分析方法?,F(xiàn)場可編程門陣列(FieldProgrammableGateArrays,F(xiàn)PGA)以其豐富的邏輯資源和I/O引腳、低功耗、高可靠性以及可重構(gòu)等特點,與通用DSP解決方案相比,F(xiàn)PGA器件在不犧牲靈活性的條件下,提供了更高的性能,逐步成為較為理想的實現(xiàn)平臺。FPGA的設(shè)計描述通常分為四個抽象級,由低到高依次為:物理級、寄存器傳輸級(RegisterTransferLevel,RTL)、行為級和系統(tǒng)級。傳統(tǒng)的FPGA設(shè)計基于自頂向下設(shè)

2、計方法采用硬件描述語言(HardwareDescriptionLanguage,HDL)與VerilogHDL進行。隨著FPGA在性能和密度上的發(fā)展十分迅猛,傳統(tǒng)開發(fā)方法出現(xiàn)不足,高層次綜合(HighLevelSynthesis,HLS)應(yīng)運而生最近幾年其相關(guān)技術(shù)日趨成熟且被廣泛使用。這種高層次綜合可以使算法和軟件工程師們在無需擁有HDL和硬件知識的基礎(chǔ)上,使用FPGA進行算法驗證、移植和計算加速。本文主要介紹基于FPGA的數(shù)字信號處理的傳統(tǒng)設(shè)計方法、高層次綜合設(shè)計VIVADOHLS、OpenCL、SystemGenerator、DSPBuilder以及NI專用LabVIEWFPGA的設(shè)

3、計工具。2高層次設(shè)計方法高層次綜合的概念最早在20世紀70年代被提出,是在一定的約束下,將系統(tǒng)層和算法層轉(zhuǎn)化成RTL級描述的方法和過程。系統(tǒng)層和算法層可以用相比于HDL更高級的編程語言,如Java、C、C++、Matlab等進行更加簡潔、直觀描述。為了便于設(shè)計者進行高層次、系統(tǒng)級的設(shè)計,所以需要將底層的綜合過程交給開發(fā)工具進行。90年代中期的時候,Synopsys、Cadence和MentorGraphics等EDA公司推出了商業(yè)化的、基于HDL語言的HLS開發(fā)工具,但是不成熟技術(shù)導(dǎo)致了市場化的失敗。近年來,基于高級編程語言的HLS開發(fā)工具在解決了前一代開發(fā)工具的不足的基礎(chǔ)上,迅速發(fā)展,

4、已在FPGA設(shè)計的市場中占有了一席之地,基于高層次綜合的FPGA設(shè)計也已經(jīng)逐步進入市場化和商業(yè)化。2.1基于C/C++的工具簡介XilinxVIVADOHLS編譯器為我們提供了與面向標準處理器或?qū)S锰幚砥鞯膽?yīng)用開發(fā)的編譯器相類似的集成編譯支持環(huán)境,XilinxVIVADOHLS與其他各種處理器編譯器在對C語言程序或C++語言程序的編譯、分析和優(yōu)化擁有相同的關(guān)鍵技術(shù),而區(qū)別在于應(yīng)用所面向的執(zhí)行目標。通過把FPGA作為執(zhí)行目標,XilinxVIVADOHLS使得軟件開發(fā)工程師能夠借助它來實現(xiàn)代碼的優(yōu)化,并且不受單一存儲空間或者有限的開發(fā)資源這些開發(fā)瓶頸的限制,從而使得計算量密集型軟件算法得以

5、被實際應(yīng)用。XilinxVIVADOHLS所使用的應(yīng)用代碼同其他處理器編譯器一樣面向的范疇一樣,通過操作語句、條件語句、循環(huán)語句、以及函數(shù)等4個范疇來分析程序。在HLS中,循環(huán)和函數(shù)之間的主要區(qū)別是相關(guān)的術(shù)語。系統(tǒng)的循環(huán)和函數(shù)并行執(zhí)行。而循環(huán)中,因為在循環(huán)迭代和運算符間有一個清晰的結(jié)構(gòu)差異,這種轉(zhuǎn)換通常稱為流水線。對函數(shù)而言,外循環(huán)和內(nèi)循環(huán)相處于同一層次,這導(dǎo)致如果長期使用它可能會出現(xiàn)流水線混亂。在使用HLS時,我們可以避免這種混亂,因為函數(shù)調(diào)用執(zhí)行的并行化可以使得數(shù)據(jù)流優(yōu)化。數(shù)據(jù)流優(yōu)化指令使得HLS在給定的程序?qū)哟谓Y(jié)構(gòu)中對所有的函數(shù)創(chuàng)建獨立的硬件模塊。這些獨立的硬件模塊可以并行執(zhí)行并且

6、具有獨立的同步數(shù)據(jù)傳輸過程。除了XilinxVivadoHLS外Altera公司針對自己的器件也有OpenCL工具進行對C等高級語言設(shè)計自動編譯。2.2基于MATLAB的工具簡介AlteraDSPBuilder將TheMathWorksMATLAB和Simulink系統(tǒng)級設(shè)計工具的算法開發(fā)、仿真和驗證功能與VHDL綜合、仿真和Altera開發(fā)工具整合在一起,實現(xiàn)了這些工具的集成。DSPBuilder在算法友好的開發(fā)環(huán)境中幫助設(shè)計人員生成DSP設(shè)計硬件表征,從而縮短了DSP設(shè)計周期。已有的MATLAB函數(shù)和Simulink模塊可以和AlteraDSPBuilder模塊以及Altera知識產(chǎn)

7、權(quán)(IP)MegaCore功能相結(jié)合,將系統(tǒng)級設(shè)計實現(xiàn)和DSP算法開發(fā)相鏈接。DSPBuilder支持系統(tǒng)、算法和硬件設(shè)計共享一個公共開發(fā)平臺。設(shè)計人員可以使用DSPBuilder模塊迅速生成Simulink系統(tǒng)建模硬件。DSPBuilder包括比特和周期精度的Simulink模塊,涵蓋了算法和存儲功能等基本操作??梢允褂肈SPBuilder模型中的MegaCore功能實現(xiàn)復(fù)雜功能的集成。DSPBuilder是一個系統(tǒng)級(或算法級)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。