HDL Coder 利用 MATLAB 函數(shù)、Simulink 模型和 Stateflow 圖生成可移植、可綜合的 Verilog 和 VHDL 代碼。生成的 HDL 代碼可用于 FPGA 編程或 ASIC 原型開發(fā)和設(shè)計。
HDL Coder 提供了一個 Workflow Advisor,可以自動執(zhí)行 Xilinx 和 Altera FPGA 編程。您可以控制 HDL 架構(gòu)和實施、突出顯示關(guān)鍵路徑,并估算硬件資源利用率。HDL Coder 在 Simulink 模型與生成的 Verilog 和 VHDL 代碼之間提供了可追溯性,使高完整性應(yīng)用程序的代碼驗證遵守 DO-254 和其他標(biāo)準(zhǔn)。
主要特性
獨立于目標(biāo)的、可綜合的 VHDL 和 Verilog 代碼
代碼生成支持MATLAB 函數(shù)、系統(tǒng)對象以及 Simulink 模塊
使用 Stateflow 實施 Mealy 和 Moore 有限狀態(tài)機以及控制邏輯
用于 Xilinx 和 Altera 應(yīng)用程序面板編程的 Workflow Advisor
資源共享和重定時,用以平衡面積速度
符合 DO-254 的代碼到模型和模型到代碼可追溯性
舊有代碼集成
使用 HDL Coder 從 MATLAB 或 Simulink 生成 HDL 代碼。您可以使用 MATLAB 函數(shù)、Simulink 模型或?qū)烧呓Y(jié)合使用來生成可綜合的 VHDL 和 Verilog 代碼。
主要功能
1.生成HDL代碼
使用 HDL Coder,只需幾個步驟便可為 FPGA 和 ASIC 實施生成可綜合的 HDL 代碼:
將 MATLAB 代碼、Simulink 模塊和 Stateflow 圖組合使用,進行設(shè)計建模。
優(yōu)化模型以滿足面積速度設(shè)計目標(biāo)。
使用為 MATLAB 和 Simulink 集成的 HDL Workflow Advisor 生成 HDL 代碼。
使用 HDL Verifier 驗證生成的代碼。
2.優(yōu)化 HDL 代碼
在 MATLAB 或 Simulink 中,通過采用分布式流水線、流式處理和資源共享,可以優(yōu)化 HDL 代碼以實現(xiàn)速度面積目標(biāo)。在 MATLAB 中,您可以使用高級循環(huán)優(yōu)化,如循環(huán)流和循環(huán)展開,用于包含 for 循環(huán)或矩陣運算的 MATLAB 設(shè)計。您可以將 MATLAB 代碼中的持續(xù)陣列或矩陣變量映射到 Block RAM。在 Simulink 中,您可以實施信號處理和多媒體應(yīng)用中常用的多聲道設(shè)計和序列化技術(shù)。
適用于 MATLAB 的 HDL Workflow Advisor 提供了多個優(yōu)化選項,如 RAM 映射、流水線、資源共享和循環(huán)展開
面積速度優(yōu)化。用一個乘法器取代四個乘法器,降低了設(shè)計面積成本,數(shù)據(jù)率提升4倍。
3. FPGA 設(shè)計自動化
HDL 中的 HDL Workflow Advisor 可以自動執(zhí)行將 MATLAB 算法和 Simulink 模型實施到 Xilinx 和 Altera FPGA 的工作流程。HDL Workflow Advisor 集成了 FPGA 設(shè)計流程的所有步驟,包括:
檢查 Simulink 模型的 HDL 代碼生成兼容性
生成 HDL 代碼、HDL 測試工作臺和協(xié)同仿真模型
通過與 Xilinx ISE 和 Altera Quartus II 集成,執(zhí)行合成和時序分析
估算設(shè)計中的資源使用
使用關(guān)鍵路徑時序回注 Simulink 模型
使用關(guān)鍵路徑時序回注 Simulink 模型。HDL Workflow Advisor 會在 Simulink 中突出顯示關(guān)鍵路徑時序,以幫助識別速度瓶頸并提高設(shè)計性能。
您可以查看合成后時序報告并回注 Simulink 模型,以識別時序約束瓶頸。與合成工具的這一集成實現(xiàn)了快速設(shè)計迭代,并顯著縮短了 FPGA 設(shè)計周期時間。
4.驗證 HDL 代碼
HDL Coder 可以生成 VHDL 和 Verilog 測試工作臺以快速驗證生成的 HDL 代碼。您可以使用各種選項自定義 HDL 測試工作臺,測試HDL 代碼。您還可以生成腳本文件,在 HDL 仿真器中自動處理代碼編譯和仿真。
HDL Coder 與 HDL Verifier 配套使用,可以自動生成兩類協(xié)同仿真模型:
HDL 協(xié)同仿真模型,用于使用 Simulink 和 HDL 仿真器(如 Cadence Incisive 或 Mentor Graphics ModelSim 和 Questa)執(zhí)行 HDL 協(xié)同仿真
FPGA 在環(huán) (FIL) 協(xié)同仿真模型,用于使用 Simulink 和 FPGA 板驗證設(shè)計
自動生成 FPGA 在環(huán) (FIL) 模型,用于視頻銳化。FIL 仿真可以在硬件上高效地執(zhí)行設(shè)計空間探查。
5. 記錄和追蹤HDL 代碼
HDL Coder 會將生成的代碼記錄在 HTML 報告中,該報告包括帶超鏈接 的HDL 代碼和生成的 HDL 文件表。通過 HDL 代碼中的超鏈接,可以導(dǎo)航到與代碼對應(yīng)的 MATLAB 算法或 Simulink 模塊。
為滿足 DO-254 等標(biāo)準(zhǔn)對高完整性應(yīng)用程序的代碼可追溯性要求,HDL Coder 讓您能夠執(zhí)行以下操作:
從生成的 HDL 代碼導(dǎo)航到 MATLAB 代碼
在 Simulink 模塊與生成的 HDL 代碼之間導(dǎo)航,實現(xiàn)雙向追蹤
插入用戶注釋和描述,增加代碼可讀性
MATLAB 中的代碼生成報告,使您可以從生成的 VHDL 和 Verilog 代碼導(dǎo)航到 MATLAB 代碼。
將 Simulink Verification and Validation 與 HDL Coder 搭配使用,可以將系統(tǒng)需求作為注釋嵌入到從 Simulink 或 Stateflow 生成的 HDL 代碼中。這樣,您便可以使整個工作流程完全透明,包括從系統(tǒng)需求到生成的 HDL 代碼。
Simulink 中的 HDL 代碼生成報告,使您可以在模型與生成的 HDL 代碼之間導(dǎo)航。
6.HDL 編碼標(biāo)準(zhǔn)
用于工業(yè) FPGA 和 ASIC 應(yīng)用(如航空航天工業(yè)中的 DO-254)的開發(fā)過程可能建議使用特定的 RTL 編碼指南。HDL Coder 旨在生成滿足通用行業(yè)編碼指南(如 RMM 和 STARC)的 VHDL 和 Verilog 代碼。HDL Coder 還可生成報告,幫助您確定 Simulink 模型和 MATLAB 代碼中不合適的結(jié)構(gòu),這樣您可以調(diào)整您的模型,使生成的 RTL 符合這些編碼指南。
HDL Coder 還可以生成第三方 lint 工具腳本,用于檢查您生成的 HDL 代碼。HDL Coder 自動生成的代碼可通過多種行業(yè)標(biāo)準(zhǔn)的 lint 工具的檢查,例如Atrenta SpyGlass, Real Intent Ascent Lint, Synopsys Leda, 和 Mentor Graphics HDL Designer。HDL Coder 可生成允許與任何 lint 工具集成的自定義腳本。
使用 HDL Coder 生成的代碼遵循 RTL 編碼原則,通過:
避免 FSM 狀態(tài)可訪問性和編碼問題
避免仿真和綜合語義之間的差異
避免在實現(xiàn)代價高昂的操作
避免下游工具流問題
遵循命名規(guī)則和RTL編碼習(xí)慣
強 RTL 建模的清晰度并降低復(fù)雜性
增強對時鐘資源(時鐘、啟用、復(fù)位)和控制信號的檢查
支持代碼的可測性和可追溯性
-
編碼
+關(guān)注
關(guān)注
6文章
969瀏覽量
55776 -
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70743 -
腳本
+關(guān)注
關(guān)注
1文章
398瀏覽量
28456
發(fā)布評論請先 登錄
為什么我選擇VHDL入門

淺談Verilog和VHDL的區(qū)別

Verilog 與 ASIC 設(shè)計的關(guān)系 Verilog 代碼優(yōu)化技巧
Verilog 測試平臺設(shè)計方法 Verilog FPGA開發(fā)指南
Verilog與VHDL的比較 Verilog HDL編程技巧
FPGA與ASIC的區(qū)別 FPGA性能優(yōu)化技巧
Verilog vhdl fpga
FPGA與ASIC的優(yōu)缺點比較
怎么樣提高verilog代碼編寫水平?
FPGA Verilog HDL代碼如何debug?
FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL
FPGA Verilog HDL有什么奇技巧?
【招聘】verilog vhdl FPGA
為低功耗FPGA、處理器和ASIC實施啟用LVDS鏈路

評論