set_min_delay - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
UG835
Release Date
2023-10-18
Version
2023.2 English

Specify minimum delay for timing paths

Syntax

set_min_delay [‑rise] [‑fall] [‑reset_path] [‑from <args>]
    [‑rise_from <args>] [‑fall_from <args>] [‑to <args>] [‑rise_to <args>]
    [‑fall_to <args>] [‑through <args>] [‑rise_through <args>]
    [‑fall_through <args>] [‑quiet] [‑verbose] <delay>

Usage

Name Description
[-rise] Delay value applies to rising path delays
[-fall] Delay value applies to falling path delays
[-reset_path] Reset this path before setting min delay
[-from] List of path startpoints or clocks
[-rise_from] Apply to paths rising from the list of startpoints or clocks
[-fall_from] Apply to paths falling from the list of startpoints or clocks
[-to] List of path endpoints or clocks
[-rise_to] Apply to paths with rise transition at the list of endpoints or clocks
[-fall_to] Apply to paths with fall transition at the list of endpoints or clocks
[-through] List of through pins, cells or nets
[-rise_through] Apply to paths rising through pins, cells or nets
[-fall_through] Apply to paths falling through pins, cells or nets
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<delay> Delay value

Categories

SDC, XDC

Description

Sets the minimum delay allowed on a timing path, specified in nanoseconds (ns). The specified delay value is assigned to both the rising and falling edges of the defined timing paths unless the -rise or -fall arguments are specified.

Important: The minimum rising and falling delay cannot be greater than the maximum rising and falling delay on the same path. If this happens, the first assigned delay value is removed from the timing path and reset to 0.

The delay value must be assigned to a timing path as defined by at least one -from, -through, or -to argument. A general path delay such as -to endpoint will be over written by a more specific path definition such as -from/-to, or -from/-through/-to path definition.

This command operates silently and does not return direct feedback of its operation.

Arguments

-rise - (Optional) Apply the delay value to the rising edge of the timing path.

-fall - (Optional) Apply the delay value to the falling edge of the timing path.

-reset_path - (Optional) Clear existing rising or falling edge min delays before applying the new specified path delay. If only -to is specified all paths leading to the specified endpoints are cleared. If only -from is specified, all paths leading from the specified starting points are cleared. When -from/-to or -from/-through/-to are specified, the defined paths are reset.

-from <objects> - (Optional) The starting points of the timing paths that will be assigned the specified delay. A valid startpoint is a primary input or inout port, or the clock pin of a sequential element. If a clock is specified then all the primary input and inout ports related to that clock, as well as all the clock pins of the registers connected to that clock are used as startpoints.

-rise_from <objects> - (Optional) The starting points of the timing path that will have the specified delay assigned to its rising edge.

-fall_from <objects> - (Optional) The starting points of the timing path that will have the specified delay assigned to its falling edge.

-to <objects> - (Optional) The destination objects for the path that will be affected by the minimum delay. A valid endpoint is a primary output or inout port, or the data pin of a sequential element. If a clock is specified then all the primary output and inout ports related to that clock, as well as all the data pins of the registers connected to that clock are used as endpoints.

-rise_to <objects> - (Optional) The destination objects for the rising-edge path that will be affected by the minimum delay.

-fall_to <objects> - (Optional) The destination objects for the falling-edge path that will be affected by the minimum delay.

-through <objects> - (Optional) A list of pins, cell, or nets through which the path affected by the minimum delay travels.

-rise_through <objects> - (Optional) A list of pins, cell, or nets through which the rising-edge path affected by the minimum delay travels.

-fall_through <objects> - (Optional) A list of pins, cell, or nets though which the falling-edge path affected by the minimum delay travels.

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<delay> - (Required) Specifies the minimum delay value in nanoseconds. The <delay> is specified in nanoseconds (ns) as a positive or negative floating point number, with a default value of 0.

Examples

The following example specifies a minimum delay of 20ns between the primary input and output ports (combinational/feedthrough paths):

set_min_delay 20 -from [all_inputs] -to [all_outputs]

The following example defines a minimum delay of 20ns for timing paths with endpoints at all primary output ports:

set_min_delay 20 -to [get_ports -filter {DIRECTION == out}]