使用MATLAB和Simulink算法創建FPGA原型
例如,圖5展示了DDC濾波器鏈路中低通濾波器第一階段浮點與定點仿真結果的差異。這些差異是因定點量化所致。上方圖形顯示了浮點與定點仿真結果的重疊效果。下方圖形顯示了圖中每一點的量化誤差。工程師可能需要根據設計規范來增加小數位數以減小由此引出的量化誤差。
除了選擇小數位數之外,工程師還需要優化字長,實現低功耗和區域優化的設計。
在DDC案例研究中,工程師使用Simulink定點模塊組將部分數字濾波器鏈路的字長減少了8位之多(圖6)。
利用自動HDL代碼生成功能更快生成FPGA原型
在生成FPGA原型時,HDL代碼必不可少。工程師手工編寫了 Verilog或VHDL代碼。作為替代選擇,使用HDL編碼器自動生成HDL代碼具有眾多明顯優勢。工程師可以快速地評估能否在硬件中實施當前算法;迅速評估不同的算法實現,選擇最佳方案;并在FPGA上更快地建立算法原型。
對于DDC案例研究而言,可以在55秒內生成了5780行HDL代碼。工程師可以瀏覽并很快理解代碼(圖7)。自動代碼生成功能允許工程師對系統級模型進行更改,并且,通過重新生成HDL代碼,該功能可以在數分鐘之內生成更新的HDL實現方案。
重用具有協同仿真功能的系統級測試平臺進行HDL驗證
功能驗證:HDL協同仿真使工程師能夠重用Simulink模型,將激勵驅動至HDL仿真器,并對仿真輸出執行交互式系統級分析(圖8)。
HDL仿真僅提供數字波形輸出,而HDL協同仿真則提供了顯示HDL代碼的完整視圖,并可以訪問Simulink的全套系統級分析工具。當工程師觀察到預期結果與HDL仿真結果存在差異時,可借助協同仿真進一步了解該失配所產生的系統級影響。
例如,在圖9中,頻譜儀視圖可以使工程師做出明智決定,忽略預期結果與HDL仿真結果之間的失配,其原因是該差異位于阻帶區。相比之下,數字波形輸出只是將預期結果與HDL仿真結果的失配標記為誤差。盡管工程師最終可能得出相同的結論,但這將需要更多的時間完成所需的分析。
評論