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

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

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

Vivado 如何調(diào)用ROM IP核

454398 ? 來源:CSDN博主 ? 作者:TimeAmber ? 2020-11-20 15:01 ? 次閱讀

.coe格式的數(shù)據(jù)文件簡(jiǎn)介

在Vivado中,對(duì)rom進(jìn)行初始化的文件是.coe文件.它的格式如下:

memory_initialization_radix=10;
memory_initialization_vector =
65534,
65533,
...,
60211;

其中,memory_initialization_radix=10; 表示文件存儲(chǔ)數(shù)據(jù)的進(jìn)制,10即為10進(jìn)制,memory_initialization_vector是數(shù)據(jù)向量,等號(hào)后面的數(shù)字就是數(shù)據(jù)向量,使用逗號(hào)隔開數(shù)據(jù),分毫表示結(jié)束。

小結(jié):
① .coe文件的前兩行的開頭格式是固定的,不能改變的
② 所存儲(chǔ)的數(shù)據(jù)數(shù)量與大小是與設(shè)計(jì)rom的位寬和深度相對(duì)應(yīng)的

使用matlab生成.coe文件

以下面的程序?yàn)槔?,演示了生成位寬?6bit,深度為1024的rom生成初始化文件:

width=16;   %rom的位寬
depth=1024; %rom的深度
x=linspace(0,2*pi,depth);  %在一個(gè)周期內(nèi)產(chǎn)生1024個(gè)采樣點(diǎn)
y_cos=cos(x);   %生成余弦數(shù)據(jù)
y_cos=round(y_cos*(2^(width-1)-1))+2^(width-1)-1;  %將余弦數(shù)據(jù)全部轉(zhuǎn)換為整數(shù)

fid=fopen('C:/Users/Administrator/Desktop/cos_coe.coe','w');  %創(chuàng)建.coe文件
fprintf(fid,'%d,/n',y_cos);  %向.coe文件中寫入數(shù)據(jù)
fclose(fid);  %關(guān)閉.coe文件

注意,windows中換行符可能是/r/n

再編輯.coe文件,推薦使用notepad++打開,并:

① 在前兩行添加:

memory_initialization_radix=10;
memory_initialization_vector =

② 將最后一行的逗號(hào)改為分號(hào).

Vivado中ROM IP核的使用

① 在project manager選擇IP Catalog:

② 找到Block Memory Generator,并雙擊:

③ 在下面的界面中進(jìn)行ROM的設(shè)置,在Other Options欄中設(shè)置剛剛設(shè)置好的.coe文件的位置,推薦將該文件放在工程目錄下面。并點(diǎn)擊OK,即可完成ROM的設(shè)置,成功會(huì)的結(jié)果如下所示:

④ 完成上面的操作之后可以在工程文件中調(diào)用該ROM IP核,調(diào)用的方式是在IP Source中打開所生成的ROM IP核,再打開*.v文件,如下圖所示:

復(fù)制該文件中的調(diào)用語句:

module rom_data_i(clka, addra, douta)
/* synthesis syn_black_box black_box_pad_pin="clka,addra[16:0],douta[15:0]" */;
  input clka;
  input [16:0]addra;
  output [15:0]douta;
endmodule

模仿該格式就可以調(diào)用IP核。

編輯:hfy


