MATLAB生成.coe文件和.mif文件代码示例

.coe文件和.mif文件分别是XILINX和ALTERA用来初始ROM的文件
生成.coe文件的代码如下:

clear all;
close all;
clc;

BASE_FREQ = 450000000;
CARRIER = 90000000;
BAND = 50000;

fid_s = fopen('fm_tx_rom.coe', 'wt');
fprintf(fid_s, '%s\n', 'MEMORY_INITIALIZATION_RADIX = 16;');
fprintf(fid_s, '%s\n', 'MEMORY_INITIALIZATION_VECTOR =');

for (i=1:256)
    freq_wish = CARRIER + BAND*(i-1)/256;
    divider = BASE_FREQ / freq_wish;
    m=(divider-4)/(5-divider); 
    fprintf(fid_s, '%d', round(m));
    fprintf(fid_s, '%s', ',');
end
fclose(fid_s);
disp('===================转换完成=========================');

生成.mif文件的代码如下:

clear all;
close all;
clc;

BASE_FREQ = 450000000;
CARRIER = 90000000;
BAND = 50000;

fid_s = fopen('fm_tx_rom.mif', 'wt');
fprintf(fid_s, '%s\n', 'DEPTH = 256;');
fprintf(fid_s, '%s\n', 'WIDTH =16;');
fprintf(fid_s, '%s\n', 'ADDRESS_RADIX = UNS;');%UNS表示为十进制
fprintf(fid_s, '%s\n', 'DATA_RADIX = UNS;');
fprintf(fid_s, '%s\n', 'CONTENT BEGIN');

for (i=1:256)
    freq_wish = CARRIER + BAND*(i-1)/256;
    divider = BASE_FREQ / freq_wish;
    m=(divider-4)/(5-divider); 
    fprintf(fid_s, '%03d', i-1);
    fprintf(fid_s, '%s', ' : ');
    fprintf(fid_s, '%d', round(m));
    fprintf(fid_s, '%s\n', ';');
end
fclose(fid_s);
disp('===================转换完成=========================');
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值