吴忠躺衫网络科技有限公司

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

Xilinx System Generator for DSP紀事—RTL設計的生成

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀

注:本文轉(zhuǎn)自賽靈思中文社區(qū)論壇,源文鏈接在此。本文原作者為XILINX工程師

以下為個人譯文,僅供參考,如有疏漏之處,還請不吝賜教。

本篇博文是面向希望學習 Xilinx System Generator for DSP 入門知識的新手的系列博文第一講。

其中提供了有關執(zhí)行下列操作的分步操作方法指南:

  • 使用 Xilinx System Generator 塊集合對用戶算法進行建模
  • 對設計進行仿真并以可視化方式直觀展示輸入/輸出以驗證設計
  • 為設計生成測試激勵文件、測試矢量和 RTL (VHDL/Verilog) 代碼

Xilinx System Generator for DSP 可為基于模型的設計與系統(tǒng)集成平臺提供模塊框圖環(huán)境,以支持將 DSP 系統(tǒng)的 RTL、Simulink?、MATLAB? 和 C/C++ 組件整合到面向賽靈思 FPGA 器件的單一仿真和實現(xiàn)環(huán)境中。

它包含一個已預定義并預優(yōu)化的開箱即用的塊集合,可用于對算法進行建模、仿真和分析,并生成測試激勵文件、測試矢量以及 HDL 代碼,從而加速 FPGA 開發(fā)。

System Generator 支持針對以下編譯目標生成自動代碼 (Automatic Code):

  • HDL 網(wǎng)表
  • IP 目錄
  • 已綜合的檢查點
  • 硬件協(xié)同仿真

配置 MATLAB

首先,我們需要安裝 MATLAB 并對 MATLAB 進行相應配置,確保它可配合 Vivado Design Suite 一起使用。

具體操作如下:

在 Windows 上:

以管理員身份打開“開始 >(所有)程序 > Xilinx Design Tools > Vivado 2019.x > System Generator > System Generator 2019.x MATLAB Configurator”。

出現(xiàn) MATLAB 配置窗口后,勾選相應版本的 MATLAB 對應的復選框。

單擊“Apply”,然后單擊“OK”。

poYBAGIMpmOAO2CpAABsF9ltLr0664.png

Linux 上:

請確保可在 Linux 系統(tǒng)的 $PATH 環(huán)境變量中找到 MATLAB 可執(zhí)行文件。

Linux 下的 System Generator 是使用名為“sysgen”的 shell 腳本處理的,此腳本位于 /bin 目錄中。

本實踐教程操作步驟如下:

本篇博文是面向希望學習 Xilinx System Generator for DSP 入門知識的新手的系列博文第一講。

其中提供了有關執(zhí)行下列操作的分步操作方法指南:

1. 使用 Xilinx System Generator 塊集合對用戶算法進行建模
2. 對設計進行仿真并以可視化方式直觀展示輸入/輸出以驗證設計
3. 為設計生成測試激勵文件、測試矢量和 RTL (VHDL/Verilog) 代碼

實踐教程將按以上指定的編譯目標順序予以展示。

步驟 1:遵循以下對應于您的操作系統(tǒng)的步驟調(diào)用 System Generator:

  • 在 Windows 系統(tǒng)上,選擇“開始 >(所有)程序 > Xilinx Design Tools > Vivado 2019.x >System Generator > System Generator 2019.x”
  • 在 Linux 系統(tǒng)上的命令提示符處輸入 sysgen

此步驟將打開包含 System Generator 塊集合的 MATLAB 會話。

如以下截屏所示:

pYYBAGIMpmSASYFWAAIc874x8ZU549.png

步驟 2:將工作目錄更改為包含創(chuàng)建的 Sysgen 模型的任意本地目錄。

單擊位于 MATLAB 窗口右上角的 Simulink 圖標。

這樣將打開 Simulink Start Page:

pYYBAGIMpmaAVpYjAAJNrravNTM873.png

