<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

FPGA學習:使用matlab和ISE 創建并仿真ROM IP核

FPGA學習交流 ? 2018-10-25 20:20 ? 次閱讀

大家好,又到了每日學習的時間了,今天我們來聊一聊使用matlab和ISE 創建并仿真ROM IP核。本人想使用簡單的中值濾波進行verilog相關算法硬件實現,由于HDL設計軟件不能直接處理圖像,大部分過程都是可以將圖像按照一定的順序保存到TXT文檔中,經過Modelsim仿真后,處理的數據再經過matlab顯示圖像;圖像首先通過matlab或者C語言保存在TXT文檔中,生成測試向量文件,然后在仿真軟件中進行仿真處理,把處理后的數據保存為TXT格式,最后用matlab顯示,觀察結果。一般都是先創建MIF文件,將圖像中的像素信息用一個ROM儲存起來,然后調用ROM里面的地址進行處理,相當于制作了一個ROM查找表。

Quartus II創建并仿真ROM的步驟:
1.在Quatus工程下生成一個ROM
2.編寫.mif文件,作為ROM的初始化文件
3.將.mif文件拷貝到Modelsim工程下
4.進行Modelsim仿真


圖像保存的步驟:
1.使用matlab將圖像生成txt文。
115840k6zpqb9d557du67d.png


2.創建mif文件(Memory Initialization File):使用mif生成器、C語言或者matlab語言來生成;選擇直接使用matlab生成mif文件gray_image.mif;
115841lc18bybom8z8qyyj.png


生成的mif文件如下圖所示:
115851r00xnfnuxinxcx1l.png


3.調用mif文件生成ROM(verilog文件即.v文件)

使用Xilinx創建并仿真ROM的步驟:
1.編寫.coe文件,作為ROM的初始化文件,.coe文件的格式和內容如代碼所示:
120349enb9gzgukbl5gnnl.png


2.生成的.coe文件格式如下圖所示:
120521hvsmm3a3b1dvr38b.png

3.使用Xilinx中的Core Generator完成ROM的例化(生成的.coe文件的圖像數據是一行行進行讀取的)。打開ISE,右鍵單擊New Source,如下圖所示:
120521u00xajh3s066zhx3.png


單擊之后選擇IP_Core_Generator,
120522exgk3hgdecerrdjj.png


單擊Next選項,選擇Memories&Storage Elements->RAMs&ROMs->,選擇塊式存儲或者分布式存儲(這里根據存儲數據的大小進行選擇,較小的可以選擇塊式存儲)。
120817zrgzdwww20n9a0ww.png


點擊Next,然后Finish。然后就出現了下面的界面,一直點擊Next進行ROM屬性的一些設置,直至完成:
120817crxs27r5ztx7kruf.png



120818spx06pra6gp6a7vn.png


然后就要選擇所需要的ROM的大?。?br />120818ha3aj1eca3d32a0a.png



120818wip5g1ppdsrefeec.png

portA 表示輸出要不要時鐘打拍輸出,這個是在mux里實現的; 在添加初始化文件的時候,將之前matlab生成的.coe文件添加到ROM IP核中去。
121109hsps5srcs8tc3vp5.png


121110tz9ep2apan8x9tfm.png



一直next下去,就可以得到初始化好的ROM IP核,可以在./ipcore_dir目錄下查看ROM文件,從而可以在頂層模塊中對ROM進行例化。
121110ngfie9qpz4c0hz1e.png


生成的ROM文件的輸入輸出變量如下:
121319kapzsxuxpjpsyqyf.png


在頂層模塊中對ROM進行例化如下:
121319nfpplkjjo5jjokgu.png


4.使用CoreGenerator完成ROM的例化后會生成一個.mif文件,這是Modelsim進行ROM仿真時需要的初始化文件,將.mif文件復制到Modelsim工程下進行仿真。

5.查看ROM模塊中的初始化數據,雙擊Rom模塊,出現如下圖的界面,點擊show按鈕,即可查看數據;




各位,加油!
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1606

    文章

    21344

    瀏覽量

    594174
