0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

MATLAB ? 來源:djl ? 2019-09-18 14:51 ? 次閱讀

HDL Coder 利用 MATLAB 函數(shù)、Simulink 模型和 Stateflow 圖生成可移植、可綜合的 Verilog 和 VHDL 代碼。生成的 HDL 代碼可用于 FPGA 編程ASIC 原型開發(fā)和設(shè)計(jì)。

HDL Coder 提供了一個(gè) Workflow Advisor,可以自動(dòng)執(zhí)行 Xilinx 和 Altera FPGA 編程。您可以控制 HDL 架構(gòu)和實(shí)施、突出顯示關(guān)鍵路徑,并估算硬件資源利用率。HDL Coder 在 Simulink 模型與生成的 Verilog 和 VHDL 代碼之間提供了可追溯性,使高完整性應(yīng)用程序的代碼驗(yàn)證遵守 DO-254 和其他標(biāo)準(zhǔn)。

主要特性

獨(dú)立于目標(biāo)的、可綜合的 VHDL 和 Verilog 代碼

代碼生成支持MATLAB 函數(shù)、系統(tǒng)對(duì)象以及 Simulink 模塊

使用 Stateflow 實(shí)施 Mealy 和 Moore 有限狀態(tài)機(jī)以及控制邏輯

用于 Xilinx 和 Altera 應(yīng)用程序面板編程的 Workflow Advisor

資源共享和重定時(shí),用以平衡面積速度

符合 DO-254 的代碼到模型和模型到代碼可追溯性

舊有代碼集成

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

使用 HDL Coder 從 MATLAB 或 Simulink 生成 HDL 代碼。您可以使用 MATLAB 函數(shù)、Simulink 模型或?qū)烧呓Y(jié)合使用來生成可綜合的 VHDL 和 Verilog 代碼。

主要功能

1.生成HDL代碼

使用 HDL Coder,只需幾個(gè)步驟便可為 FPGA 和 ASIC 實(shí)施生成可綜合的 HDL 代碼:

將 MATLAB 代碼、Simulink 模塊和 Stateflow 圖組合使用,進(jìn)行設(shè)計(jì)建模。

優(yōu)化模型以滿足面積速度設(shè)計(jì)目標(biāo)。

使用為 MATLAB 和 Simulink 集成的 HDL Workflow Advisor 生成 HDL 代碼。

使用 HDL Verifier 驗(yàn)證生成的代碼。

2.優(yōu)化 HDL 代碼

在 MATLAB 或 Simulink 中,通過采用分布式流水線、流式處理和資源共享,可以優(yōu)化 HDL 代碼以實(shí)現(xiàn)速度面積目標(biāo)。在 MATLAB 中,您可以使用高級(jí)循環(huán)優(yōu)化,如循環(huán)流和循環(huán)展開,用于包含 for 循環(huán)或矩陣運(yùn)算的 MATLAB 設(shè)計(jì)。您可以將 MATLAB 代碼中的持續(xù)陣列或矩陣變量映射到 Block RAM。在 Simulink 中,您可以實(shí)施信號(hào)處理和多媒體應(yīng)用中常用的多聲道設(shè)計(jì)和序列化技術(shù)。

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

適用于 MATLAB 的 HDL Workflow Advisor 提供了多個(gè)優(yōu)化選項(xiàng),如 RAM 映射、流水線、資源共享和循環(huán)展開

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

面積速度優(yōu)化。用一個(gè)乘法器取代四個(gè)乘法器,降低了設(shè)計(jì)面積成本,數(shù)據(jù)率提升4倍。

3. FPGA 設(shè)計(jì)自動(dòng)化

HDL 中的 HDL Workflow Advisor 可以自動(dòng)執(zhí)行將 MATLAB 算法和 Simulink 模型實(shí)施到 Xilinx 和 Altera FPGA 的工作流程。HDL Workflow Advisor 集成了 FPGA 設(shè)計(jì)流程的所有步驟,包括:

檢查 Simulink 模型的 HDL 代碼生成兼容性

生成 HDL 代碼、HDL 測(cè)試工作臺(tái)和協(xié)同仿真模型

通過與 Xilinx ISE 和 Altera Quartus II 集成,執(zhí)行合成和時(shí)序分析

估算設(shè)計(jì)中的資源使用

使用關(guān)鍵路徑時(shí)序回注 Simulink 模型

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

使用關(guān)鍵路徑時(shí)序回注 Simulink 模型。HDL Workflow Advisor 會(huì)在 Simulink 中突出顯示關(guān)鍵路徑時(shí)序,以幫助識(shí)別速度瓶頸并提高設(shè)計(jì)性能。

