硬體描述語言與驗證

Verilog的非阻塞賦值(<=)的動作,下列何者正確?

  1. A賦值的瞬間左邊就被更新,下一行會使用該新值
  2. B先評估同一時間點的所有右邊,之後再一併更新左邊
  3. C捨棄賦值的結果,不做任何變更
查看答案與解析

正確答案:B. 先評估同一時間點的所有右邊,之後再一併更新左邊

在非阻塞賦值中,於時脈邊緣時,所有<=的右邊會先以舊值評估,之後再同時改寫左邊。這與以相同時脈動作的眾多正反器在邊緣之前同時取入值的實際電路動作相同。因此,對於以時脈動作的序向電路的描述,原則上應使用非阻塞賦值。

  • A. 那是阻塞賦值(=)的動作。
  • B. 正確。與正反器同時取入值的動作一致。
  • C. 值會被更新。
練習這個領域 前往領域頁面

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

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

這個領域的比較