我正在尝试在verilog中初始化一个二维数组,如下面的代码片段所示。
parameter N=4;
reg [N-1:0] number_c[2**N-1:0];
reg [N-1:0] result_c;
编译后我收到以下错误
错误:HDLC编译器:27 - “Combinational_output.v”第24行非法重新声明'number_c' 错误:HDLCompilers:27 - “Combinational_output.v”第25行非法重新声明'result_c'
我的模块看起来像这样
module Combinational_outputss(output number_c,output result_c
);
答案 0 :(得分:2)
您正在混合使用ANSI和非ANSI端口样式。请参阅IEEE Std 1800-2012,第23.2.3节参数化模块。这使用ANSI样式:
module Combinational_outputss #(parameter N=4)
(
output reg [N-1:0] number_c[2**N-1:0],
output reg [N-1:0] result_c
);