F-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* デザイン例ユーザーガイド

ID 683372
日付 7/14/2022
Public
ドキュメント目次

3.3. デザイン例のシミュレーション

タイルファイルの生成

タイルファイルは、デザイン例の生成中に生成されます。デザイン例をシミュレーションする前に、Support-Logic Generationを手動で実行する必要はありません。

F-Tile Avalon-ST IP for PCI Expressを使用してデザインをゼロから作成した場合、タイルファイルの生成は、シミュレーションの前に必要な手順となります。インテルQuartus Prime開発ソフトウェア・プロ・エデイションのProcessingメニューでAnalysis & Elaborationを実行して、デザインのF-Tile固有のタイルファイルを生成できます。Support-Logic Generationコマンドは、プロセスの一部として自動的に実行されます。

タイルファイルの生成が成功すると、<IP_instance_name>__tiles.xファイルが生成されます。ここでのxは、必要なファイル拡張子を表します。生成されたファイルはプロジェクト・ディレクトリーにあり、シミュレーションおよび合成用の完全なネットリストが含まれています。

図 20. 手順
  1. 選択したシミュレーターの <example_design>/pcie_ed_tb/pcie_ed_tb/sim/<simulator> ディレクトリーでシミュレーション・スクリプトを実行します。以下の表を参照してください。
  2. 結果を解析します。
注: F-Tileは、並列PIPEシミュレーションをサポートしていません。
表 3.  シミュレーションの実行手順
シミュレーター 作業ディレクトリー 指示

VCS*

<example_design>/pcie_ed_tb/pcie_ed_tb/sim/synopsys/vcs/
  1. 次のコマンドを実行します。

    FASTSIMモードの場合、
    sh vcs_setup.sh USER_DEFINED_ELAB_OPTIONS="+vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ +define+RTLSIM\ +define+IP7581SERDES_UX_SIMSPEED\ +define+SSM_SEQUENCE\ +notimingcheck\ +nospecify\ " |tee simulation.log
    非FASTSIMモードの場合、
    sh vcs_setup.sh USER_DEFINED_COMPILE_OPTIONS="" USER_DEFINED_ELAB_OPTIONS="+vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ +define+RTLSIM\ +define+SSM_SEQUENCE\" USER_DEFINED_SIM_OPTIONS="" | tee simulation.log
    注: 上記のコマンドは、単一行コマンドです。
  2. シミュレーションが成功すると、生成されたsimulation.logファイルに次のメッセージ、
    "Simulation stopped due to successful completion!"
    が表示されて終了します。
注: インタラクティブ・モードでシミュレーションを実行するには、次の手順を使用します (非インタラクティブ・モードでsimv実行可能ファイルを既に生成している場合は、simvおよびsimv.diadirを削除します)。
  1. vcs_setup.sh ファイルを開き、デバッグオプションをVCSコマンドに追加します。
    vcs -debug_access+all
  2. デザイン例をコンパイルします。

    FASTSIMモードの場合、
    sh vcs_setup.sh USER_DEFINED_ELAB_OPTIONS="+vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ +define+RTLSIM\ +define+IP7581SERDES_UX_SIMSPEED\ +define+SSM_SEQUENCE\ " SKIP_SIM=1
    非FASTSIMモードの場合、
    sh vcs_setup.sh USER_DEFINED_ELAB_OPTIONS="+vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ +define+RTLSIM\ +define+SSM_SEQUENCE\ " SKIP_SIM=1
    注: 上記のコマンドは、単一行コマンドです。
  3. インタラクティブ・モードでシミュレーションを開始します。
    simv -gui &

VCS* MX

<example_design>/pcie_ed_tb/pcie_ed_tb/sim/synopsys/vcsmx/
  1. 次のコマンドを実行します。
    FASTSIMモードの場合、
    sh vcsmx_setup.sh USER_DEFINED_COMPILE_OPTIONS="+define+RTLSIM\ +define+IP7581SERDES_UX_SIMSPEED\ +define+SSM_SEQUENCE\ -sverilog\ +define+QUARTUS_ENABLE_DPI_FORCE\ " USER_DEFINED_ELAB_OPTIONS="\$QUARTUS_INSTALL_DIR/eda/sim_lib/quartus_dpi.c\ -debug_access+f\ +vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ " USER_DEFINED_SIM_OPTIONS="" | tee simulation.log
    非FASTSIMモードの場合、
    sh vcsmx_setup.sh USER_DEFINED_COMPILE_OPTIONS="+define+RTLSIM\ +define+SSM_SEQUENCE\ -sverilog\ +define+QUARTUS_ENABLE_DPI_FORCE\ " USER_DEFINED_ELAB_OPTIONS="\$QUARTUS_INSTALL_DIR/eda/sim_lib/quartus_dpi.c\ -debug_access+f\ +vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ " USER_DEFINED_SIM_OPTIONS="" | tee simulation.log
    注: 上記のコマンドは、単一行コマンドです。
  2. シミュレーションが成功すると、生成されたsimulation.logファイルに次のメッセージ、
    "Simulation stopped due to successful completion!"
    が表示されます。
