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.
Assignment Type | Command |
---|---|
Global Assignment | set_global_assignment |
Instance Assignment | set_instance_assignment |
Location Assignment | set_location_assignment |
Parameter Assignment | set_parameter |
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.
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.