IT系メモ

興味のあったことや、勉強したことなどをメモしていきます。

Verilog覚書

検証でverilogを使って比較をする時は「===」「!==」というのを使うといい。

というのも、verilogではZやXが入っているため普通に「==」や「!==」では想定している動作とは異なってパスしてしまう。

ZやXが入っていた場合にはエラーを出したいときに「===」「!==」を使えば出来る。

ただし「===」「!==」は論理合成には使えない。あくまで検証用の記述。

この辺りはverilogの良いところでもあり、悪いところでもある。検証で別の言語を使うのであれば間違えないのだろうけど。論理合成ツールを使ってエラーが出れば修正すればいいというスタンスでもいいのかもしれない。

あと検証で気を付けなければならないところは、不定値XとのANDやORをしたときに必ずしも不定値Xにならないところだろうか。

他にもVerilog-1995とVerilog-2001で使える構文に違いはある。