前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用matlab生成sine波mif文件

使用matlab生成sine波mif文件

作者头像
FPGA开源工作室
发布2019-10-29 10:30:33
7720
发布2019-10-29 10:30:33
举报
文章被收录于专栏:FPGA开源工作室FPGA开源工作室

使用matlab生成sine波mif文件

在使用altera 的FPGA中的rom过程中常常会使用到.mif文件或.hex文件。对于初学者,无论mif还是hex都是很令人疑惑的东西,这里就对mif文件的格式及其创建做一点简单的说明。

Mif是memory initialization file 的缩写,中文意思就是存储器初始化文件。直接说就是给rom赋值的文件。下面使用一个简单的.mif文件举例:

width=14; %存储器的位宽 横向宽度

depth =1024; %存储器的深度 总共有多少个数据

address_radix=uns; %设置地址基值(实际就是地址用什么进制的数表示) 可以设为BIN(二进制),OCT(八进制),DEC(十进制),HEX(十六进制)

data_radix=dec; %同上

content begin %开始数据区

0:0; %地址:数据

1:29;

2:57;

3:86;

...

...

...

1023:16008;

end; %结束

Matlab源码:

clear all

close all

clc

t = [0:0.1:360];%输入范围0-90度,步长0.1度

x =pi*t/180;

sin_val = sin(x);

fid=fopen('E:\matlab_project\sin\sine.mif','wt');

fprintf(fid,'width=14;\n');

fprintf(fid,'depth =1024;\n');

fprintf(fid,'address_radix=uns;\n');

fprintf(fid,'data_radix=dec;\n');

fprintf(fid,'content begin\n');

for j=1:1024

i=j-1;

k=round(sin_val(j)*16384);

if(k==16384)

k=16383;

end

fprintf(fid,'%d:%d;\n',i,k);

end

fprintf(fid,'end;\n');

fclose(fid);

plot(sin_val);

结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档