Vivado基于Rom IP核查找表生成cos、sin波形的方法

一、MATLAB生成sin,cos的数据文件

构造256点的正余弦表,分别得到 cos和sin的查找表

matlab代码: 求sin

fid = fopen('sin.txt','a' );
str1 = 'MEMORY_INITIALIZATION_RADIX=10;';
str2 = 'MEMORY_INITIALIZATION_VECTOR=';
fprintf(fid,'\t%s\n \t%s\n', str1,str2);
for k=1:256;
y(k) =sin(2*pi*k/256);
y(k) = int16(y(k)*2^15); %这一步主要是考虑是表中数据的格式Q(s,16,15).
fprintf(fid,'\t%d%c\n',y(k),',');
end
fclose(fid);


matlab代码:求cos

fid = fopen('cos.txt','a' );
str1 = 'MEMORY_INITIALIZATION_RADIX=10;';
str2 = 'MEMORY_INITIALIZATION_VECTOR=';
fprintf(fid,'\t%s\n \t%s\n', str1,str2);
for k=1:256;
y(k) =cos(2*pi*k/256);
y(k) = int16(y(k)*2^15);
fprintf(fid,'\t%d%c\n',y(k),',');
end
fclose(fid);

二、Vivado实现

源文件:

module rom(                     
input clk,                         
input rst,     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值