硬體描述語言與驗證
上方Verilog的assign語句所表示的電路,下列何者正確?
assign y = (a & b) | c;
- A取a與b的AND再與c做OR的組合電路,輸入一改變y也會立即改變
- B每次時脈都會更新y的正反器
- C只計算一次,之後值就不再改變的電路
查看答案與解析
正確答案:A. 取a與b的AND再與c做OR的組合電路,輸入一改變y也會立即改變
assign語句稱為連續賦值,表示右邊算式的值會隨時反映到左邊訊號的佈線。只要右邊的任何一個輸入改變,輸出y就會立即(經過閘極延遲之後)改變。此例是AND閘與OR閘所組成的組合電路。由於沒有記憶的功能,若想保持值,就要使用以時脈更新的always區塊。
- A. 正確。這稱為連續賦值。
- B. 並未使用時脈。
- C. 每當輸入改變,輸出也會跟著改變。