Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 10/04/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.1.28.19. 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

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.

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"