直接正题:
1)matlab程序
%sin _mif
t=0:2*pi/(2^12):2*pi;%定义了正弦的精度,为12位,若需要其他精度的只需更改2^12为2^N为,N为你想要的位数
y1=2047*sin(t);%定义了幅度精度为12为有符号,若需要其他幅度的只需更改前面的幅度,需要无符号只需后面加上一个数
y3=round(y1);%这个是为了变成整形
y2=2047*cos(t);
y4=round(y2);
fid=fopen('data.txt','w');%写在txt文本中
for i=1:1:4096
fprintf(fid,'%d: %d;\n',i-1,y3(i));%这里只需要更改后一个d%以你需要的格式,比如说%d %f %e ,若需要浮点即为%tx
end
fprintf('\n');
for i=1:1:4096
fprintf(fid,'%d: %d;\n',i-1,y4(i));
end
fclose(fid);
这是nco中正弦和余弦的波表。
2)在quautus中新建连个mif文件,一个sin一个cos,定义12位宽,4096个,然后分别另存为。
3)mif文件用txt打开,将txt总的数据分别复制到mif文件相应位置,即“CONTENT BEGIN”和”END“之间,将DATA_RADIX=BIN改成UNS(根据你matlab中的格式改)UNS为无符号整形,HEX为浮点
至此波表文件搞定。easy!