您可以查看合成后時(shí)序報(bào)告并回注 Simulink 模型,以識(shí)別時(shí)序約束瓶頸。與合成工具的這一集成實(shí)現(xiàn)了快速設(shè)計(jì)迭代,并顯著縮短了 FPGA 設(shè)計(jì)周期時(shí)間。

4.驗(yàn)證 HDL 代碼

HDL Coder 可以生成 VHDL 和 Verilog 測(cè)試工作臺(tái)以快速驗(yàn)證生成的 HDL 代碼。您可以使用各種選項(xiàng)自定義 HDL 測(cè)試工作臺(tái),測(cè)試HDL 代碼。您還可以生成腳本文件,在 HDL 仿真器中自動(dòng)處理代碼編譯和仿真。

HDL Coder 與 HDL Verifier 配套使用,可以自動(dòng)生成兩類協(xié)同仿真模型:

HDL 協(xié)同仿真模型,用于使用 Simulink 和 HDL 仿真器(如 Cadence Incisive 或 Mentor Graphics ModelSim 和 Questa)執(zhí)行 HDL 協(xié)同仿真

FPGA 在環(huán) (FIL) 協(xié)同仿真模型,用于使用 Simulink 和 FPGA 板驗(yàn)證設(shè)計(jì)

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

自動(dòng)生成 FPGA 在環(huán) (FIL) 模型,用于視頻銳化。FIL 仿真可以在硬件上高效地執(zhí)行設(shè)計(jì)空間探查。

5. 記錄和追蹤HDL 代碼

HDL Coder 會(huì)將生成的代碼記錄在 HTML 報(bào)告中,該報(bào)告包括帶超鏈接 的HDL 代碼和生成的 HDL 文件表。通過 HDL 代碼中的超鏈接,可以導(dǎo)航到與代碼對(duì)應(yīng)的 MATLAB 算法或 Simulink 模塊。

為滿足 DO-254 等標(biāo)準(zhǔn)對(duì)高完整性應(yīng)用程序的代碼可追溯性要求,HDL Coder 讓您能夠執(zhí)行以下操作:

從生成的 HDL 代碼導(dǎo)航到 MATLAB 代碼

在 Simulink 模塊與生成的 HDL 代碼之間導(dǎo)航,實(shí)現(xiàn)雙向追蹤

插入用戶注釋和描述,增加代碼可讀性

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

MATLAB 中的代碼生成報(bào)告,使您可以從生成的 VHDL 和 Verilog 代碼導(dǎo)航到 MATLAB 代碼。

將 Simulink Verification and Validation 與 HDL Coder 搭配使用,可以將系統(tǒng)需求作為注釋嵌入到從 Simulink 或 Stateflow 生成的 HDL 代碼中。這樣,您便可以使整個(gè)工作流程完全透明,包括從系統(tǒng)需求到生成的 HDL 代碼。

關(guān)于為FPGA和ASIC生成Verilog和VHDL代碼分析和應(yīng)用介紹

Simulink 中的 HDL 代碼生成報(bào)告,使您可以在模型與生成的 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 還可生成報(bào)告,幫助您確定 Simulink 模型和 MATLAB 代碼中不合適的結(jié)構(gòu),這樣您可以調(diào)整您的模型,使生成的 RTL 符合這些編碼指南。

HDL Coder 還可以生成第三方 lint 工具腳本,用于檢查您生成的 HDL 代碼。HDL Coder 自動(dòng)生成的代碼可通過多種行業(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)可訪問性和編碼問題

避免仿真和綜合語義之間的差異

避免在實(shí)現(xiàn)代價(jià)高昂的操作

避免下游工具流問題

遵循命名規(guī)則和RTL編碼習(xí)慣

強(qiáng) RTL 建模的清晰度并降低復(fù)雜性

增強(qiáng)對(duì)時(shí)鐘資源(時(shí)鐘、啟用、復(fù)位)和控制信號(hào)的檢查

