この文書はVerilog-2001の文法を解説する目的で書かれたものではなく、FPGAに所望の動作をさせるためにVerilog-2001コードを書き下す際の参考情報を提供する目的で書かれたものです。
この文書が想定している開発環境は、FPGAベンダーが提供している開発環境(無償版もあります)であり、具体的にはAltera社のQualtusII Web Editionを想定しています。
もちろん、Verilog-2001は標準的なハードウエア記述言語ですから、ここに書かれた大部分のコードは他の開発環境下でも利用可能であるはずです。
通常、FPGAを採用する目的は動作の高速化であることから、チューニングを意識して設計する必要があるでしょう。Verilog-2001の高度な機能を用いてしまうと、それがどのようなRTL(レジスタ to ロジック)に展開されるかをイメージすることが難しく、高速化のためにどうすることが有効であるか、判断が困難になってしまいます。
そこでこの文書では、Verilog-2001の機能のうち、最終的にどのような回路構成に落ちるかという予想がしやすい機能のみを用いてコーディングを行うことといたします。