必须使用端口模式声明标识符:(对于所有3个输出)(Verilog)

时间:2015-03-02 00:24:36

标签: verilog comparator

我收到三个错误,说明必须使用端口模式为我的三个输出声明标识符。我无法弄清楚为什么会这样。一些帮助会很棒。

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 

2 个答案:

答案 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);
...