在FPGA上建立MATLAB和Simulink算法原型
重用具有協(xié)同仿真功能的系統(tǒng)級測試平臺進行HDL驗證
功能驗證:HDL協(xié)同仿真使工程師能夠重用Simulink模型,將激勵驅動至HDL仿真器,并對仿真輸出執(zhí)行交互式系統(tǒng)級分析(圖8)。
HDL仿真僅提供數(shù)字波形輸出,而HDL協(xié)同仿真則提供了顯示HDL代碼的完整視圖,并可以訪問Simulink的全套系統(tǒng)級分析工具。當工程師觀察到預期結果與HDL仿真結果存在差異時,可借助協(xié)同仿真進一步了解該失配所產(chǎn)生的系統(tǒng)級影響。
例如,在圖9中,頻譜儀視圖可以使工程師做出明智決定,忽略預期結果與HDL仿真結果之間的失配,其原因是該差異位于阻帶區(qū)。相比之下,數(shù)字波形輸出只是將預期結果與HDL仿真結果的失配標記為誤差。盡管工程師最終可能得出相同的結論,但這將需要更多的時間完成所需的分析。
測試覆蓋率:工程師可以使用HDL驗證工具、Simulink設計驗證工具和ModelSim/Questa自動執(zhí)行代碼覆蓋率分析。在該工作流程中,Simulink設計驗證工具可針對模型覆蓋率生成一套測試用例。HDL驗證工具自動使用這一套測試用例運行ModelSim/Questa,收集代碼覆蓋率數(shù)據(jù),以對生成的代碼加以全面分析。
使用FPGA在環(huán)仿真加速驗證
使用系統(tǒng)級仿真和HDL協(xié)同仿真驗證DDC算法之后,便可以立即在FPGA目標平臺上部署DDC算法。對算法執(zhí)行基于FPGA的驗證(也稱為FPGA在環(huán)仿真)可以增強對算法在現(xiàn)實環(huán)境中有效運行的信心。相比基于主機的HDL仿真,該驗證可以使工程師更快地運行測試方案。
對于DDC算法而言,可以使用Simulink模型驅動FPGA輸入激勵并分析FPGA的輸出(圖10)。與HDL協(xié)同仿真一樣,在Simulink中始終可以利用相關數(shù)據(jù)進行分析。
圖11對比了HDL協(xié)同仿真和FPGA在環(huán)仿真這兩種用于DDC設計的驗證方法。在本案例中,F(xiàn)PGA在環(huán)仿真的速度是HDL協(xié)同仿真的23倍。這樣的速度提升使工程師能夠運行更廣泛的測試用例并對其設計進行回歸測試。這使他們能夠識別出有待進一步分析的潛在問題區(qū)域。
盡管HDL協(xié)同仿真速度較慢,但它卻提高了HDL代碼的可見性。因此,它很適合針對FPGA在環(huán)仿真過程中發(fā)現(xiàn)的問題區(qū)域進行更詳細的分析。
本文小結
如果工程師遵循本文所述的四種最佳方法,開發(fā)FPGA原型將比傳統(tǒng)的手動工作流程快出許多,并能使工程師信心倍增。此外,工程師還可以在整個開發(fā)過程中繼續(xù)優(yōu)化自己的模型,并快速地重新生成有關FPGA實現(xiàn)的代碼。與依賴手工編寫HDL的傳統(tǒng)工作流程相比,這種能力可以顯著縮短設計迭代的周期。
評論