21.8.63 set_min_delay

Description

Specifies the required minimum delay for timing paths in the current design. The path length should be such that the delay along the specified path should be more than the value mentioned for the delay_value switch. The timing engine automatically derives the individual minimum delay targets from clock waveforms and port input or output delays. For more information, refer to the create_clock, set_input_delay, and set_output_delaycommands. The minimum delay constraint is a timing exception. This constraint overrides the default single cycle timing relationship for one or more timing paths. This constraint also overrides a multi-cycle path constraint.

You must specify at least one of the –from, -to, or –through arguments for this constraint to be valid.

set_min_delay delay_value [-ignore_clock_latency][-from from_list ] [-to to_list ] [-through through_list ]

Arguments

ParameterTypeDescription
delay_valuefloating pointSpecifies a floating point number in nanoseconds that represents the required minimum delay value for specified paths.
  • If the path starting point is on a sequential device, the tool includes clock skew in the computed delay.
  • If the path starting point has an input delay specified, the tool adds that delay value to the path delay.
  • If the path ending point is on a sequential device, the tool includes clock skew and library setup time in the computed delay.
  • If the ending point has an output delay specified, the tool adds that delay to the path delay.
fromlist of stringsSpecifies a list of timing path starting points. A valid timing starting point is a clock, a primary input, an inout port, or a clock pin of a sequential cell.
tolist of stringsSpecifies a list of timing path ending points. A valid timing ending point is a clock, a primary output, an inout port, or a data pin of a sequential cell.
throughlist of stringsSpecifies a list of pins, ports, nets, or instances (cells) through which the timing paths must pass.
ignore_clock_latencyflagSpecifies that the calculation of slack for the specified path excludes clock skew and jitter, and only the data path is considered.
Note:
  • The flag is useful for analyzing the paths between the sequential elements driven by asynchronous clocks.
  • This option is not supported by the Synplify Pro Synthesis software. In the Libero design flow, this option is skipped for the Synplify Pro Synthesis software.
Return TypeDescription
integerReturns the ID of the clock minimum delay constraint.

Error Codes

Error CodeDescription
Error: SDC0021Invalid min delay constraint: the -from value is incorrect.
Error: SDC0022Invalid min delay constraint: the -from is empty.
Error: SDC0023Invalid min delay constraint: the -to value is incorrect.
Error: SDC0024Invalid min delay constraint: the -to is empty.
Error: SDC0026Invalid min delay constraint: the -through is empty.
Error: SDC0061Invalid min delay constraint: Missing or Illegal parameter/value.
Warningport (get_ports) is incorrect type;"-through" objects must be of type net (get_nets), or pin (get_pins).

Supported Families

PolarFire®
PolarFire SoC
SmartFusion® 2
IGLOO® 2
RTG4

Example

The following example sets a minimum delay by constraining all paths from ff1a:CLK or ff1b:CLK to ff2e:D with a delay more than 5 ns.

set_min_delay 5 -from {ff1a:CLK ff1b:CLK} -to {ff2e:D}

The following example sets a minimum delay by constraining all paths to output ports whose names start by "out" with a delay more than 3.8 ns.

set_min_delay 3.8 -to [get_ports out*]

Related Examples on GitHub

See Also