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