Visible to Intel only — GUID: mwh1410471030225
Ixiasoft
1.1. Benefits of Command-Line Executables
1.2. Introductory Example
1.3. Command-Line Scripting Help
1.4. Project Settings with Command-Line Options
1.5. Compilation with quartus_sh --flow
1.6. Text-Based Report Files
1.7. Using Command-Line Executables in Scripts
1.8. Common Scripting Examples
1.9. The QFlow Script
1.10. Document Revision History
1.8.1. Create a Project and Apply Constraints
1.8.2. Check Design File Syntax
1.8.3. Create a Project and Synthesize a Netlist Using Netlist Optimizations
1.8.4. Archive and Restore Projects
1.8.5. Perform I/O Assignment Analysis
1.8.6. Update Memory Contents Without Recompiling
1.8.7. Create a Compressed Configuration File
1.8.8. Fit a Design as Quickly as Possible
1.8.9. Fit a Design Using Multiple Seeds
2.1. Tool Command Language
2.2. Intel® Quartus® Prime Tcl Packages
2.3. Intel® Quartus® Prime Tcl API Help
2.4. End-to-End Design Flows
2.5. Creating Projects and Making Assignments
2.6. Compiling Designs
2.7. Reporting
2.8. Timing Analysis
2.9. Automating Script Execution
2.10. Other Scripting Features
2.11. The Intel® Quartus® Prime Tcl Shell in Interactive Mode Example
2.12. The tclsh Shell
2.13. Tcl Scripting Basics
2.14. Tcl Scripting Revision History
Visible to Intel only — GUID: mwh1410471030225
Ixiasoft
2.13.7. Control Structures
Tcl supports common control structures, including if-then-else conditions and for, foreach, and while loops. The position of the curly braces as shown in the following examples ensures the control structure commands are executed efficiently and correctly. The following example prints whether the value of variable a positive, negative, or zero.
If-Then-Else Structure
if { $a > 0 } { puts "The value is positive" } elseif { $a < 0 } { puts "The value is negative" } else { puts "The value is zero" }
The following example uses a for loop to print each element in a list.
For Loop
set a { 1 2 3 } for { set i 0 } { $i < [llength $a] } { incr i } { puts "The list element at index $i is [lindex $a $i]" }
The following example uses a foreach loop to print each element in a list.
foreach Loop
set a { 1 2 3 } foreach element $a { puts "The list element is $element" }
The following example uses a while loop to print each element in a list.
while Loop
set a { 1 2 3 } set i 0 while { $i < [llength $a] } { puts "The list element at index $i is [lindex $a $i]" incr i }
You do not have to use the expr command in boolean expressions in control structure commands because they invoke the expr command automatically.