支持代碼的可測(cè)性和可追溯性

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    942

    瀏覽量

    54836
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68625
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    389

    瀏覽量

    14866
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    VerilogASIC 設(shè)計(jì)的關(guān)系 Verilog 代碼優(yōu)化技巧

    VerilogASIC設(shè)計(jì)的關(guān)系 Verilog作為一種硬件描述語言(HDL),在ASIC設(shè)計(jì)中扮演著至關(guān)重要的角色。ASIC(Appli
    的頭像 發(fā)表于 12-17 09:52 ?118次閱讀

    Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    Verilog測(cè)試平臺(tái)設(shè)計(jì)方法是Verilog FPGA開發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的Verilog
    的頭像 發(fā)表于 12-17 09:50 ?217次閱讀

    VerilogVHDL的比較 Verilog HDL編程技巧

    VerilogVHDL 比較 1. 語法和風(fēng)格 VerilogVerilog 的語法更接近于 C 語言,對(duì)于有 C 語言背景的工程師來說,學(xué)習(xí)曲線較平緩。它支持結(jié)構(gòu)化編程,
    的頭像 發(fā)表于 12-17 09:44 ?151次閱讀

    FPGAASIC的區(qū)別 FPGA性能優(yōu)化技巧

    FPGAASIC的區(qū)別 FPGA(現(xiàn)場(chǎng)可編程門陣列)和ASIC(專用集成電路)是兩種不同的集成電路技術(shù),它們?cè)诙鄠€(gè)方面存在顯著的區(qū)別: FPGA
    的頭像 發(fā)表于 12-02 09:51 ?211次閱讀

    Verilog vhdl fpga

    相關(guān)專業(yè),具有良好的專業(yè)基礎(chǔ)知識(shí)。 感興趣可滴滴 JYHXDX534 2.工作年限不限,有工作經(jīng)驗(yàn)或優(yōu)秀應(yīng)屆畢業(yè)生亦可。 3.對(duì)FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL
    發(fā)表于 11-12 16:40

    如何自動(dòng)生成verilog代碼

    介紹幾種自動(dòng)生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?319次閱讀
    如何自動(dòng)<b class='flag-5'>生成</b><b class='flag-5'>verilog</b><b class='flag-5'>代碼</b>

    怎么樣提高verilog代碼編寫水平?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:怎么樣提高verilog代碼編寫水平?Cpu 從事DFT工作。目前僅限于寫一些簡(jiǎn)單模塊。自學(xué)的話如何提高verilog
    發(fā)表于 09-25 20:05

    FPGA Verilog HDL代碼如何debug?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:Verilog代碼如何debug?最近學(xué)習(xí)fpga,寫了不少verilog
    發(fā)表于 09-24 19:16

    FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL

    、計(jì)算機(jī)相關(guān)專業(yè),具有良好的專業(yè)基礎(chǔ)知識(shí)。 2.工作年限不限,有工作經(jīng)驗(yàn)或優(yōu)秀應(yīng)屆畢業(yè)生亦可。 3.對(duì)FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL編程語言,熟悉時(shí)序約束、時(shí)序
    發(fā)表于 09-15 15:23

    FPGA Verilog HDL有什么奇技巧?

    技巧或許可以被視為“奇技淫巧”,但需要注意的是,在實(shí)際應(yīng)用中應(yīng)遵循良好的代碼規(guī)范和設(shè)計(jì)原則: 利用 generate 語句生成重復(fù)的模塊或邏輯:可以根據(jù)條件動(dòng)態(tài)地生成電路結(jié)構(gòu),提高代碼
    發(fā)表于 09-12 19:10

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構(gòu)及應(yīng)用,熟悉圖像算法的FPGA實(shí)現(xiàn)。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開發(fā)工具。 3.有AI算法
    發(fā)表于 09-02 15:50

    VerilogVHDL轉(zhuǎn)換的經(jīng)驗(yàn)與技巧總結(jié)

    VerilogVHDL語法是互通且相互對(duì)應(yīng)的,如何查看二者對(duì)同一硬件結(jié)構(gòu)的描述,可以借助EDA工具,如Vivado,打開Vivado后它里面的語言模板后,也可以對(duì)比查看VerilogVHD
    的頭像 發(fā)表于 04-28 17:47 ?2496次閱讀
    <b class='flag-5'>Verilog</b>到<b class='flag-5'>VHDL</b>轉(zhuǎn)換的經(jīng)驗(yàn)與技巧總結(jié)

    基于FPGA設(shè)計(jì)頻率計(jì)方案介紹分享

    內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無關(guān),便于保護(hù)IP核,個(gè)性化的圖形界面和用戶接口,用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是FPGA/ASIC設(shè)計(jì)的首選仿真軟件。 主要特點(diǎn): ?
    發(fā)表于 03-31 16:22

    # FPGA 編程如何工作?

    運(yùn)行 FPGA 的設(shè)計(jì)主要使用硬件描述語言 (HDL) 進(jìn)行編碼,例如 SystemVerilog、VerilogVHDL。 =#1.= Verilog 如果您想用幾行
    發(fā)表于 03-30 11:50

    到底什么是ASICFPGA

    的,可以考慮FPGAASIC,能省則省。 最后的話 關(guān)于CPU、GPU、FPGAASIC的知識(shí),就
    發(fā)表于 01-23 19:08