Quartus® Prime Pro Edition User Guide: Timing Analyzer

ID 683243
Date 4/01/2024
Public
Document Table of Contents

2.3.5.1.4. Manual Scope Example for SDC-on-RTL

You can change the scope of entity-based SDC-on-RTL files to manual by including the -no_sdc_promotion parameter in the RTL_SDC_FILE file definition. This parameter prevents the Compiler from prepending each collection filter with the full path of the current instance.

For example, to change to manual the scoping of the clk_dic.rtlsdc file associated with the clk_div_wrapper entity , add the -no_sdc_promotion parameter as follows:

set_global_assignment -name RTL_SDC_FILE clk_dic.rtlsdc -entity clk_div_wrapper \
-library clk_div_wrapper -no_sdc_promotion

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

set current_instance [get_entity_current_instance]
create_generated_clock -name ${current_instance}_clk_mux_2 -source \
  [get_ports $current_instance|clk_in] -divide_by 2 [get_ports $current_instance|clk_out]
 
create_generated_clock -name ${current_instance}_clk_mux_1 -source \
[get_ports $current_instance|clk_in] [get_ports $current_instance|clk_out] -add

When the automatic scope is disabled for a designated entity-based SDC-on-RTL file, the SDC File List report indicates this change by displaying "No" in the promoted column.

Figure 70. SDC File List Report