Visible to Intel only — GUID: jbr1441156287689
Ixiasoft
Answers to Top FAQs
1. FPGA Simulation Basics
2. Siemens EDA QuestaSim* Simulator Support
3. Synopsys VCS* and VCS MX Support
4. Aldec Active-HDL and Riviera-PRO Support
5. Cadence Xcelium* Parallel Simulator Support
6. Quartus® Prime Pro Edition User Guide Third-party Simulation Archive
A. Quartus® Prime Pro Edition User Guides
1.1. FPGA Simulation Essential Elements
1.2. Overview of Simulation Tool Flow
1.3. Simulation Tool Flow
1.4. Supported Simulation Flows
1.5. Supported Hardware Description Languages
1.6. Supported Simulation Types
1.7. Supported Simulators
1.8. Post-Fit Simulation Support by FPGA Family
1.9. Automating Simulation with the Run Simulation Feature
1.10. Using Precompiled Simulation Libraries
1.11. FPGA Simulation Basics Revision History
1.9.2.1. Specifying Required Simulation Settings for Run Simulation (Batch Mode)
1.9.2.2. Optional Simulation Settings for Run Simulation (Batch Mode)
1.9.2.3. Launching Simulation with the Run Simulation Feature
1.9.2.4. Running RTL Simulation using Run Simulation
1.9.2.5. Output Directories and Files for Run Simulation
Visible to Intel only — GUID: jbr1441156287689
Ixiasoft
4.4. Sourcing Aldec ActiveHDL* or Riviera Pro* Simulator Setup Scripts
Follow these steps to incorporate the generated ActiveHDL* or Riviera Pro* simulation scripts into a top-level project simulation script.
- The generated simulation script contains the following template lines. Cut and paste these lines into a new file. For example, sim_top.tcl.
# # TOP-LEVEL TEMPLATE - BEGIN # # # # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to # # construct paths to the files required to simulate the IP in your Quartus # # project. By default, the IP script assumes that you are launching the # # simulator from the IP script location. If launching from another # # location, set QSYS_SIMDIR to the output directory you specified when you # # generated the IP script, relative to the directory from which you launch # # the simulator. # # # set QSYS_SIMDIR <script generation output directory> # # # # Source the generated IP simulation script. # source $QSYS_SIMDIR/aldec/rivierapro_setup.tcl # # # # Set any compilation options you require (this is unusual). # set USER_DEFINED_COMPILE_OPTIONS <compilation options> # set USER_DEFINED_VHDL_COMPILE_OPTIONS <compilation options for VHDL> # set USER_DEFINED_VERILOG_COMPILE_OPTIONS <compilation options for Verilog> # # # # Call command to compile the Quartus EDA simulation library. # dev_com # # # # Call command to compile the Quartus-generated IP simulation files. # com # # # # Add commands to 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) # # # vlog -sv2k5 <your compilation options> <design and testbench files> # # # # Set the top-level simulation or testbench module/entity name, which is # # used by the elab command to elaborate the top level. # # # set TOP_LEVEL_NAME <simulation top> # # # # Set any elaboration options you require. # set USER_DEFINED_ELAB_OPTIONS <elaboration options> # # # # Call command to elaborate your design and testbench. # elab # # # # Run the simulation. # run # # # # Report success to the shell. # exit -code 0 # # # # TOP-LEVEL TEMPLATE - END
- Delete the first two characters of each line (comment and space):
# TOP-LEVEL TEMPLATE - BEGIN # # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to # construct paths to the files required to simulate the IP in your Quartus # project. By default, the IP script assumes that you are launching the # simulator from the IP script location. If launching from another # location, set QSYS_SIMDIR to the output directory you specified when you # generated the IP script, relative to the directory from which you launch # the simulator. # set QSYS_SIMDIR <script generation output directory> # # Source the generated IP simulation script. source $QSYS_SIMDIR/aldec/rivierapro_setup.tcl # # Set any compilation options you require (this is unusual). set USER_DEFINED_COMPILE_OPTIONS <compilation options> set USER_DEFINED_VHDL_COMPILE_OPTIONS <compilation options for VHDL> set USER_DEFINED_VERILOG_COMPILE_OPTIONS <compilation options for Verilog> # # Call command to compile the Quartus EDA simulation library. dev_com # # Call command to compile the Quartus-generated IP simulation files. com # # Add commands to 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) # vlog -sv2k5 <your compilation options> <design and testbench files> # # Set the top-level simulation or testbench module/entity name, which is # used by the elab command to elaborate the top level. # set TOP_LEVEL_NAME <simulation top> # # Set any elaboration options you require. set USER_DEFINED_ELAB_OPTIONS <elaboration options> # # Call command to elaborate your design and testbench. elab # # Run the simulation. run # # Report success to the shell. exit -code 0 # # TOP-LEVEL TEMPLATE - END
- 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.
- Refer to the following sim_top.tcl example content, where this file is in the same aldec/ sub-folder as the rivierapro_setup.tcl file.
# TOP-LEVEL TEMPLATE - BEGIN # # QSYS_SIMDIR is used in the Quartus-generated IP simulation script to # construct paths to the files required to simulate the IP in your Quartus # project. By default, the IP script assumes that you are launching the # simulator from the IP script location. If launching from another # location, set QSYS_SIMDIR to the output directory you specified when you # generated the IP script, relative to the directory from which you launch # the simulator. # set QSYS_SIMDIR ../ # # Source the generated IP simulation script. source $QSYS_SIMDIR/aldec/rivierapro_setup.tcl # # Set any compilation options you require (this is unusual). set USER_DEFINED_COMPILE_OPTIONS "" set USER_DEFINED_VHDL_COMPILE_OPTIONS "" set USER_DEFINED_VERILOG_COMPILE_OPTIONS "" # # Call command to compile the Quartus EDA simulation library. dev_com # # Call command to compile the Quartus-generated IP simulation files. com # # Add commands to 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) # vlog -sv2k5 $QSYS_SIMDIR/PLL_RAM.v vlog -sv2k5 $QSYS_SIMDIR/testbench_1.v # # Set the top-level simulation or testbench module/entity name, which is # used by the elab command to elaborate the top level. # set TOP_LEVEL_NAME tb # # Set any elaboration options you require. set USER_DEFINED_ELAB_OPTIONS "" # # Call command to elaborate your design and testbench. elab # # Run the simulation. run -all # # Report success to the shell. exit -code 0 # # TOP-LEVEL TEMPLATE - END
- To view all available options, invoke the Active-HDL or Riviera-PRO license and launch the simulator by typing vsim in command-line mode. After the simulator launches, type help in the simulator Console panel. To view options related to a specific command, for example the vsim simulation command, type help vsim in the simulator Console panel.
- Run the new top-level script from the generated simulation directory in command-line mode. To run the simulation in GUI mode, type the following:
vsim -gui -l log.txt +access +r -lib dsn tb -do sim_top.tcl
To run the simulation in command-line mode, type the following:
vsim –c –do sim_top.tcl