注: インタラクティブ・モードでシミュレーションを実行するには、次の手順を使用します (非インタラクティブ・モードでsimv実行可能ファイルを既に生成している場合は、simvおよびsimv.diadirを削除します)。
  1. vcsmx_setup.shファイルを開き、デバッグオプションをVCSコマンドに追加します。
    vcs -debug_access+all
  2. デザイン例をコンパイルします。

    FASTSIMモードの場合、
    sh vcsmx_setup.sh USER_DEFINED_COMPILE_OPTIONS="+define+RTLSIM\ +define+IP7581SERDES_UX_SIMSPEED\ +define+SSM_SEQUENCE\ -sverilog\ " USER_DEFINED_ELAB_OPTIONS="+vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ " USER_DEFINED_SIM_OPTIONS="" SKIP_SIM=1
    非FASTSIMモードの場合、
    sh vcsmx_setup.sh USER_DEFINED_COMPILE_OPTIONS="+define+RTLSIM\ +define+SSM_SEQUENCE\ -sverilog\ " USER_DEFINED_ELAB_OPTIONS="+vcs+lic+wait\ -full64\ -hsopt=gates\ -debug_pp\ " USER_DEFINED_SIM_OPTIONS="" SKIP_SIM=1
    注: 上記のコマンドは、単一行コマンドです。
  3. インタラクティブ・モードでシミュレーションを開始します。
    simv -gui &

QuestaSim*

ModelSim* - Intel® FPGA Starter Edition

Questa* Intel® FPGA Starter Edition

<example_design>/ pcie_ed_tb/pcie_ed_tb/sim/mentor/

  1. vsim を呼び出します (vsimと入力すると、次のコマンドを実行できるコンソールウィンドウが表示されます)。
  2. msim_setup.tcl を実行します。
  3. TOP_LEVEL_NAME "pcie_ed_tb.pcie_ed_tb"を設定します [Windows環境のみ必須]
  4. USER_DEFINED_COMPILE_OPTIONS "+define+IP7581SERDES_UX_SIMSPEED" を設定します [FASTSIMモードをイネーブルする]
  5. ld_debug
  6. run -all
  7. シミュレーションが成功すると、次のメッセージが表示されて終了します。
    "Simulation stopped due to successful completion!"

Xcelium*

<example_design>/ pcie_ed_tb/pcie_ed_tb/sim/xcelium/

  1. 次のコマンドを実行します。

    FASTSIMモードの場合、
    sh xcelium_setup.sh USER_DEFINED_VERILOG_COMPILE_OPTIONS="+define+RTLSIM\ +define+IP7581SERDES_UX_SIMSPEED\ +define+SSM_SEQUENCE\ -sv\" USER_DEFINED_ELAB_OPTIONS="-timescale\ 1ns/1ps" USER_DEFINED_SIM_OPTIONS="-input\ @run" | tee simulation.log
    非FASTSIMモードの場合、
    sh xcelium_setup.sh USER_DEFINED_VERILOG_COMPILE_OPTIONS="+define+RTLSIM\ +define+SSM_SEQUENCE\ -sv\" USER_DEFINED_ELAB_OPTIONS="-timescale\ 1ns/1ps" USER_DEFINED_SIM_OPTIONS="-input\ @run" | tee simulation.log
    注: 上記のコマンドは、単一行コマンドです。
  2. シミュレーションが成功すると、生成されたsimulation.logファイルに次のメッセージが表示されて終了します。
    "Simulation stopped due to successful completion!"

エラーが発生しない場合、シミュレーションは"Simulation stopped due to successful completion"と報告します。

同じ手順が、PCIe Gen3/4 x16、PCIe Gen3/4 x8x8、およびPCIe Gen3/4 x8のデザイン例バリアントに適用されます。