RM新时代网站-首页

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

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

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

講解MATLAB/Simulink HDL使用入門

OpenFPGA ? 來源:OpenFPGA ? 2023-11-06 09:12 ? 次閱讀

MATLAB / Simulink HDL 快速入門

我們將使用實(shí)例講解MATLAB / Simulink HDL 使用入門。

4a9a6a26-7c3c-11ee-939d-92fbcf53809c.jpg

開始這個項(xiàng)目,首先需要創(chuàng)建一個包含 Stateflow 的新 Simulink 。只需單擊畫布中的任意位置并開始輸入 Stateflow。

4aaddcdc-7c3c-11ee-939d-92fbcf53809c.png

此時(shí)應(yīng)該能在畫布上看到 Stateflow 圖標(biāo)。雙擊圖標(biāo)進(jìn)行編輯。

4ae653a0-7c3c-11ee-939d-92fbcf53809c.png

進(jìn)入圖表編輯器后,可以添加狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換。開始,我們創(chuàng)建兩種狀態(tài)并將它們命名為“idle”和“LED”。它們之間的轉(zhuǎn)換還沒有任何條件。

4afbf7e6-7c3c-11ee-939d-92fbcf53809c.png

要添加狀態(tài)轉(zhuǎn)換條件,可以雙擊轉(zhuǎn)換并輸入所需的條件。

4b0c76ca-7c3c-11ee-939d-92fbcf53809c.png

當(dāng)然,狀態(tài)機(jī)可以具有 Mealey 和 Moore 輸出,這些輸出作為當(dāng)前狀態(tài) (Moore) 或當(dāng)前狀態(tài)和輸入 (Mealey) 的函數(shù)出現(xiàn)。在本例中,將 LED 輸出聲明為 Moore 輸出,并在每個狀態(tài)下聲明。

4b161fd6-7c3c-11ee-939d-92fbcf53809c.png

最終的結(jié)果如下所示。

4b429e6c-7c3c-11ee-939d-92fbcf53809c.png

使用模型瀏覽器,我們可以定義狀態(tài)機(jī)的輸入和輸出。對于輸入,我們將它們保留為與 Simulink 相同的類型,但需要定義輸出。由于 LED 需要三位,因此我們使用類型 fixdt(0,3,0)。這意味著向量是三位寬、無符號的,并且沒有數(shù)字的小數(shù)元素。

4b4ff90e-7c3c-11ee-939d-92fbcf53809c.png

此外,在模型資源管理器中選中“初始化時(shí)執(zhí)行(輸入)圖表”選項(xiàng)。

4b57c77e-7c3c-11ee-939d-92fbcf53809c.png

導(dǎo)航到圖表上方的畫布。這里我們需要添加塊的 IO,我們還將添加延遲。在畫布中,開始輸入輸入或輸出以獲取所需的端口。

4b702242-7c3c-11ee-939d-92fbcf53809c.png

還可以通過雙擊輸入和輸出來命名端口,將其設(shè)置為正確的類型。

4b829d14-7c3c-11ee-939d-92fbcf53809c.png

將 sw_in 設(shè)置為與之前聲明的輸出類型相同的 fixdt(0,3,0)。我們使用延遲來添加寄存器。要添加額外的延遲,只需在畫布中鍵入即可。

4ba4be26-7c3c-11ee-939d-92fbcf53809c.png

要更改延遲的長度,雙擊延遲并將其更改為延遲 1。

4bb35742-7c3c-11ee-939d-92fbcf53809c.png

下圖顯示了完整的圖表。

4bd8a128-7c3c-11ee-939d-92fbcf53809c.png

現(xiàn)在我們可以將其生成 RTL,但首先我們將為它創(chuàng)建一個測試平臺。選擇畫布上的所有元素,右鍵單擊它,然后選擇從選擇創(chuàng)建子系統(tǒng)。

4be30b86-7c3c-11ee-939d-92fbcf53809c.png

添加階躍函數(shù)和常數(shù),設(shè)置子系統(tǒng)模塊中使用的模塊類型,并確保將離散采樣的采樣時(shí)間設(shè)置為 -1。

4bedd80e-7c3c-11ee-939d-92fbcf53809c.png

右鍵單擊感興趣的信號并選擇開始記錄所選信號。

