1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > MATLAB生成COE或MIF文件代码

MATLAB生成COE或MIF文件代码

时间:2018-09-14 06:51:02

相关推荐

MATLAB生成COE或MIF文件代码

MATLAB生成COE或MIF文件代码

网络上的各种代码写的不太规范或是不利于理解,故分享三个可以直接生成COE或MIF文件的matlba代码用于学习使用,深度为4096,位宽为8


以下分别是正余弦波形、三角波和矩形波COE文件生成代码。

一、COE文件与MIF文件

这两种文件都属于内存初始化文件,这种格式类似于ASCⅡ码的形式,可以直接进行编辑,容易生成。区别最大的地方在于头文件的不同。具体格式见下图, 同样是定义初始化数据格式(十进制、十六进制、无符号等),MIF文件另需定义位宽、深度、地址符号。

COE文件格式如下

memory_initialization_radix = 16;memory_initialization_vector = 00000000,00187DE2,002D413C,...

MIF文件格式如下

WIDTH = 32 ;DEPTH = 256 ;ADDRESS_RADIX = UNS ;DATA_RADIX = HEX ;CONTENT BEGIN0: 00000000;1: 00187DE2;. END;

二、代码可直接使用

1.正余弦

代码如下(以生成COE文件作示例):

%% sin-cos wave data write in coe fileclear all ;clc ;N = 4096 ;y = zeros(N , 1) ;for i = 1:1:N x = i ;%y(i,1) = ceil( 127*sin(x*2*pi/N) ) + 127 ;y(i,1) = ceil( 127*cos(x*2*pi/N) ) + 127 ;end plot(y);hold on;fid = fopen('cos_4096.coe','wt'); %- standard formatfprintf( fid, 'MEMORY_INITIALIZATION_RADIX = 10;\n'); fprintf( fid, 'MEMORY_INITIALIZATION_VECTOR =\n');%- write data in coe filefor i = 1:1:Nfprintf(fid,'%d,\n',y(i,1)); endfclose(fid);

2.三角波

代码如下(示例):

%% triangle wave data write in coe fileclear all ;clc ;N = 4096 ;y = zeros(N , 1) ;for i = 1:1:N if(i < 2049)y(i,1) = fix( (i/8) - 1 ) ;elsey(i,1) = fix( ((4096 - i )/8) ) ;endend plot(y);hold on;fid = fopen('triangle_4096.coe','wt'); %- standard formatfprintf( fid, 'MEMORY_INITIALIZATION_RADIX = 10;\n'); fprintf( fid, 'MEMORY_INITIALIZATION_VECTOR =\n');%- write data in coe filefor i = 1:1:Nfprintf(fid,'%d,\n',y(i,1)); endfclose(fid);

3.矩形波

代码如下(示例):

%% rectangle wave data write in coe fileclear all ;clc ;N = 4096 ;y = zeros(N , 1) ;for i = 1:1:N if(i < 2049)y(i,1) = 255 ;elsey(i,1) = 0 ;endend plot(y);hold on;fid = fopen('rectangle_4096.coe','wt'); %- standard formatfprintf( fid, 'MEMORY_INITIALIZATION_RADIX = 10;\n'); fprintf( fid, 'MEMORY_INITIALIZATION_VECTOR =\n');%- write data in coe filefor i = 1:1:Nfprintf(fid,'%d,\n',y(i,1)); endfclose(fid);

总结

这些是最基础最简单的代码,对于初学者来说一定要理解每一步的意义,便能根据任意需求便写出任意波形、深度、宽度的COE文件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。