硬體描述語言與驗證
Verilog的wire型與reg型的差異,下列何者正確?
- Areg一定會成為正反器,wire一定會成為組合電路
- Bwire表示以assign語句等相連的佈線,reg表示在always區塊中被賦值的訊號,但reg不一定會成為正反器
- Cwire是用來放入數值的型別,reg是用來放入文字的型別
查看答案與解析
正確答案:B. wire表示以assign語句等相連的佈線,reg表示在always區塊中被賦值的訊號,但reg不一定會成為正反器
在Verilog中,規定由assign語句或module輸出所驅動的訊號宣告為wire,在always區塊中被賦值的訊號宣告為reg。reg看起來像是「暫存器(register)」的縮寫,但若在always @(*)中賦值,就會成為組合電路,而不是正反器。是否成為正反器,取決於是否以時脈邊緣更新值的寫法。在SystemVerilog中,兩者都可以用logic型來撰寫。
- A. 即使名稱是reg,也可能成為組合電路。
- B. 正確。reg在always @(*)中也可以成為組合電路。
- C. 這不是文字的型別。