このチュートリアルは、Qsysが生成したテストベンチおよびModelSimシミュレー ション・スクリプトとともに使用できるテスト・プログラム・ファイルを含みます。
Qsysシミュレーションのサポートについて詳しくは、シミュレーション・スクリプ トの \simulation_tutorial\load_sim.tclを参照してください。
load_sim.tcl スクリプトは、Qsysが生成したシミュレーション・モデルおよび
ModelSimスクリプトに正確な階層パスをセットアップするために、シミュレーショ
ンの変数を設定します。さらに、このスクリプトは、シミュレーション用のトップ レベル・インスタンスの名前を識別し、Qsysが生成したファイルの位置へのパスを 提供します。メモリ初期化などの一部の機能は、シミュレーション・モデルでの正 しい階層パス名に依存します。次に、スクリプトは下記の動作を実行します。
■ Qsysが生成したModelSimシミュレーション・スクリプト、msim_setup.tclを使 用する
■ msim_setup.tcl スクリプトで定義されているコマンド・エイリアスを使用して、
Qsysテストベンチ・シミュレーション・モデル用のファイルをコンパイルおよ び調整する。
■ チュートリアル用の追加のシミュレーション・ファイル(テスト・プログラムを 初期化するテスト・プログラム・ファイルおよびトップレベル・シミュレーショ ン・ファイル)をコンパイルおよび調整する
■ ModelSim波形ビューに信号を提供する wave.do ファイルをロードする
変更を行わずに load_sim.tcl スクリプトを閉じます。
シミュレーションの実行
シミュレーションを実行するには、次のステップを実行します。
1. ModelSim-Alteraソフトウェアを起動します。
2. Fileメニューで、 Change Directoryをクリックし、 \simulation_tutorialディレ クトリに移動し、OKをクリックします。
3. Compileメニューで、 Compile Optionsをクリックします。
4. Verilog & SystemVerilog タブをクリックし、 Use SystemVerilogを選択して OKをクリックします。
5. Fileメニューで、 Loadをクリックします。
5–6 5. カスタム・コンポーネントの シミュレーション ModelSim-Altera ソフトウェアにおけるシミュレーションの実行
1 ModelSim-Altera のTranscriptウィンドウをアクティブにしてください。
そうしないと、 Load 機能がディセーブルされます。
6. load_sim.tclスクリプトを選択して、 Openをクリックします。
1 警告メッセージは、ALTSYNCRAM メガファンクションにおける未使用の 接続に関連します。これらのポートを使用しないため、警告メッセージを 無視しても問題ありません。
7. 40 sの間シミュレーションを実行します。シミュレーションを実行するには、
ModelSim-Altera のTranscriptウィンドウで次のコマンドを入力します。
run 40usr
1 h コマンドを実行して、msim_setup.tcl スクリプトに使用可能なオプショ
ンを表示することができます。
8. 結果を観測します。 例 2 に、表示されるメッセージを示します。
9. Low Frequencyパターンでテストを実行するには、
\simulation_tutorial\test_include.svh を変更します。(表 5-2)
10.load_sim.tclスクリプトをリロードし、 40 sの間にシミュレーションを実行し、
Transcriptウィンドウで結果を観測します。例 3に、表示されるメッセージを示
します。
例 2. シミュレーションの結果
INFO: top.tb.reset_source.reset_deassert: Reset deasserted INFO: top.pgm: Starting test walking_ones.hex
INFO: top.pgm.read_file: Read file walking_ones.hex success INFO: top.pgm.read_file: Read file walking_ones_rev.hex success INFO: top.pgm: Test walking_ones.hex passed
表 5-2. Low Frequencyパターン・テストの値
マクロ 新しい値
PATTERN_POSITION 0
NUM_OF_PATTERN 2
NUM_OF_PAYLOAD_BYTES 256
FILENAME low_freq.hex
FILENAME_REV low_freq_rev.hex
例 3. Low Frequency パターン・テストの Transcript メッセージ
INFO: top.pgm: Starting test low_freq.hex
INFO: top.pgm.read_file: Read file low_freq.hex success
INFO: top.pgm.read_file: Read file walking_ones_rev.hex success INFO: top.pgm: Test low_freq.hex passed
5. カスタム・コンポーネントの シミュレーション 5–7 ModelSim-Altera ソフトウェアにおけるシミュレーションの実行
11.乱数パターン・テストの実行するには、 \simulation_tutorial\test_include.svh を変更します。(表 5-3)
12.load_sim.tcl スクリプトをリロードし、40 sの間にシミュレーションを実行す
ると、 例 4 に示す結果が表示されます。
この章では、カスタム・パターン・ジェネレータに対してシミュレーション環境を セットアップし、BFMテスト・コードを使用してシミュレーションを実行します。
この方法でユーザー独自のカスタムQsysコンポーネントをテストし、完全なシステ ムに統合する前に機能を検証することができます。また、この方法で完全なQsysシ ステムに対してテストベンチ・システムを作成し、そしてBFMでトップレベル・シ ステムの動作をテストすることができます。
表 5-3. 乱数パターン・テストの値
マクロ 新しい値
PATTERN_POSITION 32
NUM_OF_PATTERN 64
NUM_OF_PAYLOAD_BYTES 1024
FILENAME random_num.hex
FILENAME_REV random_num_rev.hex
例 4. 乱数パターン・テストの Transcript メッセージ
INFO: top.pgm: Starting test random_num.hex
INFO: top.pgm.read_file: Read file random_num.hex success INFO: top.pgm.read_file: Read file random_num_rev.hex success INFO: top.pgm: Test random_num.hex passed
5–8 5. カスタム・コンポーネントの シミュレーション ModelSim-Altera ソフトウェアにおけるシミュレーションの実行