Verilog目前并不支持数组型端口,这不利于一些信号的管理(仅有System Veilog允许这样定义)
module example(
input clk,
...
...
output [7:0] array [15:0] //Verilog-2001不支持这样的端口定义
);
...
endmodule
一般情况下我们选择将数组合并为一个大位宽信号进行输出
module example(
input wire clk,
...
...
output wire [8*16-1 : 0] array_pack
);
reg [7 : 0] array [15 : 0];
genvar i;
generate
for(i=0;i<15;i=i+1) begin : pack
assign array_pack[8*i+7 : 8*i] = array[i];
end
endgenerate