【发布时间】:2022-01-24 04:29:05
【问题描述】:
假设在系统 verilog 中我有一个 32 位字的数组,如下所示,我想将它打包成一个字节数组,但首先是字的 lsb 字节
bit [7:0] byte_array[];
bit [31:0] reg_array[];
reg_array[0] = 32'h01020304;
reg_array[1] = 32'h05060708;
reg_array[2] = 32'h090a0b0c;
所以我想要的输出是这样的,
byte_aray[0]=0x4
byte_aray[1]=0x3
byte_aray[2]=0x2
byte_aray[3]=0x1
byte_aray[4]=0x8
byte_aray[5]=0x7
byte_aray[6]=0x6
byte_aray[7]=0x5
byte_aray[8]=0xc
byte_aray[9]=0xb
byte_aray[10]=0xa
byte_aray[11]=0x9
有没有一种方法可以使用纯流式操作符来做到这一点?我能做的最好的就是在下面,但我想知道我是否可以单独使用流操作符来做到这一点。谢谢。
byte_array={<<32{reg_array}};
byte_array.reverse();
【问题讨论】:
标签: system-verilog