F-Tile体系结构和PMA和FEC Direct PHY IP用户指南

ID 683872
日期 1/24/2024
Public
文档目录

5.7. 仿真F-Tile PMA/FEC Direct PHY设计

F-tile PMA/FEC Direct PHY设计的仿真需要运行Intel Quartus Prime Compiler的Analysis & ElaborationSupport-Logic Generation阶段,以细化您设计中的组件IP。接下来,您需要为Synopsys VCS*仿真器或 ModelSim* 仿真器生成仿真设置脚本。您可以修改并使用设置脚本来细化和仿真您的设计和测试台。

F-tile的仿真流程与其他串行接口tile不同。F-Tile PMA/FEC Direct PHY Intel® FPGA IP仿真流程的不同之处在于是您不能仿真单独的IP文件。

若要使用 VCS* 仿真F-tile 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。在synopsys/vcs目录中生成vcs_setup.sh文件,在common目录中生成vcs_files.tcl文件。
  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. 启动波形查看器(waveform viewer)。