Tcl commands vary depending on the mode you use, and the resulting Tcl run scripts for each mode are different. In Non-Project Mode, all operations and tool settings require individual Tcl commands, including setting tool options, running implementation commands, generating reports, and writing design checkpoints. In Project Mode, wrapper commands are used around the individual synthesis, implementation, and reporting commands.
For example, in Project Mode, you add sources to the project for management using the
add_files Tcl commands. Sources can be copied into the project to
maintain a separate version within the project directory structure or can be referenced
remotely. In Non-Project Mode, you use the
Tcl commands to read the various types of sources from their current location.
In Project Mode, the
launch_runs command launches the tools with
preconfigured run strategies and generates standard reports. This enables consolidation
of implementation commands, standard reporting, use of run strategies, and run status
tracking. However, you can also run custom Tcl commands before or after each step of the
design process. Run results are automatically stored and managed within the project. In
Non-Project Mode, individual commands must be run, such as
Many Tcl commands can be used in either mode, such as the reporting commands. In some
cases, Tcl commands are specific to either Project Mode or Non-Project Mode. Commands
that are specific to one mode must not be mixed when creating scripts. For example, if
you are using the Project Mode you must not use base-level commands such as
synth_design, because these are specific to Non-Project Mode. If
you use Non-Project Mode commands in Project Mode, the database is not updated with
status information and reports are not automatically generated.
The following figure shows the difference between Project Mode and Non-Project Mode Tcl commands.