FタイルのアーキテクチャーとPMAおよびFEC Direct PHY IPのユーザーガイド

ID 683872
日付 1/24/2024
Public
ドキュメント目次

5.7. FタイルPMA/FEC Direct PHYデザインのシミュレーション

FタイルPMA/FEC Direct PHYデザインのシミュレーションでは、 Quartus® Primeコンパイラーの Analysis & Elaboration ステージおよび Support-Logic Generation ステージを行い、デザインのコンポーネントIPをエラボレーションする必要があります。次に、Synopsys VCS* シミュレーターまたは ModelSim* シミュレーターに向けたシミュレーター・セットアップ・スクリプトを生成します。セットアップ・スクリプトを変更して使用することで、デザインとテストベンチのエラボレーションおよびシミュレーションを行うことができます。

Fタイルのシミュレーション・フローは、他のシリアル・インターフェイス・タイルとは異なります。F-Tile PMA/FEC Direct PHY Intel® FPGA IPのシミュレーション・フローにおける違いは、個々のIPファイルをシミュレーションできないことです。

VCS* を使用してFタイルPMA/FEC Direct PHYデザインをシミュレーションするには、次の手順に従います。

  1. Processing > Start > Start Analysis & Elaboration をクリックします。エラーメッセージを確認して修正します。
  2. Compilation Dashboardで、Support-Logic Generation をクリックします。エラーメッセージを確認して修正します。
    注: <top_level>_auto_tiles.sv ファイルは、support_logic フォルダーに自動生成されます。例えば、最上位エンティティーが top の場合、生成されるファイルは top_auto_tiles.sv です。これをテストベンチでインスタンス化する必要があります。
  3. Tools > Generate Simulator Setup Script for IP をクリックし、デフォルトのオプションを保ちます。Use top-level entity names from Quartus project オプションがオンになっていないことを確認します。
    図 109. Generate Simulator Setup Script for IPダイアログボックス
  4. OK をクリックします。vcs_setup.sh ファイルが synopsys/vcs ディレクトリーに生成され、vcs_files.tclcommon ディレクトリーに生成されます。
  5. /synopsys/vcs ディレクトリーに移動します。
  6. vcs_setup.sh の手順を確認し、シミュレーションの vcs_sim.sh ファイルを作成します。次に、vcs_sim.sh の例を示します。vcs_sim.sh のコンテンツは、デザインの特性によって異なります。
    source ./vcs_setup.sh \
    TOP_LEVEL_NAME=top_tb \
    QSYS_SIMDIR=../.. \
    USER_DEFINED_ELAB_OPTIONS="\"-full64 +v2k -hsopt=gates \
    +systemverilogext+.sv -sverilog -lca +lint=TFIPC-L +lint=PCWM -wreal
    res_def \
    -xlrm coerce_nettype -timescale=1ns/1ps +vcs+vcdpluson +vpddrivers \
    +define+TIMESCALE_EN +define+INTC_FUNCTIONAL +define+RTLSIM \
    +define+SSM_SEQUENCE \
    +define+IP7581SERDES_UXS2T1R1PGD_PIPE_SPEC_FORCE \
    +define+IP7581SERDES_UXS2T1R1PGD_PIPE_SIMULATION \
    +define+IP7581SERDES_UXS2T1R1PGD_PIPE_FAST_SIM +error+1000 \
    +define+__SRC_TEST__ -debug_access+r+driver+f -debug_region+encrypt \
    +rad -f ./filelist.f \" " \
    USER_DEFINED_ELAB_OPTIONS_APPEND="\" -l vcs.log\" "
    ./simv +lic+wait -l simulation.log +fsdb+mda=on +fsdbfile+novas.fsdb
    注:

    リアルタイムのシミュレーション時間を短縮する目的で、Fast Sim モデルを使用することができます。このモデルは、シミュレーション実行スクリプトのマクロを介して有効になります。Fast Sim モデルを有効にする構文は次のとおりです。

    +define+IP7581SERDES_UX_SIMSPEED
  7. テストベンチを作成します。
    • VerilogまたはSystemVerilogテストベンチの場合
      テストベンチで最上位モジュールを呼び出す際に、モジュール名はインスタンス名と同じにする必要があります。例えば、次のようになります。
      top top (
      ports passing
      );
      モジュール名とインスタンス名が一致しないと、コンパイル時にエラーが発生します。例えば、次の場合はコンパイル時にエラーが発生します。
      top top_instant0 (
      ports passing
      );
      また、このインスタンス化をテストベンチに追加します。
      top_auto_tiles <any names> ();
      例えば、<any names>top_auto_tiles_inst1 などになります。
    • VHDLテストベンチの場合
      モジュール名とインスタンス名は異なります。例えば、次のようになります。
      DUT_top: top 
      port map ( ports passing
      );
      また、このインスタンス化をテストベンチに追加します。
      <different names>: top_auto_tiles ;
      例えば、<different names>DUT_top_auto_tiles などになります。
  8. filelist.f ファイルを作成します。vcs_setup.sh には、filelist.f の手順が含まれています。filelist.f には、すべてのテストベンチ・ファイルとトップレベルが含まれています。ファイルの位置は vcs_sim.sh コマンドに相対することに注意してください。次に、filelist.f の一例を示します。filelist.f のコンテンツは、デザインの特性によって異なります。
    # # DESIGN FILE LIST & OPTIONS TEMPLATE - BEGIN 
    # # 
    # # Compile all design files and testbench files, including the top level. 
    # # (These are all the files required for simulation other than the files 
    # # compiled by the Quartus-generated IP simulation script) 
    # # 
    # +systemverilogext+.sv 
    # <design and testbench files, compile-time options, elaboration options> 
    # # 
    # # DESIGN FILE LIST & OPTIONS TEMPLATE - END 
     
    ../../top.v 
    ../../top_tb.v
  9. VCSのコンパイルとシミュレーションを開始します。
  10. 波形ビューアーを起動します。