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] [-design_analysis] [-dni] [-dont_export_assignments] [-eco <value> ] [-export_database] [-finalize] [-flow_args <Tcl list of name value pairs args to pass to the flow> ] [-implement] [-import_database] [-incremental_compilation_export] [-incremental_compilation_import] [-ip_upgrade] [-quick_elaboration] [-signalprobe] [-simulation] | |||
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 | |||
-design_analysis | Option to run a design analysis | |||
-dni | Option to request flow be executed in DNI mode. | |||
-dont_export_assignments | Option not to export assignments to file. By default, this command exports assignments before running command-line executables. | |||
-eco <value> | Option to run a Fitter ECO compilation | |||
-export_database | Option to export a version-compatible database | |||
-finalize | Option to run algorithms to prepare design for programming. | |||
-flow_args <Tcl list of name value pairs args to pass to the flow> | Option to specify flow args | |||
-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 | |||
-ip_upgrade | Option to run a ip upgrade | |||
-quick_elaboration | Option to run Quick Elaboration | |||
-signalprobe | Option to run a Signal Probe compilation | |||
-simulation | Option to run simulation | |||
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 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 execute_flow -compile # To perform a ip_upgrade with flow_args to specify variation_files execute_flow -ip_upgrade -flow_args "variation_files=\"a.ip;b.ip\"" |
|||
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: The flow args are invalid. It should be a legal Tcl list. | ||
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. |