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;这也是一个交叉发布的问题)。