Visible to Intel only — GUID: uwo1534882369871
Ixiasoft
Visible to Intel only — GUID: uwo1534882369871
Ixiasoft
3.6.4.1. Entity-bound Constraint Scope
Constraint Scope Type | Features | To Enable Instance-bound Scoping |
---|---|---|
Automatic |
|
Default mode for SDC_ENTITY_FILE. No additional steps required. |
Manual |
|
Use -no_sdc_promotion. Append each collection filter with get_current_instance to target nodes within the entity boundaries.
For example:
get_registers [get_current_instance]|reg[*] |
Disabled |
|
Use -no_sdc_promotion and -no_auto_inst_discovery arguments. |
When entity-bound SDC files are defined either through the graphical interface or via QSF assignments (excluding the -no_sdc_promotion and -no_auto_inst_discovery arguments), the constraints are applied using automatic scoping. Automatic scoping involves prepending filters with the instance's path. To provide clarity, the following table illustrates how paths are interpreted in various Tcl commands due to the automatic scoping of constraints:
Constraint Example | Auto-Scope Constraint Interpretation for Instance X|Y |
---|---|
set_false_path -from [get_keepers a] | set_false_path -from [get_keepers X|Y|a] |
set_false_path -from [get_registers a] -to [get_registers b] | set_false_path -from [get_registers X|Y|a] -to [get_registers X|Y|b] |
set_false_path –from [get_clocks clk_1] –to [get_clocks clk_2] | set_false_path –from [get_clocks clk_1] –to [get_clocks clk_2] |
set_max_delay –from [get_ports in] -to [get_registers A] 2.0 | set_max_delay –from [get_ports in] -to [get_registers X|Y|A] 2.0 |
get_ports * | get_ports * |
get_clocks * | get_clocks * |
get_ports a | get_ports a |
get_clocks a | get_clocks a |
When automatic scoping is disabled through QSF assignments, including the use of the -no_sdc_promotion argument, you must manually prepend the top-level path to achieve the same behavior as automatic scoping. To simplify this process, use the -get_current_instance command as it returns the top-level path of the current instance. The following table illustrates how paths are interpreted when the -get_current_instance command is employed to add the top-level path to certain Tcl commands:
Constraint Example | Manual Scope Constraint Interpretation |
---|---|
set_false_path –from [get_current_instance]|d\ –to [get_current_instance]|e |
set_false_path –from i1|inner|d –to i1|inner|e set_false_path –from i2|inner|d –to i2|inner|e set_false_path –from i3|d –to i3|e |
create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name \ [get_current_instance]_divclk \ [get_current_instance]|div set_multicycle_path –from [get_current_instance]|a \ –to [get_current_instance]|b 2 |
create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name “i1_divclk” i1|div set_multicycle_path –from i1|a –to i1|b 2 \ create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name “i2_divclk” i2|div set_multicycle_path –from i2|a –to i2|b 2 |