config_timing_corners - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

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

Configure single / multi corner timing analysis settings

Syntax

config_timing_corners [‑corner <arg>] [‑delay_type <arg>] [‑setup] [‑hold]
    [‑quiet] [‑verbose]

Usage

Name Description
[-corner] Name of the timing corner to be modified : Values: Slow, Fast
[-delay_type] Type of path delays to be analyzed for specified timing corner: Values: none, max, min, min_max
[-setup] Enable timing corner for setup analysis (equivalent to -delay_type max)
[-hold] Enable timing corner for hold analysis (equivalent to -delay_type min)
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution

Categories

Timing

Description

This command configures the Slow and Fast timing corners in the current design for single or multi-corner timing analysis. A synthesized or implemented design must be opened when running this command.

The variation in the manufacturing process of the physical device, and the voltage and temperature at which the device is operating, combine to create a timing corner. These three variables (PVT) determine the delay across the device. The fast corner represents a device operating with the smallest manufacturing process tolerances, the highest voltage, and the lowest temperature. The slow corner represents a device operating with the greatest manufacturing tolerances, the lowest voltage, and the highest temperature. By default the AMD Vivado™ Design Suite performs both a setup and hold analysis for both slow and fast process corners, also known as quad analysis:

config_timing_corners -corner Slow -setup -hold
config_timing_corners -corner Fast -setup -hold

The config_timing_corners command can be used to limit the default four corner analysis performed by the Vivado timing engine as appropriate to the design, to improve timing performance. To change or disable the default analysis for both corners, you must configure both the Fast and Slow corners:

config_timing_corners -corner Slow -delay_type max
config_timing_corners -corner Fast -delay_type none
Note: This command returns nothing if successful, or returns an error if it fails.

Arguments

-corner [ slow | fast ] - (Optional) Specifies the timing corner to be configured. Valid values are "slow" and "fast". If -corner is not specified, the -delay_type applies to both corners.

-delay_type <value> - (Optional) Specify the type of path delays to be analyzed for the specified timing corner. Valid values are "none", "max", "min" and "min_max". A -delay_type of "none" excludes the specified -corner from timing analysis.

Tip: Although -delay_type and -setup/-hold are both optional, one of these options are required to configure the specified corner.

-setup - (Optional) Specifies setup analysis for the specified timing corner. This is the same as -delay_type max.

-hold - (Optional) Specifies hold analysis for the timing corner. This is the same as -delay_type min.

Tip: You can specify both -setup and -hold which is the same as -delay_type min_max.
-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.

Examples

The following example configures the Slow timing corner for both setup and hold analysis:

config_timing_corners -corner slow -setup -hold
config_timing_corners -corner slow -delay_type min_max
Note: The two preceding examples have the same effect.

The following example configures the Fast corner for min delay analysis, and disables the Slow corner analysis:

config_timing_corners -corner fast -delay_type min
config_timing_corners -corner slow -delay_type none