我是Verilog编码的初学者,正在寻找一种巧妙的方法来按顺序排列位。
我有60个音符(5个八度音阶+ 12个音符):
double
应该只分配给一辆公交车
long double
但以正确的顺序:c [4],cs [4],d [4],ds [4],e [4] ... a [0],as [0],b [0] < / p>
将感谢您的建议。
答案 0 :(得分:2)
这是一个串联,而不是求和。
notes = {c[4], cs[4], d[4], ds[4], e[4] ... a[0],as[0],b[0]};
请参阅IEEE SystemVerilog 1800-2017 LRM中的11.4.12级联运算符。
您可以使用for
循环稍微简化一下。
logic [59:0] notes;
for (int ii=0;ii<5;ii++)
notes[ii+:5] = {c[ii], cs[ii], d[ii], ds[ii], e[ii]};
要这样做,notes
必须是变量而不是导线。