サイト内検索

 こんにちは。

マクニカで Altera FPGA 製品の技術サポートをしている アルテラ・ハナコ です。

Altera FPGA 向けのデザインを RTL レベルのファンクション・シミュレーションする場合、Quartus® Prime Pro Edition では NativeLink シミュレーションがサポートされていないため、今までは RTL シミュレーション用のスクリプト生成 & 編集 でおこなうフローをご紹介してきました。

しかし!

Quartus® Prime Pro Edition 24.1 以降のバージョンでは

新たに Run Simulation 機能がサポートされ、従来のフローと比べて 作業がさらに簡素化されました!

 

このページでは、Quartus® Prime Pro Edition ユーザー向けに

Run Simulaion 機能を活用した RTL レベルのファンクション・シミュレーションを実行する方法 をご紹介します。

このフローは、デザインに IP を含む・含まないに関係なく実行できる方法 で、とても便利ですよ。

なお 今回は、Questa* - Intel® FPGA Edition (以下、Questa - IFE という。Starter Edition を含む) をシミュレーターに用いてご案内します。

必要な事前準備

プロジェクトへデザインを登録

Quartus® Prime プロジェクトに、Quartus® Prime がコンパイル時に必要なデザインファイルを登録します。

IP デザインは、*.ip ファイルを登録します。

 

Project メニュー > Add/Remove Files in Project  

▲ ページトップへ戻る

IP 用のシミュレーション・モデル生成

[Notes] デザインに IP を含む場合にのみ 実施してください。

 

IP を RTL シミュレーションするには、IP 用のシミュレーション・モデルを生成しておく必要があります。

IP Catalog または Platform Designer で IP を作成する際に、Generate HDL 実行時にポップアップされる Generation ダイアログボックスにおいて、”Create simulation model オプション“ で言語を指定します。併せて シミュレーション実行用スクリプトを生成させるために対応ツールを選択します。

その後 Generate (または Generate HDL) ボタンをクリックすると、シミュレーション・ツール向けのファンクション・シミュレーション用モデルとスクリプトファイルが生成されます。

▲ページトップへ戻る

EDA ツールの実行プログラムのパス設定

① Tools メニュー > Options > EDA Tool Options をクリックします。

 

② Questa Intel FPGA 行 右端の [...] ボタンをクリックし、Questa-Intel FPGA Edition の実行プログラムが保存されているフォルダーを指定し、

  Drectory Containing Tool Executable 欄に登録します。

  例えば Windows OS であれば、questasim.exe が保存されている win64 フォルダーを指定してください。

Board and IP Settings

① Assignments メニュー > Settings > Board and IP Settings を選択します。

 

② 下記オプションを設定します。

  ・ Generate IP simulation model when generating IP オプション = On

  ・ シミュレーターの選択 (今回の例では QuetaSim)

シミュレーターの指定 / 言語指定

Assignments メニュー > Settings > EDA Tool Settings > Simulation において、以下の項目を選択します。

 ・ Tool name: 使用するシミュレーターツール (今回の例では Questa Intel FPGA を選択)

 ・ Format for output netlist: 使用する言語を選択

 ・ Output directory : simulation/questa (デフォルトのままを推奨)

テストベンチの登録

Assignments メニュー > Settings > EDA Tool Settings > Simulation 内の Testbench specification 欄 右横にある [New] ボタンをクリックし、

New Test Benches Settings ダイアログボックスにおいて、シミュレーションに使用するテストベンチファイルを登録します。

 

 ・ Test bench name

    テストベンチのモジュール名を入力

 

 ・ Simulation period

    シミュレーション実行の終了時間を設定

 

 ・ File name

    右端の [...] ボタンをクリックし、テストベンチ・ファイルを選択。Add ボタンで登録。

 

▲ ページトップへ戻る

Simulation Flow Settings

① Assignments メニュー > Settings > EDA Tool Settings > Simulation 内の Format for output netlist 欄 右横にある [Simulation Flow Settings] ボタンを

  クリックします。

② 下記 2つのオプションをセットし、[OK] ボタンをクリックします。

  ・Command-line/batch mode = OFF

  ・Simulation scripts generation only = OFF

操作方法

① Analysis & Elaboration 実行します。

 

② View メニュー > Tcl Console ウィンドウを起動し、下記コマンドを入力し実行します。

  execute_flow -simulation

 

 

Quetsa-Intel FPGA Edition の GUI が自動的に起動し、ソースやシミュレーション・モデルのコンパイルやライブラリー作成が実行されます。

その後、シミュレーションが実行され、Wave ウィンドウに波形が表示されます。

▲ ページトップへ戻る

 

みなさんもぜひ、Pro Edition の最新 Ver. を使用して、Run Simulation 機能でファンクション・シミュレーションを実施してみてくださいね。

補足事項

Run Simulation 機能は、シミュレーターの GUI を閉じないと Quartus® Prime のステータスが Done しないため、

シミュレーションの実行自体が Done していても、Quartus® Prime の Process (Synthesis や Fitter などの実行) はグレーアウトになり実行できません。

シミュレーターの GUI を閉じる、または Quartus® Prime の Processing メニュー > Stop Processing を実施して終了させてください。

もし、シミュレーターの起動や実行を Quartus® Prime のプロセス実行の一連フローに含ませたくない場合は、

上記 Simulation Flow Settings でご紹介した下記オプションを On にすることにより、スクリプトだけを生成させることができますよ。

 

・ Simulation scripts generation only = ON

 

これで、execute_flow –simulation 実行後 スクリプトやバッチファイルを生成して、Quartus® Prime のプロセスは終了します。

 

   

 

あとは、生成された do ファイルを別途シミュレーターで利用する、もしくはバッチファイル (.bat) / シェルスクリプト(.sh) を利用してシミュレーターを起動・実行してください。

 

▲ ページトップへ戻る