verilog中b[a-:2]什么意思?a就是一个变量.主要想对一个数的动态位数进行赋值,例如a[j:j-1]=XXX(错的,就是举个例子)
2 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
通常写a[MSB:LSB]
这里的MSB和LSB都要求是常数(或常数表达式)
而如果写a[BASE :- WIDTH]或a[BASE +: WIDTH]
则允许BASE改变(但WIDTH仍需为常数)
应当写成a[j -: 1]=XXX
侃侃无极
TA贡献2051条经验 获得超10个赞
比如定义reg [7:0] a;
a[7 -: 2]就表示a[7:6]
通常写a[MSB:LSB] 这里的MSB和LSB都要求是常数(或常数表达式)
而如果写a[BASE :- WIDTH]或a[BASE +: WIDTH]则允许BASE改变(但WIDTH仍需为常数)
应当写成a[j -: 1]=XXX
这些在verilog语法标准里都写着呢 可以看5.2.1小节
- 2 回答
- 0 关注
- 516 浏览
添加回答
举报
0/150
提交
取消