Visible to Intel only — GUID: mwh1410383476937
Ixiasoft
Answers to Top FAQs
1. FPGA Simulation Basics
2. Siemens EDA QuestaSim* Simulator Support
3. Synopsys VCS* 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.3.1. Specifying Required Simulation Settings for Run Simulation (Batch Mode)
1.9.3.2. Optional Simulation Settings for Run Simulation (Batch Mode)
1.9.3.3. Launching Simulation with the Run Simulation Feature
1.9.3.4. Running RTL Simulation using Run Simulation
1.9.3.5. Output Directories and Files for Run Simulation
Visible to Intel only — GUID: mwh1410383476937
Ixiasoft
3.3. VCS Simulation Setup Script Example
The Quartus® Prime software can generate a simulation setup script for IP cores in your design. The scripts contain shell commands that compile the required simulation models in the correct order, elaborate the top-level design, and run the simulation for 100 time units by default. You can run these scripts from a Linux command shell.
The scripts for VCS are vcs_setup.sh (for Verilog HDL or SystemVerilog). Read the generated .sh script to see the variables that are available for override when sourcing the script or redefining directly if you edit the script. To set up the simulation for a design, use the command-line to pass variable values to the shell script.
The Quartus® Prime software can generate two types of VCS simulation scripts:7
- VCS (3-step) flow—supports a flow where the source files compile into separate libraries (using vlogan and vhdlan commands), and the vcs command does not take source files as arguments.
- VCS 2-step) flow—support a flow where the source files are specified on the vcs command-line.
Note: Beginning with Quartus® Prime software version 24.2, the VCS (2-step) flow is not supported for Agilex™ 5 devices. Agilex™ 5 devices support VCS only using the VCS (3-step) flow.
Using Command-line to Pass Simulation Variables
sh vcsmx_setup.sh\ USER_DEFINED_ELAB_OPTIONS=+rad\ USER_DEFINED_SIM_OPTIONS=+vcs+lic+wait
Example Top-Level Simulation Shell Script for VCS-MX
# Run generated script to compile libraries and IP simulation files # Skip elaboration and simulation of the IP variation sh ./ip_top_sim/synopsys/vcsmx/vcsmx_setup.sh SKIP_ELAB=1 SKIP_SIM=1 QSYS_SIMDIR="./ip_top_sim" #Compile top-level testbench that instantiates IP vlogan -sverilog ./top_testbench.sv #Elaborate and simulate the top-level design vcs –lca –t ps <elaboration control options> top_testbench simv <simulation control options>
Example Top-Level Simulation Shell Script for VCS
# Run script to compile libraries and IP simulation files sh ./ip_top_sim/synopsys/vcs/vcs_setup.sh TOP_LEVEL_NAME=”top_testbench”\ # Pass VCS elaboration options to compile files and elaborate top-level passed to the script as the TOP_LEVEL_NAME USER_DEFINED_ELAB_OPTIONS="top_testbench.sv"\ # Pass in simulation options and run the simulation for specified amount of time. USER_DEFINED_SIM_OPTIONS=”<simulation control options>
Related Information
7 Starting in version 25.1, the "VCS MX" tool flow is now referred to as the "VCS (3-step) flow" which is fully supported. The “VCS” tool flow is now referred to as “VCS (2-step) flow" which is also supported but is deprecated.