set_net_delay (::quartus::sdc_ext)
The following table displays information for the set_net_delay Tcl command:
Tcl Package and Version |
Belongs to ::quartus::sdc_ext 1.0 |
|||
Syntax | set_net_delay [-h | -help] [-long_help] -from <names> [-get_value_from_clock_period <src_clock_period|dst_clock_period|min_clock_period|max_clock_period> ] [-max] [-min] [-to <names> ] [-value_multiplier <multiplier> ] [ <delay> ] | |||
Arguments | -h | -help | Short help | ||
-long_help | Long help with examples and possible return values | |||
-from <names> | Valid source pins, ports, registers or nets (string patterns are matched using Tcl string matching) | |||
-get_value_from_clock_period <src_clock_period|dst_clock_period|min_clock_period|max_clock_period> | Compute net delay constraint as a multiple of the clock period | |||
-max | Specifies maximum delay | |||
-min | Specifies minimum delay | |||
-to <names> | Valid destination pins, ports, registers or nets (string patterns are matched using Tcl string matching) | |||
-value_multiplier <multiplier> | Value by which the clock period should be multiplied to compute net delay requirement | |||
<delay> | Net delay | |||
Description |
Use the set_net_delay command to query the net delays and perform minimum or maximum timing analysis across nets. The -from and -to options can be string patterns or pin, port, register, or net collections. When pin or net collection is used, the collection should include output pins or nets. If the -to option is unused or if the -to filter is an "*" character, all the output pins and registers on timing netlist become valid destination points. When you use the -min option, slack is calculated by looking at the minimum delay on the edge. If you use -max option, slack is calculated with the maximum edge delay. Use -get_value_from_clock_period to set the net delay requirement to be equal to the launching or latching clock period, or whichever of the two has a smaller or larger period. If -value_multiplier is used, the requirement will be multiplied by that value. If the set of nets is clocked by more than one clock, the Timing Analyzer will use the one with smallest period to compute the constraint for a -max constraint, and the largest period for a -min constraint. If there are no clocks clocking the endpoints of the net (e.g. if the endpoints of the nets are not registers or constrained ports), then the net delay constraint will be ignored. |
|||
Example Usage |
project_open my_project create_timing_netlist read_sdc update_timing_netlist # add min delay constraint set_net_delay -min 0.160 -from [get_pins inst9|combout] -to [get_pins *|dataf] # add max delay constraint set_net_delay -max 0.500 -from inst8|combout # this is same as the previous call set_net_delay -max 0.500 -from inst8|combout -to * # Require net delay to be at most 90% of the period of the clock driving the inst9 register set_net_delay -max -get_value_from_clock_period dst_clock_period -value_multiplier 0.9 -from inst8|combout -to [get_keepers inst9] update_timing_netlist report_net_delay -panel "Net Delay" |
|||
Return Value | Code Name | Code | String Return | |
TCL_OK | 0 | INFO: Operation successful | ||
TCL_ERROR | 1 | ERROR: <string> is not a valid delay value | ||
TCL_ERROR | 1 | ERROR: Timing netlist does not exist. Use create_timing_netlist to create a timing netlist. | ||
TCL_ERROR | 1 | ERROR: The option -value_multiplier must be a non-zero floating point number | ||
TCL_ERROR | 1 | ERROR: The option -value_multiplier may only be used if -get_value_from_clock_period is used |