ModelSimで動作シミュレーション
事前準備
まず、トップレベルデザインのVerilog-HDLが必要になります。
回路図がトップレベルデザインだった場合には、次の手順でVerilog-HDLに変換します。
File->Create/Update->Create HDL Design File from Current File...
ここで、"Create HDL Design File for Current File"ダイアログが表示されますので、
Verlilog HDLを選択してOKボタンを押下します。
シミュレータ起動
次に、シミュレータを起動します。
Tools->Run Simulation Tool->RTL Simulation
ModelSim ALTERA STARTER EDITION 10.0cが起動します。
シミュレーション対象ファイルの指定
File->New->Library...を選択します。
"Create New Library"ダイアログが表示されますので、"a new library and a logical mapping to it"が
選択されていることを確認します。Library Name, Library Physical Nameは共に"Work"が入っています。
このまま"OK"ボタンを押下します。
Library一覧にwork(empty)が追加されます。これをマウスでクリックして選択状態にします。
その後、Compile->Compile...を選択します。
Compile Source Filesウィンドウが開きますので、ターゲットのVerliog Fileをコンパイルします。
必要なVerliog Fileを選択します。sample1.v, compo1.vなど複数必要であれば、複数個コンパイルします。
コンパイルすると、Library一覧で選択されているworkにコンパイルしたものが追加されます。
必要なファイルをコンパイルしたら、Doneを押下します。
Library一覧のworkをクリックして表示を展開します。sample1, compo1がType Moduleで追加されています。
トップレベルデザインのsample1をダブルクリックします。
ウィンドウが開きますので、一番左の"sim-Default"という名称のWindowにあるsample1をマウスで右クリックします。ここでメニューが表示されますので、Add->To Wave->All items in regionを選択します。
これで、"Wave-Default"ウィンドウにトップレベルデザイン Verilog Fileで定義されている信号線が表示されます。
テストパターンの設定
テストパターンを設定します。
"Objects"ウィンドウの入力信号線"sysclk"を選択して右クリックします。
メニューが表示されたら、"Create Wave..."を選択して"Create Patten Wizard"を開きます。
次のように設定します。
Patterns:Clock
Signal Name: そのまま
Start Time: 0 (そのまま)
End Time: 1000000
Time Unit : PS (そのまま)
"Next"ボタン押下で、次の設定を行います。
Initial Value: 0 (または1)
Clock Period: 2
Time Unit: PS
Duty Cycle:50
これで、最高速でクロックが生成されます。
同様に必要な入力信号を設定します。
例)ゆっくりした入力を入れてみます。
"Objects"ウィンドウの入力信号線"sw0"を選択して右クリックします。
メニューが表示されたら、"Create Wave..."を選択して"Create Patten Wizard"を開きます。
次のように設定します。
Patterns:Clock
Signal Name: そのまま
Start Time: 0 (そのまま)
End Time: 1000000
Time Unit : PS (そのまま)
"Next"ボタン押下で、次の設定を行います。
Initial Value: 0 (または1)
Clock Period: 600
Time Unit: PS
Duty Cycle:50
また、"Create Wave..."を選択して"Create Pattern Wizard"で、いくつかのパターンを
選択できます。入力を固定したい場合は、"Constant"を選択します。
シミュレーションの実行
設定が終わったら、シミュレートします。
Simulate->Run->Run -All
これで入力に対して出力がどのようになるかを確認します。
参考になるページ
下記URLのチュートリアルがとてもわかりやすく解説しています。