Article header library fpga  15

FPGA のファンクション・シミュレーションは NativeLink で解決しよう

Article header hanako 25x25  69

こんにちは。
マクニカで インテル® FPGA 製品の技術サポートをしている インテル・アルテラ・ハナコ です。

インテル FPGA 向けのデザインをファンクション・シミュレーションする場合、EDA シミュレーターを使用していると思います。今回はその作業フローにおいて "NativeLink シミュレーション" をご紹介します。ハナコも一押しのフローです!
今回は、ModelSim® - Intel® FPGA Edition (以下、ModelSim - IFE。Starter Edition を含む。) をシミュレーション・ツールに用いてご紹介します。


NativeLink とは

Quartus® Prime から EDA ツールを実行させることを NativeLink (ネイティブリンク) と言います。
例えば、Quartus Prime のメニューをクリックすると、ModelSim - IFE が起動して、シミュレーションに必要なコンパイルやロードが実行され、シミュレーション結果を波形ウィンドウに表示、ここまで自動的に実行されます。
ModelSim - IFE のGUI オペレーションがわからない人でもシミュレーションが実施できるだけでなく、オペレーションの作業効率を上げたい人にも非常にオススメのフローです。

Article header hanako 25x25  71

ハナコのつぶやき
IP Catalog や Platform Designer で作成した IP (Intellectual Property) モジュールがデザインに含まれている場合、シミュレーション・ツールに対してどのライブラリを使えば良いのかわかりますか?
そんな心配を払拭してくれるのが、NativeLink シミュレーション!
この方法なら、IP モジュールをファンクション・シミュレーションするために必要なライブラリをすべて自動的に読み込んでくれるんです。

NativeLink のサポート環境

NativeLink が使用できる環境を以下に示します。

表1. NativeLink サポート環境
対応する
Quartus Prime
Quartus Prime Standard Edition / Quartus Prime Lite Edition
※ Pro Edition はサポート対象外
サポートする
シミュレーション・
ツール
(注1)
Aldec Active-HDL / Riviera-PRO
Cadence Incisive Enterprise Simulator (IES)
Mentor Graphics ModelSim PE / ModelSim SE / Questa®
Mentor Graphics ModelSim - Intel FPGA Edition
Synopsys VCS and VCS MX
注1: 各 EDA ツールの対応バージョンは、ご利用になるバージョンの Quartus Prime のリリースノートをご確認ください。

なお、ModelSim - IFE を含む EDA シミュレーターは、Quartus Prime のスケマティック・ファイル(*.bdf) をサポートしておりません。そのため、NativeLink でファンクション・シミュレーションを実行する際は、全ての .bdf ファイルを HDL に変換あるいは書き直すなどの対応をした上でご利用ください。

環境を設定する

NativeLink を実行するための環境を構築します。

  1. Quartus Prime の Tools メニュー ➤ Options ➤ General 下にある EDA Tool Options をクリックします。

  1. ModelSim-Altera 行 右横のブラウザ・ボタンをクリックし、実行プログラムが保存されているフォルダの絶対パスを指定します。
    Windows OS であれば modelsim.exe が保存されている win32aloem フォルダを指定してください。

Article header img1  28

EDA Tool Options

作業フロー

  1. Quartus Prime プロジェクトに、Quartus Prime のコンパイルに必要なデザインを全て登録します。

  2. Project メニュー ➤ Add/Remove Files in Project

    ※ IP を含むデザインの場合には、ハナコ’s ポイント♪① / ハナコ’s ポイント♪② を必ず確認してください。
    ※ IP を含まないデザインの場合、または 2. へすぐ移動したい場合は、次へ 進んでください。

Article header point %e5%8f%b3  2

ハナコ's ポイント♪ ①
Platform Designer で作成した IP が含まれる場合は、Generate HDL 実行時にポップアップされる Generation ダイアログボックス内の "Create simulation model オプション" を有効にしてください。
生成する言語を選択後に Generate (または Generate HDL) ボタンをクリックすると、シミュレーション・ツール向けのファンクション・モデルも生成されます。

