【发布时间】:2016-02-24 22:19:47
【问题描述】:
在 System Verilog 中,我有:
wire [2:0][1:0] sig1;
wire [2:0][3:0] sig2;
我正在尝试做:
assign sig1[2:0][1:0] = sig2[2:0][1:0];
NCVerilog 告诉我:
assign sig1[2:0][3:0] = sig2[2:0][3:0];
|
ncvlog: *E,MISEXX (acc_llcprdbctl.v,89|48): expecting an '=' or '<=' sign in an assignment [9.2(IEEE)].
有没有办法分配多维数组?
编辑:显然,您不能使用多个索引来分配数组。所以上面的例子并没有完全代表我想做的事情。我想拼接第二个维度并将其分配给第一个。
如果我重新排列数组,这可以实现:
wire [1:0][2:0] sig1;
wire [3:0][2:0] sig2;
assign sig1[1:0] = sig2[1:0];
但是对于任何其他更精确的拼接,我必须使用嵌套的 for 循环。
【问题讨论】:
-
你试过
assign sig1 = sig2吗?
标签: multidimensional-array system-verilog