Intel® Quartus® Prime Standard Edition User Guide: Scripting
ID
683325
Date
9/24/2018
Public
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
1.8.2. Check Design File Syntax
The UNIX shell script example below assumes the Intel® Quartus® Prime software fir_filter tutorial project exists in the current directory. You can find the fir_filter project in the < Intel® Quartus® Prime directory>/qdesigns/fir_filter directory unless the Intel® Quartus® Prime software tutorial files are not installed.
The script checks the exit code of the quartus_map executable to determine whether there is an error during the syntax check. Files with syntax errors are added to the FILES_WITH_ERRORS variable, and when all files are checked, the script prints a message indicating syntax errors.
When options are not specified, the executable uses the project database values. If not specified in the project database, the executable uses the Intel® Quartus® Prime software default values. For example, the fir_filter project is set to target the Cyclone® device family, so it is not necessary to specify the --family option.
#!/bin/sh FILES_WITH_ERRORS="" # Iterate over each file with a .bdf or .v extension for filename in `ls *.bdf *.v` do # Perform a syntax check on the specified file quartus_map fir_filter --analyze_file=$filename # If the exit code is non-zero, the file has a syntax error if [ $? -ne 0 ] then FILES_WITH_ERRORS="$FILES_WITH_ERRORS $filename" fi done if [ -z "$FILES_WITH_ERRORS" ] then echo "All files passed the syntax check" exit 0 else echo "There were syntax errors in the following file(s)" echo $FILES_WITH_ERRORS exit 1 fi