新手求助 LHS in procedural continuous assignment may not be a net
时间:10-02
整理:3721RD
点击:
写了一个半加器的代码,现在想用test bench测试,test bench代码如下。老是提示ERROR: LHS in procedural continuous assignment may not be a net: sum.
ERROR: LHS in procedural continuous assignment may not be a net: cout.
sum 和cout明明已经声明称wire了,为什么还出现这种错误呢?
求高手指点。
谢谢!
module halfadder_tb ;
reg a ;
wire sum ;
reg b ;
wire cout ;
initial
begin
assign sum=1'b0;
assign cout=1'b0;
fork
#10 a=0;
#10 b=0;
#20 a=1;
#20 b=0;
#40 a=0;
#40 b=1;
#60 a=1;
#60 b=1;
join
end
halfadder
DUT (
.a (a ) ,
.sum (sum ) ,
.b (b ) ,
.cout (cout ) );
endmodule
ERROR: LHS in procedural continuous assignment may not be a net: cout.
sum 和cout明明已经声明称wire了,为什么还出现这种错误呢?
求高手指点。
谢谢!
module halfadder_tb ;
reg a ;
wire sum ;
reg b ;
wire cout ;
initial
begin
assign sum=1'b0;
assign cout=1'b0;
fork
#10 a=0;
#10 b=0;
#20 a=1;
#20 b=0;
#40 a=0;
#40 b=1;
#60 a=1;
#60 b=1;
join
end
halfadder
DUT (
.a (a ) ,
.sum (sum ) ,
.b (b ) ,
.cout (cout ) );
endmodule
sum 和 count 不能放在initial block里,因为,半加器已经给他们赋值了。
醍醐灌顶啊,问题已解决,谢谢你!
