Quartus® Prime Pro Edition User Guide: Timing Analyzer

ID 683243
Date 11/26/2024
Public
Document Table of Contents

2.3.5.2.3. Manual Scope Entity-bound Constraint Example

To modify the scope of the entity-bound SDC file to manual, for example, to target elements outside the entity, utilize .qsf assignments. By including the -no_sdc_promotion parameter in the entity-bound SDC file definition, you can prevent the Compiler from prepending each collection filter with the full path of the current instance. For example, to change to manual scope, the .sdc file associated with the clk_div entity in the automatic scope example above, add the -no_sdc_promotion parameter as follows:

set_global_assignment -name SDC_ENTITY_FILE clk_div.sdc -entity clk_div -no_sdc_promotion

To scope your collection filters precisely, use the get_current_instance command. By specifying the top-level path to the present instance, get_current_instance streamlines the process of scoping filters directed towards elements confined within instance boundaries.

# clk_div.sdc
set current_entity_instance [get_current_instance]
set unique_clock_name "${current_entity_instance}_clkout"
create_generated_clock -divide_by 2 -source [get_pins clkdiv_a|clk] \
-name $unique_clock_name [get_pins ${current_entity_instance}|clkdiv_a|q]

If you disable the automatic scope for a designated entity-bound SDC file, the SDC File List report within the Timing Analyzer indicates this change by displaying "No" in the promoted column:

Figure 76. SDC File List Report in the Timing Analyzer