我正在用verilog编写一个程序。总共3个AND门,前2个AND门的输出被输入到第3个门,我需要第3个门的输出。请让我知道我的程序有什么问题。我正在附上我的程序
underscore-1.6.0
答案 0 :(得分:1)
在module Two_AND (a,b,out);
中你有以下几行:
and g2(out2,b,c);
c
未定义。
out1
,out2
和out3
也未定义,但是是输出,默认情况下会创建为1位线,在这种情况下也可以。
但您的输出out
未被驱动,您使用out3
时需要使用out
。
module Two_AND (
input a,
input b,
input c,
output out
);
wire out1,out2;
and g1(out1,a,b);
and g2(out2,b,c);
and g3(out,out1,out2);
endmodule
答案 1 :(得分:1)
只能在初始或始终块中分配regs。 模块的输出应连接到电线。
此外,由于输入 c 已添加到您的模块中,您应该在TOP模块中实例化Two_AND时考虑它。
答案 2 :(得分:1)
我认为以前的答案非常有启发性和实用性。我只想添加一个小小费。我建议您始终将`default_nettype none 添加到您的verilog代码中。例如,您使用了" out1"和" out2"电线,但你没有定义它们。如果您不想混淆,请将其添加到您的代码中。