我收到三个错误,说明必须使用端口模式为我的三个输出声明标识符。我无法弄清楚为什么会这样。一些帮助会很棒。
module Testbench (A2, B2, Zero, One, Two);
input [3:0] A2, B2;
output Zero1, One1, Two1;
wire e0, e1, e2, e3, A10, A11, A12, A13, B10, B11, B12, B13;
Compare cp0(A2[0], B2[0], e0, A10, B0);
Compare cp1(A2[1], B2[1], e1, A11, B1);
Compare cp2(A2[2], B2[2], e2, A12, B12);
Compare cp3(A2[3], B2[3], e3, A13, B13);
assign Zero = (e0 & e1 & e2 & e3);
assign One = (A13 | (A12 & e3) | (A11 & e3 & e2) | (A10 & e3 & e2 & e1));
assign Two = (~One & ~Zero);
endmodule
答案 0 :(得分:2)
在您的端口列表中,您有:
module Testbench (A2, B2, Zero, One, Two);
但是你用不同的名字叫出输出:
output Zero1, One1, Two1;
答案 1 :(得分:2)
您的端口名称和端口声明名称不匹配。
如果使用Verilog-2001语法
,你可以消除许多这类错误,你需要两次声明名称,有时是3次。module Testbench (
input wire [3:0] A2, B2,
output wire Zero, One, Two);
...