使用MATLAB和Simulink算法創(chuàng)建FPGA原型(二)
利用自動HDL代碼生成功能更快生成FPGA原型
在生成FPGA原型時,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)方案。
重用具有協(xié)同仿真功能的系統(tǒng)級測試平臺進(jìn)行HDL驗證
功能驗證:HDL協(xié)同仿真使工程師能夠重用Simulink模型,將激勵驅(qū)動至HDL仿真器,并對仿真輸出執(zhí)行交互式系統(tǒng)級分析(圖8)。
HDL仿真僅提供數(shù)字波形輸出,而HDL協(xié)同仿真則提供了顯示HDL代碼的完整視圖,并可以訪問Simulink的全套系統(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é)論,但這將需要更多的時間完成所需的分析。
測試覆蓋率:工程師可以使用HDL驗證工具、Simulink設(shè)計驗證工具和ModelSim/Questa自動執(zhí)行代碼覆蓋率分析。在該工作流程中,Simulink設(shè)計驗證工具可針對模型覆蓋率生成一套測試用例。HDL驗證工具自動使用這一套測試用例運行ModelSim/Questa,收集代碼覆蓋率數(shù)據(jù),以對生成的代碼加以全面分析。
使用FPGA在環(huán)仿真加速驗證
使用系統(tǒng)級仿真和HDL協(xié)同仿真驗證DDC算法之后,便可以立即在FPGA目標(biāo)平臺上部署DDC算法。對算法執(zhí)行基于FPGA的驗證(也稱為FPGA在環(huán)仿真)可以增強(qiáng)對算法在現(xiàn)實環(huán)境中有效運行的信心。相比基于主機(jī)的HDL仿真,該驗證可以使工程師更快地運行測試方案。
對于DDC算法而言,可以使用Simulink模型驅(qū)動FPGA輸入激勵并分析FPGA的輸出(圖10)。與HDL協(xié)同仿真一樣,在Simulink中始終可以利用相關(guān)數(shù)據(jù)進(jìn)行分析。
圖11對比了HDL協(xié)同仿真和FPGA在環(huán)仿真這兩種用于DDC設(shè)計的驗證方法。在本案例中,F(xiàn)PGA在環(huán)仿真的速度是HDL協(xié)同仿真的23倍。這樣的速度提升使工程師能夠運行更廣泛的測試用例并
fpga相關(guān)文章:fpga是什么
混頻器相關(guān)文章:混頻器原理
評論