ありがちなミスやそれへの対処法をここに記述して、日頃から注意しようという算段です。これは言語仕様なので、警告も出ないのですよね。常に泣かされています。さんに対処法を教えていただきました。noneを記述すれば良いそうで、定義していない信号をエラーにできます。以降で使えるそうです。以下の注意も一緒にいただきました。さんより:Xilinxのライブラリなどでは、1ビットのwireは定義していないこともあるので、コンパイルの順番によっては、そこでエラーになることがあります。wireを書いておくと良いと思います。副作用として、次のコードがコンパイルエラーになります。...endmodule次のように書けばエラーになりません。対してのみのようです。エラーになりませんでした。すべてのモジュールでエラーが出まくって驚きました。省略するのはやめた方が良いようです。定義するという方法です。いうだけで実害は生じません。wireに置き換えれば、かなり手間が省けます。b;にされてしまうため、その部分だけ手作業で元に戻すことになります。高いことをすぐに忘れてしまい、痛い目を見ます。);としたければ、括弧は必須です。今でも勘違いして原因が分からず途方に暮れます。)としたければ括弧は必須です。これも結構やらかします。すべての演算子の中で最も優先順位が低い、と覚えておけばいいのですね。思い浮かべたビット数と異なるために、回路が思ったように動作しないことがしばしばありました。正しそうで間違った式を書くことができてしまうようなので、注意が必要です。失敗例を思い出したら追記します。さんに教えてもらった例です。ビット幅を指定しない整数は32ビット幅であると仮定されます。演算ではビット幅の小さい信号を大きい信号の幅に合わせてから計算が行われます。評価が以下のように行われるためです。ところではなかったというお話です。1'b0;のように、各定数に正しく幅を指定することです。いう話も出ているのですが、ビット幅を指定しないと足し算でもうまく行かないですよね。なってしまうと思います。可変の場合でしょうか。以下のような書き方をしてました。ここまでするのは正しいとはいえ逆に可読性が低下している気がしてきました。っぽい書き方なのかもしれませんね。チュートリアルhttp://japanese.sugawara-systems.com/tutorial/verilog/framepage7.htmの8章を読むと一通りのことを勉強できますね。