硬體描述語言與驗證
在Verilog中區分使用賦值種類時的一般準則,下列何者正確?
- A不論何處都只使用阻塞賦值(=)
- B以時脈動作的序向電路使用非阻塞賦值(<=),組合電路的always使用阻塞賦值(=)
- C在一個always中隨意混用兩者
查看答案與解析
正確答案:B. 以時脈動作的序向電路使用非阻塞賦值(<=),組合電路的always使用阻塞賦值(=)
以非阻塞賦值撰寫序向電路時,會與所有正反器同時取入值的電路動作一致,結果不會受到描述順序或與其他always區塊執行順序的左右。在組合電路中,由上而下依序計算中間值的寫法較為自然,因此使用阻塞賦值。此外,在同一個always區塊中不要混用兩者也很重要。
- A. 在序向電路中使用阻塞賦值,容易變成與意圖不同的電路。
- B. 正確。較容易使模擬與電路的動作一致。
- C. 混用會使動作難以理解,並成為錯誤的根源。