In System Verilog, I have:
wire [2:0][1:0] sig1;
wire [2:0][3:0] sig2;
I'm attempting to do:
assign sig1[2:0][1:0] = sig2[2:0][1:0];
NCVerilog tells me:
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)].
Is there a way to assign multidimensional arrays?
Edit: Apparently, you can't assign arrays using more than one index. So the above example didn't fully represent what I wanted to do. I wanted to splice the second dimension and assign it to the first.
This could be accomplished if I rearranged the array:
wire [1:0][2:0] sig1;
wire [3:0][2:0] sig2;
assign sig1[1:0] = sig2[1:0];
But for any other more precise splicing, I'd have to use a nested for loop.