先上程序吧:
module DDS1(CLK1,DAC1,enable);
input CLK1 ;
input enable ;
output[9:0] DAC1;
reg [31:0] B1;
parameter N=32'hfffff ;
parameter M=32'h0 ;
always @(negedge enable) begin
if(enable==1'b0) B1<=M;
end
DDS DDS2(.CLK(CLK1),.B(B1),.DAC(DAC1));
endmodule
DDS模块是我用原理图画好后生成的,地址是32位,能正常实现(已下载到板子,并接DA,看到稳定的波形了)
上面的程序是我的顶层,调用了DDS模块,问题出在哪了呢?
是这样的,我本来想用外部的条件来触发输出信号的,但是我还没给enable的信号,
B1的值就改变了,我怎么发现的呢?
是这样的,我在always里面给B1不同的值,M和N,当为M的时候(M=0),没有波形。
当为N的时候(N=0xfff00),有波形。意思是我还没给enable信号,always模块已经执行了。
这是怎么回事呢?
编译的时候,warning有5个,不明白的有:
Warning: Design contains 1 input pin(s) that do not drive logic
Warning (15610): No output dependent on input pin "enable"
Warning: Found pins functioning as undefined clocks and/or memory enables
Info: Assuming node "CLK1" is an undefined clock
Info: Assuming node "altera_internal_jtag~TCKUTAP" is an undefined clock
附上我的工程,希望得到热心人士的帮助。
此帖出自
小平头技术问答
你可以把你原因与大家分享一下哦!
一周热门 更多>