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 關注
- 584 瀏覽
添加回答
舉報
0/150
提交
取消