必须使用端口模式声明标识符:(对于所有 3 个输出)(Verilog)
The Identifier must be declared with a port mode : (for all 3 outputs) (Verilog)
我收到三个错误,指出必须为我的三个输出使用端口模式声明标识符。我不明白为什么会这样。如果能有帮助就好了。
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
在您的端口列表中,您有:
module Testbench (A2, B2, Zero, One, Two);
但是你用不同的名字调出输出:
output Zero1, One1, Two1;
您的端口名称和端口声明名称不匹配。
如果您使用 Verilog-2001 语法,您可以消除许多必须声明名称两次(有时 3 次)的此类错误
module Testbench (
input wire [3:0] A2, B2,
output wire Zero, One, Two);
...
我收到三个错误,指出必须为我的三个输出使用端口模式声明标识符。我不明白为什么会这样。如果能有帮助就好了。
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
在您的端口列表中,您有:
module Testbench (A2, B2, Zero, One, Two);
但是你用不同的名字调出输出:
output Zero1, One1, Two1;
您的端口名称和端口声明名称不匹配。
如果您使用 Verilog-2001 语法,您可以消除许多必须声明名称两次(有时 3 次)的此类错误
module Testbench (
input wire [3:0] A2, B2,
output wire Zero, One, Two);
...