硬體描述語言與驗證

Verilog的等號運算子「==」與「===」的差異,下列何者正確?

  1. A==在包含X或Z時結果會是X,而===會把X或Z也當作一個值來嚴格比較,結果一定是0或1
  2. B==與===的動作完全相同
  3. C===是同時比較3個值的運算子
查看答案與解析

正確答案:A. ==在包含X或Z時結果會是X,而===會把X或Z也當作一個值來嚴格比較,結果一定是0或1

==是與電路中的比較器作用相同的運算子,只要任一邊的值含有X或Z的位元,結果也會是X(不定)。===稱為case相等,會將X視為X、Z視為Z,照字面比較,所以可用於在測試平台中確認「輸出是否變成了X」。在實際的電路中沒有分辨X或Z的功能,所以===無法合成,是測試平台用的運算子。

  • A. 正確。===主要在測試平台中使用。
  • B. 對X與Z的處理不同。
  • C. 是比較2個值的運算子。
練習這個領域 前往領域頁面

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

  1. 以Verilog等HDL撰寫的描述,與C語言等軟體程式的最大差異,下列何者正確?
  2. 在Verilog中使用module的目的,下列何者正確?
  3. Verilog的wire型與reg型的差異,下列何者正確?
  4. 上方Verilog的assign語句所表示的電路,下列何者正確?
  5. 上方Verilog的描述經邏輯合成後所產生的電路,下列何者正確?

這個領域的比較