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> Required 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 became 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.

Avoid using the set_net_delay command if your design
targets a HardCopy series device or if you plan to
migrate your design to a HardCopy series device.
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