前提条件
QuartusとModelSimがパソコンにインストールされていること。
環境
OS: Windows 10
Quartus Prime Version: Lite, Version 17
Verilog コード
今回は3ビットカウンタを実装することにします。メインのプログラムのファイル名はcoinc.v、テストするプログラムのファイル名はcoinc_TEST.vとします。
coinc.v
module coinc (RESD, CLK, C);
input RESD, CLK;
output [2:0] C;
reg [2:0] C;
always @(posedge CLK or negedge RESD)
begin
if (RESD == 1'b0) C <= 3'b000;
else C <= C + 3'b001;
end
endmodule
coinc_TEST.v
module coinc_TEST;
reg RESD, CLK;
wire [2:0] C;
coinc tcounter4 (RESD, CLK, C);
initial
begin
CLK = 0;
forever #50 CLK = !CLK;
end
initial
begin
RESD = 1;
#10 RESD = 0;
#20 RESD = 1;
end
initial
$monitor (" %3d, %d, %d, %d", $stime, RESD, CLK, C);
endmodule
Start Analysis and Synthesis
Quartusに上記の二つのソースコードの記述が終わったら、coinc_TEST.vにいるまま、上の画面でstart analysis and synthesisを押します。
終わったらModelSimを開きます。
ModelSimにてシミュレーションまで
ModelSimをまず開き、Fileを開いてchange directoryを押してソースコードがおかれているディレクトリを選びます。

そのあと、もう一度Fileを開いてLibraryを押します。

(もうすでにworkというライブラリがあれば、この手続きは必要ないです。スキップして次のステップへ行きましょう。)
a new library and a logical mapping to itを選択し、workという名前を割り振ります。

ここでtranscriptに# Errors: 0, Warnings: 0というメッセージが現れればオーケーです。
次に上のsimulateを押します。
coinc_TEST.vを選び、OKを選びます。
これで新たなウィンドウがポップアップします。Objectsのすべての値を選び、Waveの中にドラッグします。(ここでWaveが存在しない場合、上のViewから選択して表示させる必要があります。)
最後に以下の青い〇で囲まれているrunを押してシミュレーション結果が出ます。下のtranscriptに run 1000などと打ち込めば、1000psのシミュレーションを行えたりと実行時間を調整できます。
こちらが run 1000としたときのシミュレーション結果です。たしかに3ビットの数字をカウントしているのがわかります。







