Preface
About This User Guide
Audience
Related Publications
Release Notes
Conventions
Customer Support
Accessing SolvNet
Contacting the Synopsys Technical Support Center
Introduction to Synthesis Timing
Static Timing Analysis
Timing Paths
Clocks
Input and Output Delays
Delay Calculation
Flip-Flop and Latch Timing Checks
Timing Analysis in the Design Flow
Synopsys Design Constraint Commands
Library Timing Data
Design Compiler
Ideal Clocking
Wire Load Models and Topographical Technology
Design Partitioning
Path Groups
Register Retiming Optimization
IC Compiler
Design Planning
Placement
Clock Tree Synthesis
Routing
Timing Analysis After Routing
Synthesis Design Rules
Clocks
Creating Clocks
Clock Network Effects
Clock Latency
Propagated Latency
Ideal Network Latency
Source Latency
Clock Uncertainty
Ideal Clock Transition Times
Reporting Clock Information
Multiple Clocks
Synchronous Clocks
Asynchronous Clocks
Exclusive Clocks
Clock Sense
Pulse Clocks
Minimum Pulse Width Checks
Clock-Gating Signal Timing Checks
Generated Clocks
Divide-by-2 Generated Clock
Generated Clock Based on Edges
Divide-by Clock Based on Falling Edges
Shifting the Edges of a Generated Clock
Combinational-Only Source Latency Calculation
Generated Clock Based on a Non-Unate Master Clock
Estimated I/O Latency
Calculating I/O Latency for Input Paths
Calculating I/O Latency for Output Paths
Propagated Clocks
Timing Paths
Path Groups
User Grouping of Paths
Weight or Cost Function
Critical Range
Reporting Path Groups
Path Specification Methods
Through Arguments
Rise/Fall From/To Clock
Default Path Delay Constraints
Path Delay for Flip-Flops Using a Single Clock
Path Delay for Flip-Flops Using Different Clocks
Setup Analysis
Hold Analysis
Single-Cycle Path Analysis Examples
Timing Exceptions
False Path Exceptions
Maximum and Minimum Path Delay Exceptions
Multicycle Path Exceptions
Path Timing Margin Exceptions
Specifying Exceptions Efficiently
Exception Order of Precedence
Exception Type Priority
Path Specification Priority
Reporting Exceptions
Removing Exceptions
Preset and Clear Timing
Data-to-Data Checks
Specifying Data-to-Data Checks
Generating Timing Reports for Data Checks
Data Checks and Clock Domains
Library-Based Data Checks
Operating Conditions
Operating Condition Definitions
Setting Operating Conditions
Operating Condition Modes
Minimum and Maximum Delay Calculations
Min-Max Cell and Net Delay Values
Setup and Hold Checks
Path Delay Tracing for Setup and Hold Checks
Setup Timing Check for Worst-Case Conditions
Hold Timing Check for Best-Case Conditions
Simultaneous Best-Case/Worst-Case Conditions
Path Tracing in On-Chip Variation Mode
Using Two Libraries for Min-Max Analysis
Setting On-Chip Variation Derating Factors
Advanced On-Chip Variation Analysis
How AOCV Analysis Works
Cell Adjustment Factor
AOCV Flow
AOCV Data Formats
Library-Based AOCV Data
File-Based AOCV Data
Advanced On-Chip Variation Reporting
Fast Path-Based AOCV
Parametric On-Chip Variation Analysis
How POCV Analysis Works
Parametric On-Chip Variation Flow
POCV Data Formats
Library-Based POCV Data
File-Based POCV Data
Saving Scenario-Specific POCV Data
Enabling Parametric On-Chip Variation Analysis
Reading File-Based Parametric On-Chip Variation Data
POCV Guard Band (IC Compiler Only)
Scaling the POCV Coefficients (IC Compiler Only)
Reporting POCV Information
Reporting the POCV Analysis Results
Voltage and Temperature Scaling Between Libraries
Clock Reconvergence Pessimism Removal
On-Chip Variation Example
Reconvergent Logic Example
Setting Clock Reconvergence Pessimism Removal
Transparent Latch Edge Considerations
Reporting CRPR Calculations
Timing Constraints
Input Delays
Excluding Clocks
Reference Pin
Output Delays
Drive Characteristics at Input Ports
Setting the Port Driving Cell
Setting the Port Drive Resistance
Setting a Fixed Port Transition Time
Removing Drive Information From Ports
Port Load Capacitance
Ideal Networks
Propagation of the Ideal Network Property
Creating Ideal Networks
Removing Ideal Networks
Reporting Ideal Networks
Retrieving Ideal Objects
Setting Ideal Latency and Ideal Transition Time
Case Analysis
Reporting Case Analysis
Removing Case Analysis
Constant Propagation Log File
Usage Example
Mode Analysis
Mode Groups
Setting Modes Using Case Analysis
Setting Modes Directly on Cells
Reporting Modes
Wire Load Models
Net Capacitance, Resistance, and Area Calculation
Choosing a Wire Load Model
Wire Load Model Modes
Setting a Wire Load Model
Local Link Library Usage
Setting a Wire Load Selection Group
Wire Load Models for Hierarchical Cells
Selecting the Wire Load Model Automatically
Defining the Minimum Block Size
Reporting Wire Load Models
Timing Loops
Breaking Feedback Loops Manually
Back-Annotation
Back-Annotating Delays and Timing Checks
Delay Calculations
Back-Annotating Timing Information From an SDF File
Instance Names
Cell and Pin Names
DESIGN Field Names
Supported SDF Constructs
Back-Annotating Timing From a Subdesign Timing File
Back-Annotating Load Delay
Back-Annotating for Worst Timing Delay
Back-Annotating Timing Checks
Back-Annotating for Conditional Arc Cell Delay
Back-Annotation Order of Precedence
Examples
Writing an SDF File
Annotating Delays and Timing Checks From the Command Line
Defining Net and Cell Delays
Defining Timing Check Values Between Pins
Reporting Annotated Values and Checks
Reporting Load and Resistance Values
Reporting Annotated Delay Values
Removing Back-Annotated Values
Removing Annotated Delay Values
Removing Annotated Timing Checks Between Specific Pins
Removing Annotated Resistance or Capacitance Values
Removing Back-Annotated Values Command Summary
Setting Net Load
Setting Net Resistance
Setting Pi Model Capacitance and Resistance
Back-Annotating Detailed Parasitics
RTL Load Annotation With Wire Load Modeling
Default Resistance Values
RTL Load Buffering
Extraction of RTL Loads
Timing Reports
Reporting Commands
check_timing Command
report_constraint Command
report_timing Command
report_timing Report Contents
report_timing Command Options
Scope of the Design Reported
Path Details Reported
Delay Type (Min/Max) Reported
Number of Paths Reported
Other Options
report_delay_calculation Command
get_timing_paths Command
report_clock_timing Command
Latency and Transition Time Reporting
Skew Reporting
Interclock Skew Reporting
Clock Timing Reporting Options
Summary Report
List Report
Verbose (Path) Report
Graphical User Interface
Using the GUI for Timing Analysis
Timing Menu Commands
IC Compiler Layout Window Timing Menu Commands
Path Slack Histogram
Path Inspector
Path Schematic
Path Element Tables
Path Delay Profiles
Timing Analysis Driver
Timing in Latch-Based Designs
Time Borrowing in Latch-Based Designs
A Simple D Latch
About Time Borrowing
Time Borrowed and Time Given
Balancing Relative Slacks
Determining Relative Slack
Optimizing Near-Critical Paths
Reducing Delay Costs
Automatic Slack Distribution During Optimization
Normalized Slack Analysis
Enabling Normalized Slack Analysis
Reporting Normalized Slack
Using Normalized Slack to Adjust the Clock Period
Setting Limits for Normalized Slack Analysis
Constraining a Latch-Based Design
Creating Non-Overlapping Clocks
What Are Two-Phase Designs?
What Are Non-Overlapping Clocks?
Path Timing Report With Borrowing
Latch-Based Time-Borrowing Example
Linear Block Encoder and Decoder
Noisy Channel
Linear Block Decoder for Single-Bit Error
Linear Block Encoder and Decoder Implementation
Setting Constraints on the Linear Block Encoder
report_timing Command Output
Advanced Latch Timing Analysis
Enabling Advanced Latch Analysis
Breaking Loops
Specifying Loop-Breaker Latches
Finding Loop-Breaker Latches
Latch Loop Groups
Listing Collections of Latch Loop Groups
Reporting Latch Loop Groups
Specifying the Maximum Number of Latches Analyzed Per Path
Timing Exceptions Applied to Latch Paths
False Path Exceptions
Multicycle Path Exceptions
Maximum and Minimum Delay Exceptions
Clock Groups
Specification of Exceptions on Throughpaths
Reporting Paths Through Latches With report_timing
Calculation of the Worst and Total Negative Slack
Static Timing Delay Calculation
Path-Based Timing Optimization
Reporting Retain Arcs
Reporting Arc Delay Calculations
Debugging Delay Calculations Along a Critical Path
Reporting Details of a Cell Delay Arc
Delay Models
Linear Delay Model
Slope Delay
Intrinsic Delay
Transition Time
Connect Delay
Delay Calculation (Linear) Example
CMOS2 Delay Model
Edge Rate Delay
Intrinsic Delay
Transition Time
Connect Delay
Delay Calculation (CMOS2) Example
Nonlinear Delay Model
Library Cell Timing Arcs
Delay Calculation Example
Environmental Scaling
Waveform Propagation Using CCS Models