Xilinx的ROM的IP核产生的.coe文件的格式如下:
MEMORY_INITIALIZATION_RADIX = RADIX ;
MEMORY_INITIALIZATION_VECTOR =VECTOR ;
RADIX为数据进制类型,包括十进制、二进制、十六进制。
VECTOR为数据,数据以","为间隔进行分开,最后以"; "结尾。
下面用matlab产生IP核需要的.coe文件:
以采样率为20MHz,频率为625KHz的正弦波形为例,产生一个周期的波形文件,
波形如下所示:
然后产生.coe文件,
matlab代码如下:
fs = 20e6; %采样率
fc=0.625e6;
t_n=0:1/fs:1/fc-1/fs;
st=sin(2*pi*fc*t_n);
n=length(st);
N_ADC=14; %AD的数据宽度;
M_ADC=n; %rom的数据深度
%% 产生coe文件
fid = fopen('sin_rom_.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION