Verilog通过迭代数组分配线路

Verilog通过迭代数组分配线路,verilog,Verilog,如何使用导线阵列的名称和操作指定导线 parameter row = 4; parameter col = 8; wire ready [row-1:0][col-1:0]; output wire allready; 从逻辑上讲,我想这样做 allready=和ready[i][j]对于所有i,j对于多自由度导线,可使用还原运算符&: wire [row-1:0] ready; wire allready = &ready; 但是,这不适用于未打包的

如何使用导线阵列的名称和操作指定导线

    parameter row = 4;
    parameter col = 8;
    wire ready [row-1:0][col-1:0];
    output wire allready;
从逻辑上讲,我想这样做


allready=和ready[i][j]对于所有i,j

对于多自由度导线,可使用还原运算符
&

wire [row-1:0] ready;
wire allready = &ready;
但是,这不适用于未打包的阵列(多维)

一种解决方案是创建一个循环来索引维度,并将值与到目前为止的结果进行比较。这可以通过以下方法实现:

output reg allready;

always @* begin
  allready=1'b1;
  for (int i =0; i<col; i++) begin
    allready = allready & (&ready[i]) ;
  end 
end
output reg allready;
总是开始
allready=1'b1;

对于(inti=0;这也是一个交叉发布的问题)。