Examples, Determine_smart_action, Usage – Altera Quartus II Scripting User Manual
Page 86: Determine_smart_action –60

2–60
Chapter 2: Command-line Executables
quartus_sh
Quartus II Scripting Reference Manual
© July 2013
Altera Corporation
2. Adds all files discovered or required by the compiler into your
quartus_sh --archive -fix_qsf top
You do not need to use the -fix_qsf option again unless you modify the design and add more design files.
The .qsf file is now complete with all the required design files. Unless you add new files to the project, you
can ask the archive project to always skip Analysis & Elaboration by passing the -no_discover option:
quartus_sh --archive -no_discover top
Examples
# Generate top.qar
quartus_sh --archive top
# Export the version-compatible database files
# and include them in the top.qar archive
quartus_sh --archive -export -output top.qar top
# Generate my_files.qar containing the files listed in my_files.txt
quartus_sh --archive -input my_files.txt -output my_files.qar
# Generate top.qar and run a short test to make sure
# top.qar contains a valid, complete and compilable design.
quartus_sh --archive -self_test top
# Generate top.txt containing a list of files to
# archive for the 'top' design.
quartus_sh --archive -ascii top.txt -list_files top
--determine_smart_action
Option to open a project and determine the smart action jump.
Usage
quartus_sh --determine_smart_action
The smart action is defined as the earliest module in the Compiler flow that needs to be run based on
current assignment files.
This option writes out a .chg file depending on what has changed in the source files. For a given
quartus_
quartus_map needs to be rerun, a file named map.chg is created.
If a timing requirement is changed, one of the following files is created or updated:
■
fit.chg if timing-driven compilation is turned ON, which means that the Fitter subsequent modules
need to be rerun
■
tan.chg if timing-driven compilation is turned OFF and only the Timing Analyzer needs to be rerun
This option can be used to write a makefile that jumps to the correct module based on changed
assignments. For example, the following makefile rules can be used:
qsh.log: project.qpf project.qsf ($SOURCE_FILES)
quartus_sh --determine_smart_action project > qsh.log
project.fit.rpt: fit.chg project.map.rpt
quartus_fit project
project.map.rpt: map.chg
quartus_map project