结果出错 与参考结果相比总是相差一个周期
(要注意看warning信息 ,之前就是因为没看warning信息 ,module dff模块命名出错 ,忽略了模块dff的定义,导致结果一直是1)
错诶原因2:没有进行初始化导致结果不定。
错误代码:
module top_module (
input clk,
input x,
output z
);
initial
begin
q1 = 0;q1f = 0;
q2=0;q2f = 0;
q3 = 0;q3f = 0;
end
wire w1,w2,w3;
wire q1,q2,q3;
wire q1f,q2f,q3f;
assign w1 = x^q1;
assign w2 = x&q2f;
assign w3 = x|q3f;
dff1 d1(w1,clk,q1,,);
dff1 d2(w2,clk,q2,q2f);
dff1 d3(w3,clk,q3,q3f);
nor (z,q1,q2,q3);
endmodule
module dff1(input d,input clk,output q,qf);
always@(posedge clk)
begin
q = d;
qf = ~d;
end
endmodule