步驟 3:單擊 Simulink 下拉選項的“Blank model”圖標。

這樣將打開空白或“Untitled”模型,其中包含空白的模型畫布。

poYBAGIMpmeABytyAACnlWyLnTg301.png

步驟 4:單擊“Untitled”模型窗口中的“Library browser”圖標以便在“Simulink Library Browser”窗口中查看賽靈思塊集合。

單擊并展開“Xilinx Blockset”菜單,以查看不同類別的塊。單擊“Basic elements”類別,以查看基本 sysgen 塊,如下所示:

pYYBAGIMpmmAAwWzAAJu7jnbaHM339.png

步驟 5:右鍵單擊并選擇“Add block to model”(Ctrl+I) 選項將 System Generator 標識塊添加到模型中以定義 FPGA 技術(shù)。

以同樣方式添加“Gateway In”和“Gateway Out”塊,以定義設計的 System Generator 部分與 Simulink 部分之間的界限。

注:任何模型都必須包含這些必需的塊。每個模型都必須至少包含 1 個 System Generator 塊,可包含多個“Gateway In”和“Gateway Out”塊,具體取決于設計的輸入和輸出。

poYBAGIMpmuAWae1AAEmlPpOtgQ228.png

此處演示的是添加乘累加 (Mult-add) 運算的建模過程,因此我們需要將“Mult”、“AddSub”和“Delay”塊添加到模型中。

步驟 6:選中“Xilinx Blockset”下的“Floating-Point”類別中的“AddSub”塊,右鍵單擊,然后單擊“Add block to model”選項。

pYYBAGIMpm2AIrxTAAFGtyMfaaA399.png

步驟 7:以同樣方式選中“Xilinx Blockset”下的“Floating-Point”類別中的“Mult”塊和“Basic Elements”類別下的“Delay”塊,并將這兩個塊添加到模型中。

這樣模型將如下圖所示:

pYYBAGIMpm6AGk6WAADJgmQiwsU017.png

步驟 8:現(xiàn)在,添加 3 個“Constant”塊實例,此“Constant”塊可在“Simulink Library Browser”的“Simulink”塊集合下的“Sources”類別中找到:

poYBAGIMpm-ATYuVAAEePJQfU9E400.png

以同樣方式添加來自“Simulink”塊集合下的“Sinks”類別的“Display”塊。

這些塊用作為 System Generator 設計的激勵塊。

步驟 9:按住鼠標左鍵并繪制一條從源端口到目標端口的線,以將塊連接在一起。

完整的模型將如下所示:

poYBAGIMpnGABzkzAAEAnQeKIYs518.png

步驟 10:雙擊“Gateway In”塊以打開“Properties Editor”,根據(jù)塊 GUI 中的“Output type”和“Sample period”下的輸入值來設置輸入數(shù)據(jù)類型,然后單擊“OK”。

針對其他輸入重復該過程:

pYYBAGIMpnKAHlreAAFiCwBsggY287.png

步驟 11:雙擊 System Generator 標識以更改系統(tǒng)和仿真參數(shù)。

確保“clocking”選項卡下的“Simulink system period”與“Gateway In”塊的樣本周期相同。

“FPGA clock period”應為“Simulink system period”的整數(shù)倍。

單擊“OK”。

pYYBAGIMpnOARY8RAAGTdFiOmMM923.png

步驟 12:單擊模型工具欄上的保存按鈕、為其提供有效的名稱,然后單擊“Save”以保存設計(在步驟 3-9 間可隨時執(zhí)行此步驟)。

步驟 13:單擊“Run”按鈕以對模型進行仿真并驗證輸出:

poYBAGIMpnWAGempAAEyAW04drI063.png

步驟 14:雙擊 System Generator 標識,確保:

  • “Compilation”已設置為“HDL Netlist”
  • “Target directory”選項設置為包含所生成 RTL 代碼的任意有效目錄(在此示例中目錄為 netlist)
  • 已選中“Compilation”選項卡上的“Create testbench”選項

