Intel® Quartus® Prime Pro Edition User Guide: Timing Analyzer

ID 683243
Date 10/02/2023
Document Table of Contents

3.6.4. Using Entity-bound SDC Files

Throughout the design flow, most timing constraints specified in a Synopsis Design Constraints (SDC) file have a global scope across your project. If you want to associate a distinct set of constraints with a specific design entity, use the SDC_ENTITY_FILE assignment to assign SDC files to particular entity modules within your project. Entity-bound SDC files significantly enhance the precision of timing constraints by allowing you to target constraints exclusively to specific entities where they are required. This approach bypasses the inadvertent ramifications of global constraints, which could encompass more targets than intended. As a result, you gain exceptional control over the precise locations within your design where these constraints take effect.

Another enhancement comes in the form of enhanced portability. When a partition that contains entity-bound SDC constraints is exported, optionally, you can include these constraints in the exported file using the Include entity-bound SDC files for the selected partition option in the Export Design Partition window or with the-include_sdc_entity_in_partition argument when exporting via a Tcl command.

To associate a specific SDC file with an entity using the entity-bound SDC file approach within the Intel® Quartus® Prime Pro Edition software, follow these steps:

  1. Generate a new SDC file and include it in your project by clicking Project > Add/Remove files in project.
  2. Navigate to the files list and select the newly created SDC file.
  3. Click the Properties button.
  4. In the Type drop-down list, select Synopsys Design Constraints File with entity binding.
    Figure 94. Entity Binding
  5. In the Entity drop-down list, identify the entity you intend to bind to the SDC file.
  6. Click OK to save the changes.

Alternatively, you can establish the association between a specific SDC file and an entity through the following assignment in the Intel® Quartus® Prime software project settings file:

QSF Assignment Syntax:

set_global_assignment -entity <entity_name> -name SDC_ENTITY_FILE <sdc_file_name> \
-library <library_name> [-no_sdc_promotion] [-no_auto_inst_discovery]


Argument Description
-entity <entity_name> Mandatory argument. It defines the entity you want to bind to the SDC file.
-name SDC_ENTITY_FILE <sdc_file_name> Specifies the SDC file name. The file's name is relative to the project path.

In terms of scoping, the default setup for SDC_ENTITY_FILE embraces automatic constraint scoping, which means that each result from any get command (for example, get_pins, get_ports, and so on) in the SDC file is prepend with the instance's path. This confines all get commands to target items solely within the bound instance associated with the SDC file. You can deactivate this configuration (which facilitates instance-level targeting) using the -no_sdc_promotion argument available through SDC commands. With this choice, you can handle the responsibility of manually scoping your collections either by explicitly providing the top-level path to the current instance or using the get_current_instance command that delivers the top-level path to the current instance. Such an approach proves invaluable when combining local commands with those that necessitate targeting global, top-level paths or objects outside the instance associated with the SDC file.

-library <library_name> Indicates a library for the referenced entity. If you choose not to specify a library, the Intel® Quartus® Prime Pro Edition software automatically defaults to the altera_work library.



Converts any entity-bound SDC into a global SDC file read just once for the entire compilation, making it particularly fitting for bundling an SDC with an entity designated for export as a qdb file. This configuration still permits SDC's collection filters to specify global top-level paths in your get commands.