菜鸟求帮助;用 verilog写的一个DDS相位累加器的程序,用Modelsim仿真的时候输出为xxxxxx,编译没错 10
下面是我的程序:modulefre_control(clk,clr,k,address_out);inputclk;inputclr;input[15:0]k;outpu...
下面是我的程序:
module fre_control(clk,clr,k,address_out);
input clk;
input clr;
input [15:0]k;
output [15:0]address_out;
reg [15:0]address_out;
initial
address_out=16'b0;
always@ (posedge clk)
begin
if(clr==1'b1)
address_out = 16'b0 ;
else
address_out=address_out+k;
end
endmodule 展开
module fre_control(clk,clr,k,address_out);
input clk;
input clr;
input [15:0]k;
output [15:0]address_out;
reg [15:0]address_out;
initial
address_out=16'b0;
always@ (posedge clk)
begin
if(clr==1'b1)
address_out = 16'b0 ;
else
address_out=address_out+k;
end
endmodule 展开
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.在FPGA中写一个ROM,ROM表用matlab或者C语言写,存成16进制数;
2.verilog程序中设定变量,指定变量(reg型)的数据宽度,长度
3. 在初始化变量的语句为
initial begin
$readmemh("///文件名/// ",ROMname); end
4. 按照DDS内核方法做波形发生器
5. 编写仿真顶层文件
6 设定modelsim路径,FPGA仿真路径,设定仿真顶层文件即可(具体操作网上有。
追问
你好,谢谢你的回答!
我想继续问一下,我在Quartus ii里进行全编译的时候总是出现警告,说我的ROM 模块的输出结果has no driver,这与我在Modelsim里仿真的时候出现那种输出全是x的情况有没有关系。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询