matlab生成任意长度余弦波coe文件以及vivado仿真

一、matlab生成任意长度余弦波coe文件

clear
clc
close all
width=32;   %rom的位宽
depth=3600; %rom的深度
x=linspace(0,2*pi,depth);  %在一个周期内产生3600个采样点
y_cos=cos(x);   %生成余弦数据
y_cos=round(y_cos*(2^(width-1)-1))+2^(width-1)-1;  %将余弦数据全部转换为整数
%y_cos=dec2hex(y_cos);
fid=fopen('C:\rom_coe\rom_cos_3600x32b.coe','w');  %创建.coe文件
% 写入 COE 文件头
fprintf(fid, 'memory_initialization_radix=16;\n');
fprintf(fid, 'memory_initialization_vector=\n');
for i = 1:length(y_cos)
  fprintf(fid,'%x',y_cos(i));  %向.coe文件中写入数据
  if i < length(x)
        fprintf(fid, ',');
    else
        fprintf(fid, ';');
  end
  fprintf(fid, '\n');
end
%关闭.coe文件
fclose(fid);  

二、Block RAM IP配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值