6 Prime Time
6 Prime Time
6 Prime Time
Jiuling Tang
Timing Analysis
Mainly check every flip-flop meets its setup and hold time requirements
Data1
Clk
_
Q
CLK
Logic
Data2
_
Q
CLK
The most trusted and advanced timing sign-off solution for gate-level
STA tool
Analysis of up to 100 - million gate design
Accurate to within 5% of SPICE
Delay calculation by using parasitics information for accurate
interconnect analysis
Advanced modeling
Interface Logic Models (ILM) for hierarchical static timing analysis
and sign-off
Extracted Timing Models (ETM) in .lib format for cell-based reusable
IP and physical design flows
Quick Timing Models (QTM) for top-down design
Check all the path delays to see if setup and hold time have been meet
Timing Paths
Start points
Inputs
Clock pins of flip-flops
End points
Outputs
Data input pins of flip-flops
Data1
Logic
_
Q
CLK
Logic
Data2
_
Q
CLK
Logic
DataOut1
Clk
DataIn2
Logic
DataOut2
Path Delay
Sum up all the cell and net delays along a timing path
Cell delay
-Depend on input transition and output load
-Use Non Linear Delay Model (NLDM) before and after
layout
Net delay
-From wire load model before layout
-From parasitic extraction after layout
Before layout
Have to estimation skew, transition and latency
set_clock_uncertainty
set_clock_transition
After layout
From actual clock tree
set_propgated_clock
Single
Check for setup time only
Use one process, voltage, and temperature (PVT) condition
Best case (BC) and worst case (WC)
Check both setup and hold time
BC uses one PVT condition
WC uses another one PVT condition
On chip variation
Conservative analysis, Check both setup and hold time
For setup checks, it considers a slow launch clock path and slow data
path, but a fast capture clock path. hold checks, it does the opposite
Use two PVTs to represent variation across a die
TCL also widely used by other EDA tools, like Design Compiler, Physical
Compiler, PT, ModelSim, Xilinx ISE
STA Steps of PT
Technology libraries
Set Up of PT
Read top module first and PT will read all sub-module automatically
Resolving Reference
If fails, it will find and replace the space holder with actual library cells or
sub designs referenced specified in search_path
If consider clock skew and jitter, use clock uncertainty to model them
set_clock_uncertainty setup number [get_ports CLK]
Clock transition
set_clock_transition 0.2 [ all_clocks]
Source: Synopsys
Source: Synopsys
Generated Clock
(Source: Altera)
Source: Synopsys
Output Delay
Source: Synopsys
To calculate the timing of outputs cells, use set load to specify external
load for output ports
set_load 5 [get_ports DataOut]
Or set LOAD [expr [load_of fir_core/INV/A]*3]
set_load $LOAD [get_ports DataOut]
False Paths
False paths:
logically impossible
Between asynchronous clocks
Source: Synopsys
Its logically impossible from mux1/A to mux2/A or from mux1/B to mux2/B
Multi-cycle Paths
Multi-cycle paths:
More than 1 clock cycle
Design Rules
Performing STA
Constraint Analysis
Bottleneck Analysis
Identify submodule containing the bottleneck cells and refine the module
and resynthesizing them
Timing Report
Analyzes each path for timing twice for both rising and falling edges
Summary
Source: Synopsys
Demos