Synopsys Timing Constraints And Optimization User Guide

Synopsys Timing Constraints And Optimization User Guide

This site contains material restricted to adults, including nudity and explicit depictions of sexual activity. By entering, you confirm that you are at least 18 years old or of legal age in your jurisdiction and consent to viewing sexually explicit content.

Our parental controls page explains how to easily block access to this site.

Synopsys Timing Constraints And Optimization User Guide

The user guide warns against using -clock_fall or -add_delay without strict necessity. It advocates for source-synchronous analysis, where the launch and capture edges are clearly defined in the constraint itself, rather than relying on the tool to guess.

The most common mistake is setting only the setup: set_multicycle_path -setup 2 -from [get_pins UFF/Q] -to [get_pins UFF/D] The guide clarifies that this shifts the setup check to the second clock edge, but the hold check remains on the first edge. You must add: set_multicycle_path -hold 1 -from ... -to ... This adjusts the hold check to the same edge as the new setup check. Synopsys Timing Constraints And Optimization User Guide

The tool reads the slack (required time - arrival time) and decides to: The user guide warns against using -clock_fall or

A design failing timing by 20% on a multiplier. Without retiming, the tool tries to upsize, increasing area by 40%. With compile_ultra -retime , the tool redistributes the logic, meeting timing with only 5% area increase. You must add: set_multicycle_path -hold 1 -from

The user guide warns against using -clock_fall or -add_delay without strict necessity. It advocates for source-synchronous analysis, where the launch and capture edges are clearly defined in the constraint itself, rather than relying on the tool to guess.

The most common mistake is setting only the setup: set_multicycle_path -setup 2 -from [get_pins UFF/Q] -to [get_pins UFF/D] The guide clarifies that this shifts the setup check to the second clock edge, but the hold check remains on the first edge. You must add: set_multicycle_path -hold 1 -from ... -to ... This adjusts the hold check to the same edge as the new setup check.

The tool reads the slack (required time - arrival time) and decides to:

A design failing timing by 20% on a multiplier. Without retiming, the tool tries to upsize, increasing area by 40%. With compile_ultra -retime , the tool redistributes the logic, meeting timing with only 5% area increase.