Xilinx FPGA使用——ROM初始化文件

在调用ROM的IP Core时,需要对其进行初始化,利用MATLAB生成其初始化数据文件。

工具:ISE 14.7、MATLAB、notepad++

废话不多说,直接上MATLAB代码,生成了一个1024个正余弦文本文件,有些细节不用管,是我后面涉及到FFT用到的东西。实际上只需要后面打开文件写入那几句代码即可。

clear all
clc
f_signal = 50*10^3;                %信号频率Hz
f_sample = 10^6;                   %采样频率Hz
T = 1/f_sample;      
data_length = 1024;
n = 0:data_length-1;
x = n/f_sample;
y1 = 1+cos(2*pi*f_signal*x);
y2 = 1+sin(2*pi*f_signal*x);
y1 = y1 * 32678;
y2 = y2 * 32678;
fid = fopen('F:Xilinxprojectdatacos_data1.txt','wt');
fprintf(fid,'%.0f 
',y1);
fclose(fid);
fid = fopen('F:Xilinxprojectdatasin_data1.txt','wt');
fprintf(fid,'%.0f 
',y2);
fclose(fid);

注意fprintf(fid,'%.0f ',y1); 中%.0f与 之间是有个空格的。

生成的数据如上图所示,每个数据后面紧跟一个”空格“,将其替换为”,“(半角逗号),将最后一个数据的”,“替换成”;“(半角分号)。然后在数据最上面增加两句:

memory_initialization_radix=10; 
memory_initialization_vector=

”10“代表十进制数,然后将文本后缀”.txt“,改为”.coe“,即为ROM初始化文件格式。然后在IP core生成器重添加该文件即可,注意如果文件格式有问题,在添加后会出现红色的提示文字,如果没有则代表添加的文件没问题。

原文地址:https://www.cnblogs.com/rouwawa/p/8423910.html