Article header img2  18

Generation ダイアログボックス

Article header point %e5%8f%b3  3

ハナコ's ポイント♪ ②
IP Catalog および Platform Designer で作成した IP モジュールがデザインに含まれる場合には、Quartus Prime の下記メニューにより <ip_name>.qip と同様に <ip_name>.sip を必ず登録してください。

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

Article header img3  24

.sip ファイルを Quartus Prime プロジェクトへ登録

<関連 FAQ> .sip ファイルとはどのようなファイルですか?

.sip ファイルの生成場所は、IP Catalog / Platform Designer のどちらで IP モジュールを作成したかで異なります。

【IP Catalog で作成した IP モジュール】
<ip_name>.v (または .vhd) が生成されたフォルダ内に .sip ファイルが生成されます。
(※ <ip_name>_sim フォルダと同階層のフォルダにあります。)

Article header img4  24

IP Catalog で作成した IP モジュールのフォルダ構成

【Platform Designer で作成した IP モジュール】
<ip_name>. フォルダ ➤ simulation フォルダ内に .sip ファイルが生成されます。

Article header img5  15

Platform Designer で作成した IP モジュールのフォルダ構成

  1. Assignments ➤ Settings ➤ EDA Tool Settings ➤ Simulationを選択し、EDA Netlist Writer settings 内の下記項目を設定します。

  • Tool name : ModelSim-Altera (ModelSim - Intel FPGA Edition のこと。)
  • Format for output netlist : Verilog HDL (参考: ハナコ's ポイント♪③)
  • Output directory : simulation/modelsim (デフォルトのまま)

Article header img6  10

EDA Netlist Writer settings

Article header point %e5%8f%b3  4

ハナコ's ポイント♪ ③
IP 作成時のシミュレーション・モデルやテストベンチが VHDL であっても、ここのオプションは Verilog HDL の選択をオススメします。
この選択言語は、NativeLink 実行用スクリプトの vsim -L コマンドに影響します。
近年の IP は シミュレーション・モデルの言語選択を VHDL で指定しても、下位モデルは SystemVeriog で構成されていることが多く、必然的に Verilog 用のシミュレーション・ライブラリが必要になります。その場合、vsim -L コマンドで Verilog 用のライブラリを漏れなく指定する必要があるため、VHDL でモデルを生成してもFormat for output netlist は Verilog HDL をご利用ください。

  1. NativeLink settings 内にて、テストベンチを登録します。
    Compile test bench を選択し、Test Benches ボタンをクリックします。

Article header img7  8

NativeLink settings

Test Benches ウィンドウの New ボタンをクリックします。

Article header img8  8

Test Benches ウィンドウ

New Test Benches Settings ダイアログボックスにおいて、下記項目を設定します。

  • Test bench name : テストベンチのモジュール名を入力 (下段の Top Level module in test bench 欄も同時入力)
  • Simulation period : シミュレーション実行の終了時間を設定
  • File name : ブラウズボタをクリックし、テストベンチ・ファイルを選択。Add ボタンで登録。

Article header img9  7

New Test Benches Settings ダイアログボックス

各ウィンドウを OK で閉じ、Settings ウィンドウへ戻ります。


  1. NativeLink でファンクション・シミュレーションを実行!
    Tools メニュー ➤ Run Simulation Tool ➤ RTL Simulation をクリックします。
  2. ※ RTL Simulation 実行には、事前に Analysis & Elaboration 以上のプロセスが実行されている必要があります。

Article header img10  16

RTL Simulation

ModelSim - IFE におけるコンパイル、ライブラリの適用、ロード、Wave ウィンドウへの信号追加、そしてシミュレーション実行。これらすべてのオペレーションが自動的に実施され、Wave ウィンドウに波形が表示されます。

Article header img11  13

シミュレーション実行

ユーザーは Wave ウィンドウを確認するだけ!なんて効率が良いことでしょう♪
みなさんも是非、ファンクション・シミュレーションは NativeLink で実施してみてください。


おすすめ記事/資料はこちら

おすすめ FAQ はこちら

関連タグ