1.7. Using Command-Line Executables in Scripts
To set up a new project and apply individual constraints, such as pin location assignments and timing requirements, you must use a Tcl script or the Intel® Quartus® Prime GUI.
Command-line executables are very useful for working with existing projects, for making common global settings, and for performing common operations. For more flexibility in a flow, use a Tcl script. Additionally, Tcl scripts simplify passing data between different stages of the design flow.
For example, you can create a UNIX shell script to run a third-party synthesis software, place-and-route the design in the Intel® Quartus® Prime software, and generate output netlists for other simulation software.
This script shows a script that synthesizes a design with the Synopsys* Synplify software, simulates the design using the Mentor Graphics* ModelSim® software, and then compiles the design targeting a Cyclone® V device.
#!/bin/sh # Run synthesis first. # This example assumes you use Synplify software synplify -batch synthesize.tcl # If your Quartus Prime project exists already, you can just # recompile the design. # You can also use the script described in a later example to # create a new project from scratch quartus_sh --flow compile myproject # Use the quartus_sta executable to do fast and slow-model # timing analysis quartus_sta myproject --model=slow quartus_sta myproject --model=fast # Use the quartus_eda executable to write out a gate-level # Verilog simulation netlist for ModelSim quartus_eda my_project --simulation --tool=modelsim --format=verilog # Perform the simulation with the ModelSim software vlib cycloneV_ver vlog -work cycloneV_ver /opt/quartusii/eda/sim_lib/cycloneV_atoms.v vlib work vlog -work work my_project.vo vsim -L cycloneV_ver -t 1ps work.my_project