2.1. FPGA Simulation Essential Elements
2.2. Overview of Simulation Tool Flow
2.3. Simulation Tool Flow
2.4. Supported Hardware Description Languages
2.5. Supported Simulation Types
2.6. Supported Simulators
2.7. Automating Simulation with the Run Simulation Feature
2.8. Using Precompiled Simulation Libraries
2.9. Enabling Fast Simulation Models for Agilex™ Devices
2.7.3.1. Specifying Required Simulation Settings for Run Simulation (Batch Mode)
2.7.3.2. Optional Simulation Settings for Run Simulation (Batch Mode)
2.7.3.3. Launching Simulation with the Run Simulation Feature
2.7.3.4. Running RTL Simulation using Run Simulation
2.7.3.5. Output Directories and Files for Run Simulation
3.1. Types of Questa*-Altera® FPGA Edition Commands
3.2. Commands to Invoke Questa*-Altera® FPGA Edition
3.3. Commands to Compile, Elaborate, and Simulate
3.4. Why You Should Only Use Precompiled Questa*-Altera® FPGA Edition Libraries
3.5. Generating a msim_setup.tcl Simulation Script for RTL Simulation
3.6. Using the Qrun Flow
3.7. Performing RTL Simulation with Questa*-Altera® FPGA Edition
3.8. Performing Gate-Level Simulation with Questa*-Altera® FPGA Edition
3.3.1.1. Compilation Example 1: Compile File foo.sv into a Logical Library
3.3.1.2. Compilation Example 2: Compile File design1.sv to Default Library (work)
3.3.1.3. Compilation Example 3: Compile All .sv Files into Logical Library foo
3.3.1.4. Compilation Example 4: Compile File foo.sv into Work with Verilog Macro FAST Set to 1
3.3.1.5. Compilation Example 5: File my_pkg.sv Defines SystemVerilog Package my_pkg and File foo.sv Imports my_pkg
3.3.1.6. Compilation Example 6: File my_pkg.sv Defines Systemverilog Package my_pkg and File foo.sv Imports my_pkg
3.3.4.1. Simulation Example 1: Run Simulation Until the End, while Capturing Waveforms of All Top-Level Signals in the Testbench
3.3.4.2. Simulation Example 2: Run Simulation for 30 Milliseconds, while Capturing Waveforms of All Top-Level Signals in the Hierarchy
3.3.4.3. Simulation Example 3: Run Simulation Until the End, while Capturing Waveforms of Top-Level Design Instance
3.8.1. Post-Synthesis and Post-Fit Netlists for Simulation
3.8.2. Files Required for Gate-Level Simulation
3.8.3. Step 1: Generate Gate-Level Netlists for Simulation
3.8.4. Step 2: Identify Simulation Files and Compilation Options for Gate-Level Simulation
3.8.5. Step 3: Determine Elaboration Options for Gate-Level Simulation
3.8.6. Step 4: Assemble and Run the Gate-Level Simulation Script
2.9. Enabling Fast Simulation Models for Agilex™ Devices
For the Agilex™ portfolio of FPGA devices, the default simulation model for IP example designs is a fast simulation model that offers improved simulation time.
Restriction: Fast simulation models are not available for the following IPs:
- R-Tile for Compute Express Link (CXL) Solution
AXI Multichannel DMA IP for PCI Express
DisplayPort IP
To enable the fast simulation models:
- Generate the example design from the .ip file or create a custom design for simulation.
- Update the auto-generated simulation script to point to Fast Simulation Models in Agilex™ 3, Agilex™ 5, or Agilex™ 7 FPGA designs by setting the simulation environment variables as follows:
- For Siemens EDA QuestaSim* simulators, update the Tcl-based scripts (msim_setup.tcl) with the following variables:
set DEVICES_SIM_LIB_DIR "$QUARTUS_INSTALL_DIR/../devices/sim_lib2/" set QUARTUS_SIM_LIB_DIR "$QUARTUS_INSTALL_DIR/eda/sim_lib2/
- For Synopsys VCS* simluators, udate the Platform Designer-generated script (vcs_setup.sh or vcsmx_setup.sh) with the following variables:
DEVICES_SIM_LIB_DIR="$QUARTUS_INSTALL_DIR/../devices/sim_lib2/" QUARTUS_SIM_LIB_DIR="$QUARTUS_INSTALL_DIR/eda/sim_lib2/
- For Siemens EDA QuestaSim* simulators, update the Tcl-based scripts (msim_setup.tcl) with the following variables:
- Update the auto-generated simulation scripts to remove commands or options that slow down the simulation as follows:
- For Siemens EDA QuestaSim* simulators, make the following updates:
- In the top-level example design simulation script, ensure ld and elab are called (instead of ld_debug and elab_debug).
- If present, remove -voptargs=+acc under elab_debug in mentor/msim_setup.tcl.
- If present, remove -voptargs=+acc under proc get_elab_options in common/modelsim_files.tcl.
- Remove commands that dump out waveforms and other commands or options that can slow down the simulation.
- For Synopsys VCS* simluators, make the following updates:
- Remove any debug elaboration options in the top-level script ( start with -debug_).
- Remove the -kdb option and any elaboration and simulation options to dump waveforms (such as +fsdb or +vpd dumps).
- For Siemens EDA QuestaSim* simulators, make the following updates:
Revert to Default Simulation Models
To revert to the default simulation models from the fast simulation models:
- Generate the example design from the .ip file or create a custom design for simulation.
- Update the auto-generated simulation scripts by setting the simulation environment variables as follows:
- For Siemens EDA QuestaSim* simulators, update the Tcl-based scripts (msim_setup.tcl) with the following variables:
set DEVICES_SIM_LIB_DIR "$QUARTUS_INSTALL_DIR/../devices/sim_lib/" set QUARTUS_SIM_LIB_DIR "$QUARTUS_INSTALL_DIR/eda/sim_lib/
- For Synopsys VCS* simluators, udate the Platform Designer-generated script (vcs_setup.sh or vcsmx_setup.sh) with the following variables:
DEVICES_SIM_LIB_DIR="$QUARTUS_INSTALL_DIR/../devices/sim_lib/" QUARTUS_SIM_LIB_DIR="$QUARTUS_INSTALL_DIR/eda/sim_lib/
- For Siemens EDA QuestaSim* simulators, update the Tcl-based scripts (msim_setup.tcl) with the following variables: