execute_flow (::quartus::flow)

The following table displays information for the execute_flow Tcl command:

Tcl Package and Version

Belongs to ::quartus::flow 1.1

Syntax execute_flow [-h | -help] [-long_help] [-analysis_and_elaboration] [-check_ios] [-check_netlist] [-compile] [-compile_and_simulate] [-dont_export_assignments] [-eco] [-eda_synthesis] [-export_database] [-finalize] [-generate_functional_sim_netlist] [-implement] [-import_database] [-incremental_compilation_export] [-incremental_compilation_import] [-recompile] [-signalprobe] [-vqm_writer]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-analysis_and_elaboration Option to run Analysis &Elaboration
-check_ios Option to run I/O assignment analysis
-check_netlist Option to run Check and Save Netlist
-compile Option to run a full compilation
-compile_and_simulate Option to run a full compilation followed by a simulation
-dont_export_assignments Option not to export assignments to file. By default, this command exports assignments before running command-line executables.
-eco Option to run a Fitter ECO compilation
-eda_synthesis Option to run EDA Synthesis
-export_database Option to export a version-compatible database
-finalize Option to run algorithms to prepare design for programming.
-generate_functional_sim_netlist Option to generate a functional simulation netlist
-implement Option to run compilation up to route stage and skipping all time intensive algorithms after.
-import_database Option to import a version-compatible database
-incremental_compilation_export Option to export a design partition into a Quartus Prime Exported Partition (QXP) file
-incremental_compilation_import Option to import one or more Quartus Prime Exported Partition (QXP) files into the design partitions of the current project
-recompile Option to run a Rapid Recompile
-signalprobe Option to run a Signal Probe compilation
-vqm_writer Option to run VQM Writer
Description

Runs one or more of the command-line executables using one of the
predefined flows, such as "-compile" or "-signalprobe". You can run
only one flow at a time, so you must use only one option.

Some flows have limited device support or other limitations based on
the features used. See documentation for the features in question for
details.

The "-export_database" and "-import_database" options use the value of
the VER_COMPATIBLE_DB_DIR assignment for the version-compatible
database files directory, defaulting to "export_db".

The "-incremental_compilation_export" option uses the value of the
INCREMENTAL_COMPILATION_EXPORT_FILE global assignment for the path of
the Quartus Prime Exported Partition (QXP) file to be created. The value
of the INCREMENTAL_COMPILATION_EXPORT_PARTITION_NAME global assignment
should specify the name of the partition to be exported. The value of
the INCREMENTAL_COMPILATION_EXPORT_NETLIST_TYPE global assignment
(which can either have value POST_SYNTH or POST_FIT) determines
whether post-synthesis or post-fitting results should be
exported. Finally, the value of the
INCREMENTAL_COMPILATION_EXPORT_ROUTING global assignment specifies
whether routing should be exported when a post-fit netlist is
generated.

The "-incremental_compilation_import" option uses the following
partition assignments to determine the location of the QXP files, and
how importation should be performed, on a per-partition basis:

PARTITION_IMPORT_FILE	
PARTITION_IMPORT_PROMOTE_ASSIGNMENTS
PARTITION_IMPORT_NEW_ASSIGNMENTS
PARTITION_IMPORT_EXISTING_ASSIGNMENTS
PARTITION_IMPORT_EXISTING_LOGICLOCK_REGIONS

The "-vqm_writer" option uses the value of the
LOGICLOCK_INCREMENTAL_COMPILE_FILE assignment for the VQM output
directory, defaulting to "atom_netlists".

All assignments are exported first automatically, as if you
called the "export_assignments" command first, unless the
-dont_export_assignments option is specified.

You must use the Tcl command "catch" to determine whether the
predefined flow ran successfully or not, as in the following example:

if {[catch {execute_flow -compile} result]} {
	puts "\nResult: $result\n"
	puts "ERROR: Compilation failed. See report files.\n"
} else {
	puts "\nINFO: Compilation was successful.\n"
}
Example Usage
# To run quartus_map, quartus_fit, quartus_sta, quartus_asm
# or other executables based on options. (Refer to "Using 
# Compilation Flows," "Compiling Designs," and "Specifying 
# Compiler Settings" in Quartus Prime online Help for more 
# information.)
execute_flow -compile 

# To determine if compilation was successful or not
# and print out a personalized message.
if {[catch {execute_flow -compile} result]} {
	puts "\nResult: $result\n"
	puts "ERROR: Compilation failed. See report files.\n"
} else {
	puts "\nINFO: Compilation was successful.\n"
}

# To perform a full compilation followed by a simulation
execute_flow -compile_and_simulate 		
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: Can't run multiple flows simultaneously. Wait for current flow to complete.
TCL_ERROR 1 ERROR: Flow doesn't exist: <string>. Make sure the specified flow exists.
TCL_ERROR 1 ERROR: Only one flow option is allowed. Only one flow can be run for a single command call. If multiple flows are required, use multiple commands.
TCL_ERROR 1 ERROR: Can't find active revision. Make sure there is an open, active revision name. Use the -revision option of project_open, project_new, or use set_current_revision.
TCL_ERROR 1 ERROR: No project is currently open. Open an existing project or create a new project.
TCL_ERROR 1 ERROR: Error(s) found while running an executable. See report file(s) for error message(s). Message log indicates which executable was run last.
TCL_ERROR 1 ERROR: Option -<string> is illegal in the Quartus Prime User Interface. Specify a different option or use a similar command from the Processing menu.
TCL_ERROR 1 ERROR: At least one option is required. Specify at least one option.