硬體描述語言與驗證
Verilog的等號運算子「==」與「===」的差異,下列何者正確?
- A==在包含X或Z時結果會是X,而===會把X或Z也當作一個值來嚴格比較,結果一定是0或1
- B==與===的動作完全相同
- 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個值的運算子。