位与位之间的0交织



我想在变量的位之间交织0。例如,假设我有一个变量a,如下所示

a = 1101

然后,我想得到以下结果

b = 1_000000_1_000000_0_000000_1

这是由于a的每个比特之间交织了6个0。我想知道在SystemVerilog中是否有任何优雅的方法来做到这一点。如有任何帮助,不胜感激。

b = 0;
foreach (a[i]) b[i*7] = a[i];

最新更新