使用MATLAB和Simulink算法創(chuàng)建FPGA原型(二)
利用自動(dòng)HDL代碼生成功能更快生成FPGA原型
在生成FPGA原型時(shí),HDL代碼必不可少。工程師手工編寫了 Verilog或VHDL代碼。作為替代選擇,使用HDL編碼器自動(dòng)生成HDL代碼具有眾多明顯優(yōu)勢。工程師可以快速地評(píng)估能否在硬件中實(shí)施當(dāng)前算法;迅速評(píng)估不同的算法實(shí)現(xiàn),選擇最佳方案;并在FPGA上更快地建立算法原型。
對于DDC案例研究而言,可以在55秒內(nèi)生成了5780行HDL代碼。工程師可以瀏覽并很快理解代碼(圖7)。自動(dòng)代碼生成功能允許工程師對系統(tǒng)級(jí)模型進(jìn)行更改,并且,通過重新生成HDL代碼,該功能可以在數(shù)分鐘之內(nèi)生成更新的HDL實(shí)現(xiàn)方案。
重用具有協(xié)同仿真功能的系統(tǒng)級(jí)測試平臺(tái)進(jìn)行HDL驗(yàn)證
功能驗(yàn)證:HDL協(xié)同仿真使工程師能夠重用Simulink模型,將激勵(lì)驅(qū)動(dòng)至HDL仿真器,并對仿真輸出執(zhí)行交互式系統(tǒng)級(jí)分析(圖8)。
HDL仿真僅提供數(shù)字波形輸出,而HDL協(xié)同仿真則提供了顯示HDL代碼的完整視圖,并可以訪問Simulink的全套系統(tǒng)級(jí)分析工具。當(dāng)工程師觀察到預(yù)期結(jié)果與HDL仿真結(jié)果存在差異時(shí),可借助協(xié)同仿真進(jìn)一步了解該失配所產(chǎn)生的系統(tǒng)級(jí)影響。
例如,在圖9中,頻譜儀視圖可以使工程師做出明智決定,忽略預(yù)期結(jié)果與HDL仿真結(jié)果之間的失配,其原因是該差異位于阻帶區(qū)。相比之下,數(shù)字波形輸出只是將預(yù)期結(jié)果與HDL仿真結(jié)果的失配標(biāo)記為誤差。盡管工程師最終可能得出相同的結(jié)論,但這將需要更多的時(shí)間完成所需的分析。
測試覆蓋率:工程師可以使用HDL驗(yàn)證工具、Simulink設(shè)計(jì)驗(yàn)證工具和ModelSim/Questa自動(dòng)執(zhí)行代碼覆蓋率分析。在該工作流程中,Simulink設(shè)計(jì)驗(yàn)證工具可針對模型覆蓋率生成一套測試用例。HDL驗(yàn)證工具自動(dòng)使用這一套測試用例運(yùn)行ModelSim/Questa,收集代碼覆蓋率數(shù)據(jù),以對生成的代碼加以全面分析。
使用FPGA在環(huán)仿真加速驗(yàn)證
使用系統(tǒng)級(jí)仿真和HDL協(xié)同仿真驗(yàn)證DDC算法之后,便可以立即在FPGA目標(biāo)平臺(tái)上部署DDC算法。對算法執(zhí)行基于FPGA的驗(yàn)證(也稱為FPGA在環(huán)仿真)可以增強(qiáng)對算法在現(xiàn)實(shí)環(huán)境中有效運(yùn)行的信心。相比基于主機(jī)的HDL仿真,該驗(yàn)證可以使工程師更快地運(yùn)行測試方案。
對于DDC算法而言,可以使用Simulink模型驅(qū)動(dòng)FPGA輸入激勵(lì)并分析FPGA的輸出(圖10)。與HDL協(xié)同仿真一樣,在Simulink中始終可以利用相關(guān)數(shù)據(jù)進(jìn)行分析。
圖11對比了HDL協(xié)同仿真和FPGA在環(huán)仿真這兩種用于DDC設(shè)計(jì)的驗(yàn)證方法。在本案例中,F(xiàn)PGA在環(huán)仿真的速度是HDL協(xié)同仿真的23倍。這樣的速度提升使工程師能夠運(yùn)行更廣泛的測試用例并
fpga相關(guān)文章:fpga是什么
混頻器相關(guān)文章:混頻器原理
評(píng)論