Quartus® Prime Settings File (.qsf) Definition

The Quartus® Prime Settings File (.qsf) contains all of the project-wide and entity-level assignments and settings for the current revision of the project. A separate Quartus® Prime Settings File exists for each individual revision. The Quartus® Prime Settings File syntax is based on Tcl script syntax.

When you create assignments and settings using the Quartus® Prime wizards and dialog boxes or Tcl commands, the Quartus® Prime software automatically places the assignment at the end of the Quartus® Prime Settings File. If you modify the Quartus® Prime Settings File directly, any assignments you create are recognized, regardless of where in the file you place them.

All text in the Quartus® Prime Settings File preceded by a pound symbol (#) is considered to be a comment and is not processed. Any comments you create maintain the same relative position in the file when you make changes; comments associated with specific assignments may move when you make changes to assignments. The comments remain even if you delete the associated assignment, and the Quartus® Prime software does not delete or change comments when the design is processed.

Table 1. QSF Assignments Commands
Assignment Type Command
Global Assignment set_global_assignment
Instance Assignment set_instance_assignment
Location Assignment set_location_assignment
Parameter Assignment set_parameter
Table 2. QSF Assignment Options
Option Example Description
-name   The QSF keyword for the assignment.
-value
	
set_global_assignment -name family -value Stratix®
set_global_assignment -name family Stratix®
The value of the assignment. The option -value is optional; the assignment is recognized without the-value option.
-to
set_location_assignment iobank_1 -to chiptrip\|\|accel
The destination node for the assignment. Used in single-point and point-to-point assignments.
-from
set_instance_assignment -name multicycle 8 -from clock -to timeo
The source node for the assignment. Used in point-to-point assignments.
-entity
set_global_assignment -name ll_auto_size on -entity filtref -section Region_0
Specifies the entity for the assignment. This option is recognized in all assignments for which it is required, but is only needed when the assignment is for an entity other than the top-level entity. When the -entity option is required and is not present, the Quartus® Prime software applies the assignment to the top-level entity.
-section_id
set_global_assignment -name eda_map_illegal_characters on -section_id eda_simulation
Specifies the Logic Lock region, EDA tool type, clique name, breakpoint name, clock name, debug hub name, I/O bank name, or timegroup name for the assignment.
-comment
set_instance_assignment -name auto_carry_chains on -to accel -comment "Carry chain comment.".
Displays any comments you add to the assignment.
-disable
	
set_instance_assignment -name auto_global_memory_controls off -to clock -disable
Disables the assignment so that it is not processed.

When creating assignments, you can call assignments from other Quartus® Prime Settings Files using the source keyword and the Quartus® Prime Settings File name you want to call. Using the source keyword allows you to use assignments from any other Quartus® Prime Settings File without having to import the assignments or transfer them to the current Quartus® Prime Settings File. Any assignment called from another Quartus® Prime Settings File takes precedence over assignments read before the source line in the current Quartus® Prime Settings File. For example, the file chiptrip.qsf uses the source keyword to import assignments from new_assignments.qsf:

chiptrip.qsf

new_assignments.qsf

set_global_assignment -name top_level_entity chiptrip
set_global_assignment -name family arria10 
source new_assignments.qsf

set_global_assignment -name device auto

After compilation the assignments in new_assignments.qsf are processed as if they were in the file chiptrip.qsf, but the assignments are not copied into chiptrip.qsf.

Note:

Intel recommends using relative paths when creating assignments and settings that require file name information. Absolute paths do not always transfer properly across different platforms and directories.