分配和截断压缩数组

Assign and Truncate Packed Arrays

最近我一直在编写 FFT 模块,您可能认为它需要很多电线。为了简化我尝试使用压缩数组的代码。但是我在截断和分配时遇到了问题。假设我有一个48位的向量A,分为6个8位的子域:

logic [5:0][7:0] A;

现在,考虑我有另一个向量 B,它有 24 位长,分为 6 个 4 位子字段:

logic [5:0][3:0] B;

现在的问题是,如何将A中每个子字段的4个MSB分配给B中对应的子字段(最好不使用for循环)?

不幸的是,SystemVerilog 中没有特殊的语法来在单个赋值中执行这种有损赋值。