verilog语言module compare1(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule

哪儿错了,,,求助,怎么改
2025-05-23 04:55:29
推荐回答(4个)
回答1:

程序是没有任何问题的
你应该是工程名与module名不一致
重建一个工程命名compare1,把这段代码保存为compare1.v,编译肯定不会有问题

回答2:

module compare1(equal,a,b);
input a,b;
output equal;
assign equal=(a==b)?1:0;
endmodule
理论上是对的,编译也能通过,不知道你说的错是哪里呢?
试试这个:
module compare1(equal,a,b);
input a,b;
output equal;
reg equal;

always@(a,b)
begin
equal<=((a==b)?1:0);
end
endmodule

回答3:

是不是少了句
reg equal; ///加在output equal;的后面
还有那个=换成<=试下。
呃,都是瞎编的,我也不懂原理。

回答4:

确实能编译通过