1、任意波形
首先参考之前写过的ip_rom这篇文章。 与上述文章不同的是。任意波形,只是将.mif文件替代掉。
https://blog.youkuaiyun.com/WJC1997/article/details/118994133?spm=1001.2014.3001.5501
例:生成一个正弦波
① 使用波形生成器软件,生成一个数据长度为256、位宽为8的正弦波后,保存。(保存的格式为.mif格式)

②这里点 Browse 选择 自己生成的 sin.mif 文件替代

③ 其余均参照之前的文章
1、radix—>unsigned 2、format—>auto… 3、format—>custom(max:255——min:0)

2、任意相位:—>改变初始相位(改变初始地址)即可
3、任意频率:
正弦波当前不改变情况下对应频率:
T = 20ns * 256——> f = 1/ T = 1 / (20ns * 256) =1 /20ns*1 /256 =50M / 256 = 195.312Khz

如何改变当前195.31KHz频率?
(1):当前开发板晶振频率50Mhz,改变晶振时钟大小从而改变输出频率(不太现实)
(2):增加地址步进值,之前每次加一时得到频率195.31Khz,如果把地址的步进值设置值+2,意味着地址从0计数到255的时间缩短一半,从而频率增加二倍。(只能得到195.31KHz的整数倍,也不太现实)



本文介绍了使用Verilog实现任意波形、相位和频率的方法。任意波形可通过替代.mif文件实现,如生成正弦波;任意相位改变初始地址即可;任意频率可通过增加虚拟地址计数器实现,测试表明位宽越高,精度越高、误差越小。
最低0.47元/天 解锁文章
458