收藏 人收藏

    評論

    相關推薦

    關于FPGA IP

    對于深入學習使用FPGA的小伙伴們,特別是一些復雜的、大規模的設計應用,適宜的IP核對開發能起到事半功倍的作用。IP的概念與我們sdk里庫
    發表于 04-29 21:01

    利用ISEMatlab創建仿真FPGA設計中的ROM IP

    一般都是先創建MIF文件,將圖像中的像素信息用一個ROM儲存起來,然后調用ROM里面的地址進行處理,相當于制作了一個ROM查找表。
    發表于 04-16 11:49 ?138次閱讀
    利用<b class='flag-5'>ISE</b>與<b class='flag-5'>Matlab</b><b class='flag-5'>創建</b>并<b class='flag-5'>仿真</b><b class='flag-5'>FPGA</b>設計中的<b class='flag-5'>ROM</b> <b class='flag-5'>IP</b>核

    仿真?

    #2024,為FPGA生態加油,為FPGA社區點贊#...使用IP時如何進行modelsim仿真
    發表于 02-02 20:22

    如何使用MATLABMATLAB Parallel Server擴展整車仿真呢?

    使用 MATLAB 和 Simulink 設計和構建 Rivian 車輛仿真界面平臺幫助我們實現了關鍵目標。我們為工程師和非工程師創建了統一平臺,用于運行整車仿真、后處理結果和
    的頭像 發表于 01-10 18:22 ?855次閱讀
    如何使用<b class='flag-5'>MATLAB</b>和<b class='flag-5'>MATLAB</b> Parallel Server擴展整車<b class='flag-5'>仿真</b>呢?

    值得多看的FPGA 學習路線

    時序和面積的約束、各個階段的仿真等等。我們至少應該知道,為什么需要這些步驟,每個步驟都完成了什么功能。 FPGA入門學習第三部分:開發工具 FPGA開發工具的使用也是入門
    發表于 01-02 23:03

    AD9683的引腳如何與zynq 7015芯片中的JESD204 ip端口對應相連?

    目前,我在設計中想使用ZYNQ 7015系列的FPGA,利用JESD204 IP接收A/D轉換器AD9683轉換完成后的數據。但是JESD204 IP
    發表于 12-15 07:14

    FPGAIP學習的正確打開方式

    的情況時,總會遇到一些以前未曾接觸過的新內容,這些新內容會讓我們感到陌生和恐懼,不知道該如何下手。 那么今天以xilinx vivado 為例分享學習FPGAIP的正確打開方式
    發表于 11-17 11:09

    Xilinx FPGA IP之Block Memory Generator仿真

    上文對BMG ip的基本情況進行了簡單的描述,本文通過例化仿真來實際使用功能一下這個IP。
    的頭像 發表于 11-14 18:24 ?832次閱讀
    Xilinx <b class='flag-5'>FPGA</b> <b class='flag-5'>IP</b>之Block Memory Generator<b class='flag-5'>仿真</b>

    使用MATLAB Simulink和HDL編碼器創建自定義IP--AWB

    自動白平衡模塊的設計是使用 HDL Coder 在 MATLAB 和 Simulink 中創建的。HDL Coder能夠生成 HDL 文件,這些文件可以作為 IP 在我們的目標 FPGA
    的頭像 發表于 11-13 09:27 ?604次閱讀
    使用<b class='flag-5'>MATLAB</b> Simulink和HDL編碼器<b class='flag-5'>創建</b>自定義<b class='flag-5'>IP</b>--AWB

    XILINX FPGA IP之DDS Compiler_ip例化仿真

    之前的文章對dds ip 的結構、精度、參數、接口進行了詳細的說明,本文通過例化仿真對該IP的實際使用進行演示。本文例化固定模式和可配置模式兩種模式分別例化ip
    的頭像 發表于 09-07 18:31 ?1051次閱讀
    XILINX <b class='flag-5'>FPGA</b> <b class='flag-5'>IP</b>之DDS Compiler_<b class='flag-5'>ip</b>例化<b class='flag-5'>仿真</b>

    FPGA學習筆記:ROM IP核的使用方法

    ,一旦寫入不能再修改或刪除,斷電不丟失。我們知道FPGA只有RAM,因此事實上在 FPGA 中通過 IP 核生成的 ROM 或 RAM掉電內容都會丟失。用
    的頭像 發表于 08-22 15:06 ?2417次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>學習</b>筆記:<b class='flag-5'>ROM</b> <b class='flag-5'>IP</b>核的使用方法

    使用MATLAB和Simulink創建FPGA原型的最佳方法

    芯片設計和驗證工程師通常要為在硅片上實現的每一行RTL代碼寫出多達10行測試平臺代碼。驗證任務在設計周期內可能會占用50%或更多的時間。盡管如此辛 苦,仍有接近60%的芯片存在功能瑕疵,需要返工。由于HDL仿真不足以發現系統級錯誤,芯片設計人員正利用FPGA來加速算法
    的頭像 發表于 08-06 10:49 ?1239次閱讀
    使用<b class='flag-5'>MATLAB</b>和Simulink<b class='flag-5'>創建</b><b class='flag-5'>FPGA</b>原型的最佳方法

    基于FPGA的SoC創建方案

    LiteX 框架為創建 FPGA 內核/SoC、探索各種數字設計架構和創建完整的基于 FPGA 的系統提供了方便高效的基礎架構。
    發表于 06-28 09:08 ?498次閱讀
    基于<b class='flag-5'>FPGA</b>的SoC<b class='flag-5'>創建</b>方案

    Xlinx IP Core實現FFT變換——為什么你的matlab數據無法嚴格比對?

    嘗試輸出數據到狀態通道但無法輸出時拉高。只在Non-Realtime 模式下有效。 2.IP設置 以配置一個可更改變換點數的FFT IP 為目標,具體說明各個部分。 創建工程、添
    發表于 06-19 18:34

    FPGA零基礎學習之Vivado-ROM使用教程

    說,上貨。 ROM使用教程 ROM的英文全稱為Read-Only Memory,即只讀存儲器??梢詮娜我獾刂飞献x取數據,但是不能寫入。那么我們ROM中的數據,就需要我們提前存放進去,在
    發表于 06-15 16:57
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>