.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)隔開(kāi)數(shù)據(jù),分毫表示結(jié)束。
小結(jié):
① .coe文件的前兩行的開(kāi)頭格式是固定的,不能改變的
② 所存儲(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文件中寫(xiě)入數(shù)據(jù) fclose(fid); %關(guān)閉.coe文件
注意,windows中換行符可能是/r/n
再編輯.coe文件,推薦使用notepad++打開(kāi),并:
① 在前兩行添加:
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中打開(kāi)所生成的ROM IP核,再打開(kāi)*.v文件,如下圖所示:

復(fù)制該文件中的調(diào)用語(yǔ)句:
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文章
579瀏覽量
89114 -
存儲(chǔ)數(shù)據(jù)
+關(guān)注
關(guān)注
0文章
90瀏覽量
14471 -
Vivado
+關(guān)注
關(guān)注
19文章
857瀏覽量
71149
發(fā)布評(píng)論請(qǐng)先 登錄
基于AXI DMA IP核的DDR數(shù)據(jù)存儲(chǔ)與PS端讀取
使用AXI4接口IP核進(jìn)行DDR讀寫(xiě)測(cè)試
Windows環(huán)境下用Vivado調(diào)試E203
VDMA IP核簡(jiǎn)介
vcs和vivado聯(lián)合仿真
Vivado浮點(diǎn)數(shù)IP核的握手信號(hào)
Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn)
ram ip核的使用
FPGA利用DMA IP核實(shí)現(xiàn)ADC數(shù)據(jù)采集
VIVADO自帶Turbo譯碼器IP核怎么用?
vivado IP核cordic中sin和cos的計(jì)算
一文詳解Video In to AXI4-Stream IP核
Vivado 如何調(diào)用ROM IP核
評(píng)論