菜鸟求帮助;用 verilog写的一个DDS相位累加器的程序,用Modelsim仿真的时候输出为xxxxxx,编译没错

菜鸟求帮助;用 verilog写的一个DDS相位累加器的程序,用Modelsim仿真的时候输出为xxxxxx,编译没错,第1张

您好,把它缩小就像了,不过分辨率不高,你的ROM存的多少位的波形数据?越高越好!波形读出来的数据少了波形就不完整!把频率控制字该成1嘛。

1.在FPGA中写一个ROM,ROM表用matlab或者C语言写,存成16进制数

2.verilog程序中设定变量,指定变量(reg型)的数据宽度,长度

3. 在初始化变量的语句为

initial begin

$readmemh("///文件名/// ",ROMname) end

4. 按照DDS内核方法做波形发生器

5. 编写仿真顶层文件

6 设定modelsim路径,FPGA仿真路径,设定仿真顶层文件即可(具体 *** 作网上有。

(1)改变查表寻址的时钟频率,可以改变输出波形的频率。

(2)改变寻址的步长来改变输出信号的频率。步长即为对数字波形查表的相位增量。由累加器对相位增量进行累加,累加器的值作为查表地址。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11851478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存