Introduction to Intel® FPGA IP Cores

ID 683102
Date 4/03/2023
Public
Document Table of Contents

1.9.4.1.3. Sourcing Cadence Xcelium* Simulator Setup Scripts

  1. The generated simulation script contains the following template lines. Cut and paste these lines into a new file. For example, xmsim.sh.
    # #Start of template
    # # Xcelium Simulation Script.
    # # If the copied and modified template file is "xmsim.sh", run it as:
    # # ./xmsim.sh 
    # # 
    # # Do the file copy, dev_com and com steps 
    # source <script generation output directory>/xcelium/xcelium_setup.sh \
    # SKIP_ELAB=1 \
    # SKIP_SIM=1 \
    # USER_DEFINED_COMPILE_OPTIONS=<compilation options for your design> \
    # USER_DEFINED_VHDL_COMPILE_OPTIONS=<VHDL compilation options for your 
    # design> \
    # USER_DEFINED_VERILOG_COMPILE_OPTIONS=<Verilog compilation options for  
    # your design> \
    # QSYS_SIMDIR=<script generation output directory>
    # #
    # # 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 IP script)
    # #
    # xmvlog <compilation options> <design and testbench files>
    # #
    # # TOP_LEVEL_NAME is used in this script to set the top-level simulation
    # # or testbench module/entity name.
    # #
    # # Run the IP script again to elaborate and simulate the top level:
    # # - Specify TOP_LEVEL_NAME and USER_DEFINED_ELAB_OPTIONS.
    # # - Override the default USER_DEFINED_SIM_OPTIONS. For example, to run
    # #   until $finish(), set to an empty string: USER_DEFINED_SIM_OPTIONS="".
    # #
    # source <script generation output directory>/xcelium/xcelium_setup.sh \
    # SKIP_FILE_COPY=1 \
    # SKIP_DEV_COM=1 \
    # SKIP_COM=1 \
    # TOP_LEVEL_NAME=<simulation top> \
    # USER_DEFINED_ELAB_OPTIONS=<elaboration options for your design> \
    # USER_DEFINED_SIM_OPTIONS=<simulation options for your design>
    # # End of template
  2. Delete the first two characters of each line (comment and space):
    # Start of template
    # Xcelium Simulation Script (Beta Version).
    # If the copied and modified template file is "xmsim.sh", run it as:
    # ./xmsim.sh 
    # 
    # Do the file copy, dev_com and com steps 
    source <script generation output directory>/xcelium/xcelium_setup.sh \
    SKIP_ELAB=1 \
    SKIP_SIM=1 \
    USER_DEFINED_COMPILE_OPTIONS=<compilation options for your design> \
    USER_DEFINED_VHDL_COMPILE_OPTIONS=<VHDL compilation options for your design> \
    USER_DEFINED_VERILOG_COMPILE_OPTIONS=<Verilog compilation options for your design> \
    QSYS_SIMDIR=<script generation output directory>
    #
    # 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 IP script)
    #
    xmvlog <compilation options> <design and testbench files>
    #
    # TOP_LEVEL_NAME is used in this script to set the top-level simulation or
    # testbench module/entity name.
    #
    # Run the IP script again to elaborate and simulate the top level:
    # - Specify TOP_LEVEL_NAME and USER_DEFINED_ELAB_OPTIONS.
    # - Override the default USER_DEFINED_SIM_OPTIONS. For example, to run
    #   until $finish(), set to an empty string: USER_DEFINED_SIM_OPTIONS="".
    #
    source <script generation output directory>/xcelium/xcelium_setup.sh \
    SKIP_FILE_COPY=1 \
    SKIP_DEV_COM=1 \
    SKIP_COM=1 \
    TOP_LEVEL_NAME=<simulation top> \
    USER_DEFINED_ELAB_OPTIONS=<elaboration options for your design> \
    USER_DEFINED_SIM_OPTIONS=<simulation options for your design>
    # End of template
  3. If necessary, add the QSYS_SIMDIR variable to point to the location of the generated IP simulation files. Specify any other changes that you require to match your design simulation requirements. The scripts offer variables to set compilation or simulation options. Refer to the generated script for details.
  4. Run the resulting top-level script from the generated simulation directory by specifying the path to xmsim.sh.