基本的に「モジュール」と呼ばれるものを書く。モジュールとは回路の「部品」のようなもの。正しい言い方をすると「verilogではモジュールを組み合わせて回路を設計していく」のである。
モジュールの書き方は次のようになる。
module
モジュール名
(
ポート・リスト
);
input 入力信号名;
output 出力信号名;
wire 内部信号名;
reg 内部信号名;
回路機能定義
endmodule
回路機能定義(動作記述と呼ぶことも)は、具体的にはassgn文always文といって「小さな回路」を作る処理だったり、if文、case文で条件分岐を行うものだったりする。
各モジュールは上位モジュール・下位モジュールに分けられるよう。 上位モジュール内で宣言したinputでは下位モジュールへの進入が可能。 このことから親子関係はオブジェクト指向でいうなら part of 関係に近い。 wireは配線を意味し、配線(=wire変数)を組み合わせることで組み合わせ回路を作れる。 一方regはレジスタを意味するから組み合わせ回路はもちろん、順序回路を作ることだってできる。
ISE Design Suiteをダウンロード Adeptのダウンロード ISE Design Suiteのインストール Adeptのインストール ISE Design Suiteの動く仮想PCの初期設定