|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
刚开始接触verilog,用modelsim仿真,编了一个程序adder,然后编写了一个testbench来调用adder 最后用$display显示出来最后的结果,我给了具体的输入,但是输出一直是x,为什么?贴上代码,轻喷。。。
module adder(a,b,cin,count,sum);
input a,b,cin;
output count,sum;
reg count,sum;
initial
begin
{count,sum}=a+b+cin;
end
endmodule
testbench如下
module adder_tb;
wire count,sum;
reg a,b,cin;
initial
begin
a=1'b1;
b=1'b0;
cin=1'b1;
end
adder adder1(a,b,cin,count,sum);
initial
$display(count,sum);
endmodule
我想输出x的原因是不是因为verilog是并行执行的,调用的那个语句adder adder1(a,b,cin,count,sum);一开始在输入赋值之前就已经执行了,但是这时候输入值是不定的,所以他的输出总是x,我想把这个调用语句放在initial里面顺序执行,但是一放进去就报错,说是cant find checker,是不能放进去么?望指导。。。 |
|