4c065168-7c3c-11ee-939d-92fbcf53809c.png

打開模型資源管理器并將模型設(shè)置為具有固定步長的計(jì)時(shí)器的離散時(shí)間。

4c1bc020-7c3c-11ee-939d-92fbcf53809c.png

運(yùn)行模擬并打開數(shù)據(jù)檢查器。應(yīng)該能夠看到 SW_ENB 被置位,并且 LED 輸出在下一個時(shí)鐘后變高。

4c406cc2-7c3c-11ee-939d-92fbcf53809c.png

現(xiàn)在我們可以創(chuàng)建 HDL 并將其導(dǎo)出到 Vivado 中使用。我們可以通過右鍵單擊子系統(tǒng)并選擇為子系統(tǒng)生成 HDL 來完成此操作。

4c584ce8-7c3c-11ee-939d-92fbcf53809c.png

如果要更改任何生成的 HDL 代碼格式(即刪除時(shí)鐘啟用),需要從 HDL 代碼生成選項(xiàng)卡中選擇全局設(shè)置選項(xiàng)。

4c8e4852-7c3c-11ee-939d-92fbcf53809c.png

生成代碼后,將在生成代碼的 MATLAB 窗口中看到一條消息。

4c9af390-7c3c-11ee-939d-92fbcf53809c.png

然后可以將該 HDL 導(dǎo)入到 Vivado 項(xiàng)目中。生成的代碼本身實(shí)際上是可讀的,并且取決于我們對 Simulink 圖的注釋程度。例如,我可以命名狀態(tài)圖,這將反映在case語句名稱中。

生成三個 VHDL 文件:包含聲明的包、實(shí)現(xiàn)狀態(tài)機(jī)的實(shí)際源代碼以及頂級文件。

在 Vivado 中進(jìn)行綜合,最終設(shè)計(jì)需要三個觸發(fā)器和兩個 LUT。

4ca575cc-7c3c-11ee-939d-92fbcf53809c.png

當(dāng)然,這是一個簡單的示例,但能夠?qū)W習(xí)流程,以便可以將它用于更復(fù)雜的應(yīng)用程序。

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

    關(guān)注

    242

    文章

    23252

    瀏覽量

    660553
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2974

    瀏覽量

    230380
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    327

    瀏覽量

    47376
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    565

    瀏覽量

    24727
  • Simulink
    +關(guān)注

    關(guān)注

    22

    文章

    533

    瀏覽量

    62378

