在使用ROM或RAM的IP核时,会写入coe文件。coe文件编写是有一定格式,以此博客为一个记录。
coe文件编写格式如下:
MEMORY_INITIALIZATION_RADIX = X;
MEMORY_INITIALIZATION_VECTOR= a,b,c,……;
其中RADIX指进制,即X=10的话,那么VECTOR的值就不能出现‘十六进制的A,B,C等’。
其中coe文件可以利用Matlab产生,在Matlab中产生coe文件的方法是:
首先利用Matlab打开一个文件语法至一个变量,方法是:
Filed = fopen(‘xxx.coe’,’wt’)
,
“xxx.coe”是文件名,‘wt’是指以文本格式写入。
其次,写入coe文件开头,方法是:
fprintf(Filed ,’%s\n’,’MEMORY_INITIALIZATION_RADIX = X;’);
fprintf(Filed ,’%s\n’,’MEMORY_INITIALIZATION_VECTOR =’);
这样coe文件的开头就写完了。写入数据的话可以采用for循环将数据写入,例如我想写入coe文件1024个数据。该数据是0~1023,将这1024个数据写入coe文件可以如此操作。
for i=0:1023
if i=1023
fprintf(Filed ,’%d’,i);
fprintf(Filed ,’%s\n’,’;’);
else
fprintf(Filed ,’%d’,i);
fprintf(Filed ,’%s\n’,’,’);
end
end
这样利用Matlab就将数据写入coe文件中。
该博客只是学习记录,如果有问题欢迎指出。