對于其他選項,保留默認設置。

現(xiàn)在,單擊“Apply”,然后單擊“Generate”按鈕。

poYBAGIMpnaAFX9HAAHLYjmPSuc851.png

注:System Generator 標識充當用于控制系統(tǒng)和仿真參數(shù)的控制面板,并且還可用于調(diào)用代碼生成器。

步驟 15:代碼生成過程開始后,就會彈出狀態(tài)窗口,如下所示:

pYYBAGIMpniAdy4kAAGXBP471eA014.png

步驟 16:代碼生成完成后,狀態(tài)窗口將通知您代碼生成過程已完成。

poYBAGIMpnaAFX9HAAHLYjmPSuc851.png

在此處截屏中所示的示例中,System Generator 已成功生成 Kintex-7 xc7k325t-3fbg676 器件的 VHDL RTL 設計,包括測試矢量和測試激勵文件。

現(xiàn)在,請啟動 Vivado,打開“netlist/hdl_netlist/Multadd_test.xpr”文件,然后按下文中詳述的步驟運行 Vivado 流程:

Vivado 設計輸入紀事 - RTL 設計輸入


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

    關注

    554

    文章

    8059

    瀏覽量

    350413
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59948
收藏 人收藏

    評論

    相關推薦

    SRIO介紹及xilinx的vivado 2017.4中生成srio例程代碼解釋

    1. 概述 本文是用于記錄srio的學習情況,以及一些對xilinx的vivado 2017.4中生成srio例程代碼的解釋。 2. 參考文件 《pg007_srio_gen2》 3. SRIO協(xié)議
    的頭像 發(fā)表于 12-10 16:24 ?751次閱讀
    SRIO介紹及<b class='flag-5'>xilinx</b>的vivado 2017.4中<b class='flag-5'>生成</b>srio例程代碼解釋

    Xilinx_Vivado_SDK的安裝教程

    I Agree,然后點擊 Next: 選擇 Vivado HL System Edition(一般選擇這個設計套件比較完整,它比 Vivado HL Design Edition 多了一個 System Generator f
    的頭像 發(fā)表于 11-16 09:53 ?1645次閱讀
    <b class='flag-5'>Xilinx</b>_Vivado_SDK的安裝教程

    FIFO GeneratorXilinx官方手冊

    FIFO作為FPGA崗位求職過程中最常被問到的基礎知識點,也是項目中最常被使用到的IP,其意義是非常重要的。本文基于對FIFO GeneratorXilinx官方手冊的閱讀與總結(jié),匯總主要知識點
    的頭像 發(fā)表于 11-12 10:46 ?712次閱讀
    FIFO <b class='flag-5'>Generator</b>的<b class='flag-5'>Xilinx</b>官方手冊

    system verilog語言簡介

    ICer需要System Verilog語言得加成,這是ICer深度的表現(xiàn)。
    發(fā)表于 11-01 10:44 ?0次下載

    RTL8192CU驅(qū)動

    RTL8192CU驅(qū)動,支持WINXP/7/10
    發(fā)表于 10-29 10:17 ?3次下載

    RTL8187L和802.11n

    RTL8187L和802.11n是兩種不同的無線技術(shù)和網(wǎng)絡標準,它們在實際應用中各有優(yōu)勢和局限性。 802.11n是一種無線網(wǎng)絡標準,它利用MIMO(多輸入多輸出)技術(shù),可以提供更高的數(shù)據(jù)傳輸速率
    發(fā)表于 08-24 14:23

    生成對抗網(wǎng)絡(GANs)的原理與應用案例

    相互競爭的神經(jīng)網(wǎng)絡——生成器(Generator)和判別器(Discriminator),實現(xiàn)了高效、靈活的數(shù)據(jù)生成能力。本文將從GANs的原理、核心算法、以及多個應用案例入手,深入探討這一前沿技術(shù)的內(nèi)涵與應用。
    的頭像 發(fā)表于 07-09 11:34 ?1320次閱讀

    ESP32連接RTL8201F芯片,網(wǎng)速自動協(xié)商失敗,無法通信怎么解決?

    RTL8201,設置好相關引腳索引號,編譯程序,下載后。 打印信息如下: I (10437) system_api: Base MAC address is not set I (10437
    發(fā)表于 07-01 08:24

    任意波形發(fā)生器中波形生成方法

    任意波形發(fā)生器(Arbitrary Waveform Generator,簡稱AWG)作為電子測試領域的重要工具,能夠生成各種復雜波形信號,以滿足不同的測試需求。在通信、音頻處理、雷達系統(tǒng)等領域
    的頭像 發(fā)表于 05-29 17:13 ?1060次閱讀

    rtl8367rb-cg數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《rtl8367rb-cg數(shù)據(jù)手冊.pdf》資料免費下載
    發(fā)表于 05-06 09:46 ?14次下載

    基于樹莓派5的RTL仿真體驗

    《基于樹莓派5的RTL仿真體驗》 對于FPGA或者RTL愛好者來講,樹莓派5開發(fā)板可以運行RTL仿真,仿真工具使用iverilog,波形工具使用gtkwave。為什么是這些?因為工具免費且對硬件性能
    發(fā)表于 04-30 17:35

    Vivado 使用Simulink設計FIR濾波器

    vivado工程 System Generator提供了幾種導入方法: 1、直接生成hdl網(wǎng)表文件。 生成的.v或.vhd文件直接例化
    發(fā)表于 04-17 17:29

    如何通過優(yōu)化RTL減少功耗

    對于功耗估算來說,架構(gòu)階段為時過早,物理設計階段為時已晚。有一種趨勢是在項目的RTL階段分析power hot spots。與后期分析相比,基于 RTL 的功耗分析更快、更容易執(zhí)行,迭代時間更短。
    的頭像 發(fā)表于 04-05 09:15 ?2288次閱讀
    如何通過優(yōu)化<b class='flag-5'>RTL</b>減少功耗

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片擁有多個系列和型號,以滿足不同應用領域的需求。以下是一些主要的Xilinx FPGA芯片系列及其特點。
    的頭像 發(fā)表于 03-14 16:24 ?3531次閱讀

    用cubemx配置時鐘生成LL庫的system clock函數(shù),導致硬件仿真時main函數(shù)無法進入怎么解決?

    用cubemx配置時鐘會生成的LL庫的system clock函數(shù)會有 LL_FLASH_SetLatency(LL_FLASH_LATENCY_5),while
    發(fā)表于 03-07 06:40
    百家乐必胜法| 金榜百家乐的玩法技巧和规则| 百家乐官网体育nba| 石首市| 瓮安县| 百家乐官网筹码素材| 真人百家乐官网信誉| 网上百家乐官网洗码技巧| 百家乐官网事电影| 金海岸百家乐官网娱乐城| 开百家乐官网骗人吗| 百家乐官网套利| 百家乐也能赢钱么| 网络百家乐打揽| 大发888娱乐场下载 官方| 南通热线棋牌中心| 武宣县| 百家乐官网职业赌徒的解密| 淘金百家乐官网的玩法技巧和规则 | 扑克王百家乐官网的玩法技巧和规则| 玩百家乐官网请高手指点| 百家乐试玩活动| 澳门百家乐的玩法技巧和规则| 威尼斯人娱乐城网址| 大发888游戏平台hplsj| 网上百家乐乐代理| 怎么看百家乐的路| 网络老虎机| 百家乐官网去哪里玩最好| 三星百家乐官网的玩法技巧和规则 | 属虎与属鼠做生意好吗| 最新百家乐双面数字筹码| 大发888游戏下载官方下载| 蒙特卡罗国际娱乐| 澳门百家乐官网技巧经| 赌博百家乐赢不了| 全讯网新2代理| 利高百家乐官网游戏| 大发百家乐官网的玩法技巧和规则| 蓝盾百家乐洗码| 百家乐菲律宾|