新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 使用MATLAB和Simulink算法創(chuàng)建FPGA原型

使用MATLAB和Simulink算法創(chuàng)建FPGA原型

作者: 時間:2013-10-15 來源:網(wǎng)絡(luò) 收藏
ACING: normal; webkit-text-size-adjust: auto; orphans: 2; widows: 2; webkit-text-stroke-width: 0px">  為了明智確定所需的小數(shù)位數(shù),在開始HDL編碼過程之前,工程師需要某種方法來比較浮點仿真結(jié)果與定點仿真結(jié)果。增加小數(shù)位數(shù)可以減小量化誤差;不過,這種方法需要增加字長(區(qū)域增多、功耗升高)。

  例如,圖5展示了DDC濾波器鏈路中低通濾波器第一階段浮點與定點仿真結(jié)果的差異。這些差異是因定點量化所致。上方圖形顯示了浮點與定點仿真結(jié)果的重疊效果。下方圖形顯示了圖中每一點的量化誤差。工程師可能需要根據(jù)設(shè)計規(guī)范來增加小數(shù)位數(shù)以減小由此引出的量化誤差。

  圖5展示了DDC濾波器鏈路中低通濾波器第一階段浮點與定點仿真結(jié)果的差異。

  除了選擇小數(shù)位數(shù)之外,工程師還需要優(yōu)化字長,實現(xiàn)低功耗和區(qū)域優(yōu)化的設(shè)計。

  在DDC案例研究中,工程師使用定點模塊組將部分?jǐn)?shù)字濾波器鏈路的字長減少了8位之多(圖6)。

  工程師使用Simulink定點模塊組將部分?jǐn)?shù)字濾波器鏈路的字長減少了8位之多

  利用自動HDL代碼生成功能更快生成

  在生成時,HDL代碼必不可少。工程師手工編寫了 Verilog或VHDL代碼。作為替代選擇,使用HDL編碼器自動生成HDL代碼具有眾多明顯優(yōu)勢。工程師可以快速地評估能否在硬件中實施當(dāng)前算法;迅速評估不同的算法實現(xiàn),選擇最佳方案;并在FPGA上更快地建立算法原型。

  對于DDC案例研究而言,可以在55秒內(nèi)生成了5780行HDL代碼。工程師可以瀏覽并很快理解代碼(圖7)。自動代碼生成功能允許工程師對系統(tǒng)級模型進(jìn)行更改,并且,通過重新生成HDL代碼,該功能可以在數(shù)分鐘之內(nèi)生成更新的HDL實現(xiàn)方案。

  可以在55秒內(nèi)生成了5780行HDL代碼

  重用具有協(xié)同仿真功能的系統(tǒng)級測試平臺進(jìn)行HDL驗證

  功能驗證:HDL協(xié)同仿真使工程師能夠重用模型,將激勵驅(qū)動至HDL仿真器,并對仿真輸出執(zhí)行交互式系統(tǒng)級分析(圖8)。

  HDL協(xié)同仿真使工程師能夠重用Simulink模型

  HDL仿真僅提供數(shù)字波形輸出,而HDL協(xié)同仿真則提供了顯示HDL代碼的完整視圖,并可以訪問的全套系統(tǒng)級分析工具。當(dāng)工程師觀察到預(yù)期結(jié)果與HDL仿真結(jié)果存在差異時,可借助協(xié)同仿真進(jìn)一步了解該失配所產(chǎn)生的系統(tǒng)級影響。

  例如,在圖9中,頻譜儀視圖可以使工程師做出明智決定,忽略預(yù)期結(jié)果與HDL仿真結(jié)果之間的失配,其原因是該差異位于阻帶區(qū)。相比之下,數(shù)字波形輸出只是將預(yù)期結(jié)果與HDL仿真結(jié)果的失配標(biāo)記為誤差。盡管工程師最終可能得出相同的結(jié)論,但這將需要更多的時間完成所需的分析。

  使用特定域頻譜儀分析系統(tǒng)級指標(biāo)并評估HDL實現(xiàn)的性能

  



關(guān)鍵詞: MATLAB Simulink FPGA原型

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