聲明:本文內(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)投訴
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    575

    瀏覽量

    85821
  • 存儲(chǔ)數(shù)據(jù)

    關(guān)注

    0

    文章

    88

    瀏覽量

    14123
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    812

    瀏覽量

    66645
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ALINX發(fā)布100G以太網(wǎng)UDP/IP協(xié)議棧IP

    ALINX近日宣布,基于AMD 100G以太網(wǎng)MAC IP,成功開發(fā)出全新的100G以太網(wǎng)UDP/IP協(xié)議棧IP。該IP
    的頭像 發(fā)表于 01-07 11:25 ?167次閱讀

    AMD Vivado Design Suite 2024.2全新推出

    AMD Vivado Design Suite 2024.2 全新推出,使用 AMD Versal Adaptive SoC 進(jìn)行設(shè)計(jì)的重大改進(jìn)。此版本為 AMD Versal 自適應(yīng) SoC
    的頭像 發(fā)表于 11-22 13:54 ?304次閱讀

    vivado導(dǎo)入舊版本的項(xiàng)目,IP核心被鎖。

    vivado導(dǎo)入其他版本的項(xiàng)目的時(shí)候,IP被鎖,無法解開,請(qǐng)問該如何解決。 使用軟件:vivado 2019.2 導(dǎo)入項(xiàng)目使用版本:vivado
    發(fā)表于 11-08 21:29

    Vivado中FFT IP的使用教程

    本文介紹了Vidado中FFT IP的使用,具體內(nèi)容為:調(diào)用IP>>配置界面介紹>>IP
    的頭像 發(fā)表于 11-06 09:51 ?1109次閱讀
    <b class='flag-5'>Vivado</b>中FFT <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用教程

    如何選擇適合的ROM類型

    在現(xiàn)代電子設(shè)備和計(jì)算機(jī)系統(tǒng)中,ROM扮演著至關(guān)重要的角色。它用于存儲(chǔ)固件、操作系統(tǒng)、啟動(dòng)代碼以及其他重要的系統(tǒng)信息。隨著技術(shù)的發(fā)展,ROM的種類和特性也在不斷變化。 1. ROM的基本概念 R
    的頭像 發(fā)表于 11-04 10:04 ?450次閱讀

    芯驛電子 ALINX 推出全新 IP 產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI IP

    在創(chuàng)新加速的浪潮中,為更好地響應(yīng)客戶群需求, 芯驛電子 ALINX 推出全新 IP 產(chǎn)品線 ,致力于為高性能數(shù)據(jù)傳輸和復(fù)雜計(jì)算需求提供 高帶寬、低延遲 的解決方案。發(fā)布的第一批 IP
    的頭像 發(fā)表于 10-30 17:39 ?326次閱讀
     芯驛電子 ALINX 推出全新 <b class='flag-5'>IP</b> <b class='flag-5'>核</b>產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI <b class='flag-5'>IP</b> <b class='flag-5'>核</b>

    芯驛電子ALINX推出全新IP產(chǎn)品線

    在創(chuàng)新加速的浪潮中,為更好地響應(yīng)客戶群需求,芯驛電子 ALINX 推出全新 IP 產(chǎn)品線,致力于為高性能數(shù)據(jù)傳輸和復(fù)雜計(jì)算需求提供高帶寬、低延遲的解決方案。發(fā)布的第一批 IP 包括
    的頭像 發(fā)表于 10-30 11:53 ?264次閱讀
    芯驛電子ALINX推出全新<b class='flag-5'>IP</b><b class='flag-5'>核</b>產(chǎn)品線

    Xilinx DDS IP的使用和參數(shù)配置

    用RAM實(shí)現(xiàn)一個(gè)DDS,從原理上來說很簡(jiǎn)單,在實(shí)際使用的時(shí)候,可能沒有直接使用官方提供的IP來的方便。這個(gè)博客就記錄一下,最近使用到的這個(gè)DDS IP
    的頭像 發(fā)表于 10-25 16:54 ?1105次閱讀
    Xilinx DDS <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用和參數(shù)配置

    如何申請(qǐng)xilinx IP的license

    在使用FPGA的時(shí)候,有些IP是需要申請(qǐng)后才能使用的,本文介紹如何申請(qǐng)xilinx IP的license。
    的頭像 發(fā)表于 10-25 16:48 ?402次閱讀
    如何申請(qǐng)xilinx <b class='flag-5'>IP</b><b class='flag-5'>核</b>的license

    AMD Vivado Design Suite 2024.1全新推出

    AMD Vivado Design Suite 2024.1 可立即下載。最新版本支持全新 AMD MicroBlaze V 軟處理器,并針對(duì) QoR 和 Dynamic Function
    的頭像 發(fā)表于 09-18 09:41 ?518次閱讀

    FPGA的IP使用技巧

    FPGA的IP使用技巧主要包括以下幾個(gè)方面: 理解IP的概念和特性 : IP是指用硬
    發(fā)表于 05-27 16:13

    關(guān)于FPGA IP

    對(duì)于深入學(xué)習(xí)使用FPGA的小伙伴們,特別是一些復(fù)雜的、大規(guī)模的設(shè)計(jì)應(yīng)用,適宜的IP核對(duì)開發(fā)能起到事半功倍的作用。IP的概念與我們sdk里庫的概念相似。IP即電路功能模塊,用戶可以直接
    發(fā)表于 04-29 21:01

    如何利用Tcl腳本在Manage IP方式下實(shí)現(xiàn)對(duì)IP的高效管理

    Vivado下,有兩種方式管理IP。一種是創(chuàng)建FPGA工程之后,在當(dāng)前工程中選中IP Catalog,生成所需IP,這時(shí)相應(yīng)的IP會(huì)被自動(dòng)
    的頭像 發(fā)表于 04-22 12:22 ?849次閱讀
    如何利用Tcl腳本在Manage <b class='flag-5'>IP</b>方式下實(shí)現(xiàn)對(duì)<b class='flag-5'>IP</b>的高效管理

    Vivado 使用Simulink設(shè)計(jì)FIR濾波器

    領(lǐng)域都有著廣泛的應(yīng)用。 Vivado自帶的FIR濾波器IP已經(jīng)很好用,這里借FIR濾波器的設(shè)計(jì),介紹Simulink圖形設(shè)計(jì)編程方法。Simulink可以使設(shè)計(jì)更直觀,使硬件資源得到更為高效的利用
    發(fā)表于 04-17 17:29

    利用ISE與Matlab創(chuàng)建并仿真FPGA設(shè)計(jì)中的ROM IP

    一般都是先創(chuàng)建MIF文件,將圖像中的像素信息用一個(gè)ROM儲(chǔ)存起來,然后調(diào)用ROM里面的地址進(jìn)行處理,相當(dāng)于制作了一個(gè)ROM查找表。
    發(fā)表于 04-16 11:49 ?627次閱讀
    利用ISE與Matlab創(chuàng)建并仿真FPGA設(shè)計(jì)中的<b class='flag-5'>ROM</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>