Visible to Intel only — GUID: mwh1410471030568
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: mwh1410471030568
Ixiasoft
2.13.8. Procedures
Use the proc command to define a Tcl procedure (known as a subroutine or function in other scripting and programming languages). The scope of variables in a procedure is local to the procedure. If the procedure returns a value, use the return command to return the value from the procedure. The following example defines a procedure that multiplies two numbers and returns the result.
Simple Procedure
proc multiply { x y } { set product [expr { $x * $y }] return $product }
The following example shows how to use the multiply procedure in your code. You must define a procedure before your script calls it.
Using a Procedure
proc multiply { x y } { set product [expr { $x * $y }] return $product } set a 1 set b 2 puts [multiply $a $b]
Define procedures near the beginning of a script. If you want to access global variables in a procedure, use the global command in each procedure that uses a global variable.
Accessing Global Variables
proc print_global_list_element { i } { global my_data puts "The list element at index $i is [lindex $my_data $i]" } set my_data { 1 2 3} print_global_list_element 0