新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA設計DSP的實踐與改進設計

        基于FPGA設計DSP的實踐與改進設計

        作者: 時間:2012-06-11 來源:網絡 收藏

        當設計的系統需要對數字信號進行處理時,常采用通用 (Digital Signal Process)處理器,這樣的設計方案通用性好,且還有各種較為成熟的 算法可以參考。但是,這類方案通常是雙核設計,即采用通用控制器(MCU)加上通用 處理器實現,在實現系統時開發的復雜程度、難度都較大,也難以滿足定制特殊處理的需要。為了解決這些問題,人們開始尋求新的設計方案,基于通用處理器加上(大規模可編門陣列)的架構方案逐漸成為主流,在新的方案中通用控制器完成控制和管理功能,專用的數字信號處理和組合邏輯功能由 實現,使得設計開銷與復雜程度明顯降低。

        本文引用地址:http://www.104case.com/article/257447.htm

        1 現行設計流程的不足

        使用“MCU+”架構方案的開發流程如圖1所示。系統的設計之初是先由系統結構設計小組制定出系統模型方案,并確定模型仿真正確之后將系統結構的設計方案提交給FPGA設計人員,并依據系統模型用硬件描述語言創建系統同時創建測試平臺,比較系統級仿真結果與模型設計是否相符,當不相符時則需要進行修改,并重新進行仿真驗證。在這種流程的開發中必定會存在很多的迭代與間歇。


        圖1傳統解決方案的開發流程

        分析其原因在于系統結構設計人員與 FPGA設計人員的工作有重復與制約性。二者的工作同樣是進行系統設計,并且都要進行仿真,只不過前者是進行系統的軟件仿真,后者進行系統的硬件仿真。另外系統的建立需要幾位工程師的協同工作。如果當 FPGA設計人員驗證出系統設計有誤時,還要回轉給系統結構設計人員等待修改完再重新進行硬件系統設計與仿真。

        2 設計流程的改進

        2.1 EDA設計工具

        1) MATLAB的

        MATLAB是 MathWorks公司開發的功能強大的數學分析工具。并且被廣泛應用于科學計算和工程計算中。Simulink是基于 MATLAB平臺推出的一個強大的動態系統仿真環境。它以圖形化模式進行系統建模仿真,可以快速完成系統的設計。并且具有強大的代數、微分等模型系統的求解器。

        2) DSP Builder

        DSP Builder是 Altera公司開發了基于 Simulink開發的 DSP設計工具。在 Simulink中作為一個工具箱出現。這樣使得用 FPGA設計DSP系統完全可以通過 Simulink的圖形化界面進行,只要簡單地進行 DSP Builder工具箱的模塊調用即可。從而使得一個復雜的電子系統設計變得相當容易而且直觀。同時加速了 FPGA實現DSP 的開發流程。

        2.2 改進開發流程

        采用上述 EDA設計工具使得在系統在設計階段,由系統工程師負責系統的模型設計,并且在軟件的輔助下,進行硬件描述語言的代碼自動生成,最終可以下載到 FPGA中檢驗設計效果。即將系統結構設計人員與 FPGA設計人員的工作合并從而改進的設計流程。如圖2所示。



        圖2 改進的開發流程

        設計流程的開始是系統結構設計人員基于 Simulink使用 DSP Builder工具箱提供的模塊建立系統模型。工具箱中的模塊涵蓋了算術和存儲功能,并且對其技術參數、數據格式、數據類型和總線寬度等屬性進行設置。系統模型設計完成后就進入仿真環節。這是基于系統的算法級仿真,設計者甚至不用關心目標硬件系統的屬性。如果仿真結果沒有得到預期設計的結果,可以很快通過修改模型進行調整。當仿真結束后使用 Signal Compiler模塊進行系統模型的 Simulink模型文件(.mdl文件)到硬件描述語言的轉換。這個過程將自動生成硬件描述語言的代碼。之后通過綜合以后產生出原子級網表文件(底層電路描述文件)。然后調用 Quartus II 的編譯器生成可以下載的門級網表文件,最后下載到 FPGA上就實現了 DSP系統的硬件化過程。操作流程如圖3所示。



        圖3 操作流程


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 县级市| 贺州市| 平阳县| 新竹市| 巫山县| 汤原县| 临邑县| 肇州县| 红安县| 都安| 多伦县| 湛江市| 天门市| 沧源| 东乡族自治县| 香河县| 富阳市| 普陀区| 延吉市| 玉龙| 思茅市| 宜丰县| 固安县| 宁强县| 舞阳县| 高阳县| 田东县| 土默特右旗| 锡林浩特市| 洛隆县| 静安区| 兴文县| 江阴市| 晋宁县| 杨浦区| 新昌县| 乐山市| 美姑县| 高碑店市| 海安县| 调兵山市|