硬體描述語言與驗證

上方Verilog的assign語句所表示的電路,下列何者正確?

assign y = (a & b) | c;
  1. A取a與b的AND再與c做OR的組合電路,輸入一改變y也會立即改變
  2. B每次時脈都會更新y的正反器
  3. C只計算一次,之後值就不再改變的電路
查看答案與解析

正確答案:A. 取a與b的AND再與c做OR的組合電路,輸入一改變y也會立即改變

assign語句稱為連續賦值,表示右邊算式的值會隨時反映到左邊訊號的佈線。只要右邊的任何一個輸入改變,輸出y就會立即(經過閘極延遲之後)改變。此例是AND閘與OR閘所組成的組合電路。由於沒有記憶的功能,若想保持值,就要使用以時脈更新的always區塊。

  • A. 正確。這稱為連續賦值。
  • B. 並未使用時脈。
  • C. 每當輸入改變,輸出也會跟著改變。
練習這個領域 前往領域頁面

硬體描述語言與驗證的其他題目

  1. 上方Verilog的描述經邏輯合成後所產生的電路,下列何者正確?
  2. Verilog的非阻塞賦值(<=)的動作,下列何者正確?
  3. 在上方的描述中,時脈上升之前a=0、b=1。上升之後a與b的值會變成什麼?
  4. 原本打算做成2級位移暫存器,卻如上方般以阻塞賦值(=)撰寫。會發生的問題,下列何者正確?
  5. 在Verilog中區分使用賦值種類時的一般準則,下列何者正確?

這個領域的比較