.coe格式的數(shù)據(jù)文件簡介
在Vivado中,對rom進行初始化的文件是.coe文件.它的格式如下:
memory_initialization_radix=10; memory_initialization_vector = 65534, 65533, ..., 60211;
其中,memory_initialization_radix=10; 表示文件存儲數(shù)據(jù)的進制,10即為10進制,memory_initialization_vector是數(shù)據(jù)向量,等號后面的數(shù)字就是數(shù)據(jù)向量,使用逗號隔開數(shù)據(jù),分毫表示結(jié)束。
小結(jié):
① .coe文件的前兩行的開頭格式是固定的,不能改變的
② 所存儲的數(shù)據(jù)數(shù)量與大小是與設(shè)計rom的位寬和深度相對應(yīng)的
使用matlab生成.coe文件
以下面的程序為例,演示了生成位寬為16bit,深度為1024的rom生成初始化文件:
width=16; %rom的位寬 depth=1024; %rom的深度 x=linspace(0,2*pi,depth); %在一個周期內(nèi)產(chǎn)生1024個采樣點 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
① 在前兩行添加:
memory_initialization_radix=10; memory_initialization_vector =
② 將最后一行的逗號改為分號.
Vivado中ROM IP核的使用
① 在project manager選擇IP Catalog:
② 找到Block Memory Generator,并雙擊:
③ 在下面的界面中進行ROM的設(shè)置,在Other Options欄中設(shè)置剛剛設(shè)置好的.coe文件的位置,推薦將該文件放在工程目錄下面。并點擊OK,即可完成ROM的設(shè)置,成功會的結(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
-
ROM
+關(guān)注
關(guān)注
4文章
575瀏覽量
86073 -
存儲數(shù)據(jù)
+關(guān)注
關(guān)注
0文章
89瀏覽量
14157 -
Vivado
+關(guān)注
關(guān)注
19文章
815瀏覽量
66945
發(fā)布評論請先 登錄
相關(guān)推薦
基于FPGA的圖像邊緣檢測設(shè)計
![基于FPGA的圖像邊緣檢測設(shè)計](https://file1.elecfans.com/web3/M00/07/A4/wKgZPGepcwyAerFNAAAUSrBliuk737.jpg)
XADC IP核介紹
![XADC <b class='flag-5'>IP</b><b class='flag-5'>核</b>介紹](https://file1.elecfans.com/web3/M00/06/19/wKgZPGeHfcyAKHd6AAAovR3ohDs585.png)
ALINX發(fā)布100G以太網(wǎng)UDP/IP協(xié)議棧IP核
AMD Vivado Design Suite 2024.2全新推出
vivado導(dǎo)入舊版本的項目,IP核心被鎖。
芯驛電子 ALINX 推出全新 IP 核產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI IP 核
![芯驛電子 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>](https://file1.elecfans.com/web2/M00/0B/71/wKgaomch_neAR6kfAADEBVG6ueo794.png)
芯驛電子ALINX推出全新IP核產(chǎn)品線
![芯驛電子ALINX推出全新<b class='flag-5'>IP</b><b class='flag-5'>核</b>產(chǎn)品線](https://file1.elecfans.com/web2/M00/0B/6B/wKgaomchxt2ATOr9AAAnkO7zFDE930.png)
Xilinx DDS IP核的使用和參數(shù)配置
![Xilinx DDS <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用和參數(shù)配置](https://file1.elecfans.com/web1/M00/F3/B4/wKgZoWcbXXCATrZhAAAai_rONMA247.png)
關(guān)于FPGA IP核
如何利用Tcl腳本在Manage IP方式下實現(xiàn)對IP的高效管理
![如何利用Tcl腳本在Manage <b class='flag-5'>IP</b>方式下實現(xiàn)對<b class='flag-5'>IP</b>的高效管理](https://file1.elecfans.com/web2/M00/D5/7B/wKgaomYl5qOACDTNAAALZuhtbNA746.jpg)
Vivado 使用Simulink設(shè)計FIR濾波器
利用ISE與Matlab創(chuàng)建并仿真FPGA設(shè)計中的ROM IP核
![利用ISE與Matlab創(chuàng)建并仿真FPGA設(shè)計中的<b class='flag-5'>ROM</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>](https://file1.elecfans.com/web2/M00/C9/8E/wKgaomYd9YyAIpQRAAAu_w7iz_4862.png)
評論