原文標(biāo)題:MATLAB / Simulink HDL 快速入門

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    專家支招:使用MATLABSimulink算法創(chuàng)建FPGA原型

    本文將介紹使用MATLABSimulink創(chuàng)建FPGA原型的最佳方法。這些最佳方法包括:在設(shè)計(jì)過程初期分析定點(diǎn)量化的效應(yīng)并優(yōu)化字長,產(chǎn)生更小、更高效的實(shí)現(xiàn)方案;利用自動HDL代碼生成功能,
    發(fā)表于 01-28 11:08 ?1.7w次閱讀
    專家支招:使用<b class='flag-5'>MATLAB</b>和<b class='flag-5'>Simulink</b>算法創(chuàng)建FPGA原型

    使用MATLAB SimulinkHDL編碼器創(chuàng)建自定義IP--AWB

    自動白平衡模塊的設(shè)計(jì)是使用 HDL Coder 在 MATLABSimulink 中創(chuàng)建的。HDL Coder能夠生成 HDL 文件,
    的頭像 發(fā)表于 11-13 09:27 ?1152次閱讀
    使用<b class='flag-5'>MATLAB</b> <b class='flag-5'>Simulink</b>和<b class='flag-5'>HDL</b>編碼器創(chuàng)建自定義IP--AWB

    初學(xué)者的MATLAB_Simulink翻譯

    MATLAB是現(xiàn)存最流行的仿真軟件。作為控制專業(yè)的學(xué)生,即使沒有用過也應(yīng)該聽過這個名字。這篇文章是為了做一個控制系統(tǒng)的仿真而使用MATLAB/Simulink這個軟件的。主要目的是給從來沒有使用過
    發(fā)表于 07-15 08:55

    電力系統(tǒng)的matlabsimulink仿真和GUI例子講解

    電力系統(tǒng)的matlabsimulink仿真和GUI例子講解這是感覺最好的資料
    發(fā)表于 06-14 09:02

    什么是MATLAB SIMULINK?Simulink有哪些應(yīng)用實(shí)例?

    什么是MATLAB SIMULINK?Simulink有哪些應(yīng)用實(shí)例?怎樣去設(shè)計(jì)一種Simulink電力電子控制系統(tǒng)?
    發(fā)表于 07-02 06:50

    Simulink軟件入門

    基礎(chǔ)部分 :Simulink入門視頻教程及其參考書籍+基于Simulink代碼生成技術(shù)視頻教程及其參考書籍此部分為Simulink基礎(chǔ)入門
    發(fā)表于 08-26 10:52

    淺析MATLABSimulink嵌入式視覺應(yīng)用

    嵌入式視覺是什么?嵌入式視覺是指將圖像處理和計(jì)算機(jī)視覺應(yīng)用到嵌入式系統(tǒng)。嵌入式視覺開發(fā)工作流程的主要環(huán)節(jié)包括視覺算法的算法設(shè)計(jì)、系統(tǒng)建模、協(xié)作和部署。工程師使用 MATLABSimulink
    發(fā)表于 12-04 08:00

    基于MatLab/Simulink的GPS系統(tǒng)仿真

    基于MatLab/Simulink的GPS系統(tǒng)仿真:快速可靠的GPS (全球定位系統(tǒng))系統(tǒng)仿真可對雙頻GPS 接收機(jī)的設(shè)計(jì)、接收算法的研究提供有效的幫助。文中詳細(xì)介紹了在MatLab/Simu
    發(fā)表于 02-08 14:55 ?112次下載

    電路實(shí)驗(yàn)與Matlab/Simulink仿真

    電路實(shí)驗(yàn)與Matlab/Simulink仿真:摘要:在探索和研究電路實(shí)驗(yàn)的改革創(chuàng)新過程中,分析電路實(shí)驗(yàn)存在的不足,對電路實(shí)驗(yàn)提出改進(jìn)的措施.提出采用工程軟件MatlabSimulink
    發(fā)表于 04-14 08:26 ?168次下載

    MathWorks推出基于MATLAB生成HDL代碼的產(chǎn)品

    MathWorks 近日宣布推出 HDL Coder,該產(chǎn)品 支持MATLAB 自動生成 HDL 代碼,允許工程師利用廣泛應(yīng)用的 MATLAB 語言實(shí)現(xiàn) FPGA 和 ASIC 設(shè)計(jì)。
    發(fā)表于 03-07 09:27 ?2160次閱讀
    MathWorks推出基于<b class='flag-5'>MATLAB</b>生成<b class='flag-5'>HDL</b>代碼的產(chǎn)品

    Matlab-Simulink教程集合(文檔)

    Matlab-Simulink教程集合【文檔】,大學(xué)學(xué)習(xí)Matlab基礎(chǔ)教材。
    發(fā)表于 08-23 16:46 ?0次下載

    Simulink仿真教程講解

    學(xué)習(xí)Matlab的同學(xué)可以看看Simulink仿真教程
    發(fā)表于 08-31 17:02 ?0次下載

    MATLAB教程之MATLAB語言的基礎(chǔ)知識及入門

    本文檔的主要內(nèi)容詳細(xì)介紹的是MATLAB教程之MATLAB語言的基礎(chǔ)知識及入門主要內(nèi)容包括了:1.MATLAB的發(fā)展歷程和影響,2.MATLAB
    發(fā)表于 01-04 14:55 ?0次下載
    <b class='flag-5'>MATLAB</b>教程之<b class='flag-5'>MATLAB</b>語言的基礎(chǔ)知識及<b class='flag-5'>入門</b>

    Matlab_Simulink仿真步驟講解

    本書重點(diǎn)介紹了MATLAB的矩陣運(yùn)算、符號運(yùn)算、圖形功能、控制系統(tǒng)分析與設(shè)計(jì)、SimuLink仿真等方面的內(nèi)容。
    發(fā)表于 04-20 16:09 ?64次下載

    Verilog HDL入門教程-Verilog HDL的基本語法

    Verilog HDL入門教程-Verilog HDL的基本語法
    發(fā)表于 01-07 09:23 ?179次下載
    RM新时代网站-首页