>我有以下代码
logic [99:0] a[10]; // in this only the LSB 10 bits are relevant
logic [49:0] b;
我想获取a
的有用部分并将其分配给b
我尝试了流媒体运营商,但无法让它工作
b = { << 10 {a[0:5]}}; // EDIT: Correcting typo
可以这样做吗?我浏览了SV LRM和流媒体运营商,但无法完全掌握它。
谢谢
不能使用流式处理运算符或位流强制转换对一组不连续的位进行操作。您可以使用foreach
循环。
foreach (a[ii]) b[ii*5+:5] = a[ii][5:0];
您将不得不摆弄它,因为您的文本描述与您尝试编写的伪代码不匹配。