Professional Documents
Culture Documents
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Timing Analysis
Dynamic Timing Analysis (DTA) Static Timing Analysis (STA)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Disadvantages of DTA
Virtually impossible to do exhaustive analysis
Hard to discern the cause of failure because the function and timing are analyzed at the same time Requires more memory and CPU resources over STA
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
OUT
CLK
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
IN
Q QN
Q QN
OUT
CLK
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
IBMs Hitchcock (70s) observed that you could exhaustively test all behaviors within a single clock cycle
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Advantages of STA
Exhaustive timing coverage Does not require input vectors More efficient than DTA in memory and CPU resources
Faster operation Capacity for millions of gates
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Disadvantages of STA
For synchronous logic only Difficult to learn Tricky constraints beyond the boundaries of single clock flip-flop design chips:
Multiple clocks False paths Latches Multi-cycle paths
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Start Point: clock pin of sequential device End Point: data input pin of sequential devices
Start Point: primary input port End Point: data input pin of sequential devices
Start Point: clock pin of sequential device End Point: primary output port
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Start Point: primary input port End Point: primary output port
10
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
11
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
12
0.55 1.3 0.1 1.2 0.65 0.20.85 0.1 0.2 0.7 0.2 0.9 1.0 0.1 0.1
Tarr = 0.1
0.2
0.15
Timing Arc
0.3 0.4
0.1 1.3
Tarr = 0.1
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
13
Treq = 1.5
0.05
1.15 0.65 0.20.85 0.1 0.2 1.4 0.65 0.2 0.95 0.25 0.35 0.1 0.2 0.1 0.2 0.55
0.1
Tarr = 1.5
14
Slack Graph
0 0 0 -0.05 -0.05 -0.05 -0.05 -0.55 -0.05 0 0 -0.05
-0.05 -0.05
-0.05 -0.05
0.2
15
Path-based: timing information is associated with topological paths (collections of design elements)
Used in Primetime
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
16
Path-based:
2 1 3 2 3 1 RAT=10 2+2+3 = 7 (OK) 2+3+1+3 = 9 (OK) 2+3+3+2 = 10 (OK) 5+1+1+3 = 10 (OK) 5+1+3+2 = 11 (Fail) 5+1+2 = 8 (OK)
AT=2
AT=2 RAT=5
3 1 AT=5
AT=5 RAT=4
2 1
AT=6 RAT=5
AT=7 RAT=7
Block-based:
3 2 RAT=10
AT=11 RAT=10
3 1
AT=9 RAT=8
Critical path is determined as collection of gates with the same, negative slack: In our case, we see one critical path with slack = -1
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
17
Timing Arcs
Describes the timing relationship between two nodes When traversing the design structure to update AT and RT, STA is actually traversing through timing arcs from node to node Defined in cell library
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
18
Combinational Arcs
Combinational arcs (Timing delay)
Combinational arcs are the default arcs Each combinational arc has one of three timing senses Timing senses are specified in the library or automatically derived from the logic function
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
19
setup_rising setup_falling
CK
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
20
hold_rising hold_falling
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
21
falling_edge rising_edge
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
22
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
23
Recovery Types
Recovery arcs (Timing check)
The amount of time before an active clock edge an asynchronous signal needs to be inactive
recovery_rising recovery_falling
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
24
Removal Arcs
Removal arcs (Timing check)
The amount of time after an active clock edge an asynchronous signal needs to be inactive
removal_rising removal_falling
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
25
three_state_enable three_state_disable
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
26
nochange_high nochange_low
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
27
User-defined
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
28
U1
Hold Margin
29
STA
Descriptions of Clocks Cell Library Library Data Operating Conditions Timing Exceptions Timing Constraints Boundary Conditions
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
30
Library Data
Cell Delay model
Linear model Non-linear model
Operating conditions
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
31
T0
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
32
Vout
20% 80%
I1 I2 Dtransition(I1)
Dc Req
Dtransition(I2) I3 Ceq
33
Dcell(I2)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Delay Tables
Cell Delay Transition Delay
Output Capacitance 0.1 0.2
Vin I1 I2 Dtransition(I1)
I3
Dcell(I2)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
R or F R
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
35
Operating Conditions
The process, voltage, and temperature (PVT) ranges a design encounters Specified in the technology library Cell and interconnect delays are scaled
Dscale = D (1 + P K P )(1 + V KV )(1 + T K T ) P = Pr ocess nom _ process / V = Voltage nom _ voltage T = Temperature nom _ temperature
delay Worst Typical Best Process Voltage Best Temperature 36 delay Worst Typical Best delay Worst Typical
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
STA
Descriptions of Clocks Cell Library Library Data Operating Conditions Timing Exceptions Timing Constraints Boundary Conditions
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
37
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
38
Uncertainty
39
clock 0 5 10
40
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Clock Latency
A very important part of the clock is the routing effects:
Off Chip cause:
Source latency (delay): the timing a clock signal takes to propagate from its ideal waveform original point to the clock definition point Budgeted network latency (delay) : the time the clock signal takes to propagate from the clock definition point to the clock pin of the sequential cells Actual insertion delay D Q
QN
On Chip cause:
41
P4
FF
P2 P3
FF
= = = =
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
42
Clock Uncertainty
A very important part of the clock is the routing
Off Chip impact:
On Chip impact:
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
43
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
44
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
45
I/O Constraints
After constraining clock, we still need to constrain the I/O
Only comboin needs a "budgeted" arrival time Only combout needs a "budgeted" required time
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
46
Boundary Conditions
Input driving cell Input transition time Output capacitance load Input delay Output delay
D Q QN
b
5pf
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
47
Input Block
My Design
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
48
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
49
IN
Logic
Out
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
50
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
51
False Path
Why are there false path constraints in a design?
A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
52
Unexercised Path
A path may exist in the circuit but never be used in its normal functional operation
A test register PROBE is inserted in the circuit to enable chip debugging in the field. Data can be read through the probe register. Data can be written from the probe register. Probing would not occur at speed. (An alternative to scan)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
53
False Path
Why are there false path constraints in a design?
A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
54
Irrelevant Path
A functional path may exist but the timing is so slow or irrelevant
The chip uses a synchronized synchronous reset. The reset cycle has a huge number of cycles before it needs to settle.
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
55
Asynchronous Path
A functional path may exist but the timing is so slow or irrelevant
I have metastabilization registers between those two asynchronous clock zones
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
56
False Path
Why are there false path constraints in a design?
A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
57
IP Reuse
A block may be reused and certain signal functions are no longer required
This piece of logic is a custom adder. With design re-use, often the blocks contain all of the potentially useful functions. When the design is implemented in a chip, often particular signals are not implemented
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
58
False Path
Why are there false path constraints in a design?
A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
59
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
60
False Path
Why are there false path constraints in a design?
A path may exist in the circuit but never be used in its normal functional operation A functional path may exist but the timing is very slow or irrelevant A block may be reused and certain signal functions are no longer required A path may exist in the circuit but no combination of input vectors may ever exercise it A combinational loop exists in the design that needs to be broken
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
61
Combinational Loops
A combinational loop exists in the design that needs to be broken
Most STAs cant leave combinational loops in the design, as a race condition will occur PrimeTime dynamically breaks combinational loops.
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
62
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
63
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
64
Multicycle Paths
Multicycle paths occur because the designer knows that the particular logic function will not be used till a later cycle
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
65
STA
Descriptions of Clocks Cell Library Library Data Operating Conditions Timing Exceptions Timing Constraints Boundary Conditions
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
66
Interconnect Data
Estimated delay information for nets based on a wire load model is used before P&R Back-annotated (Actual) delay information based on the P&R result is often described in the form of
SDF (timing information) Standard Delay Format
RSPF Reduced Standard Parasitic Format DSPF Detailed Standard Parasitic Format SPEF Standard Parasitic Exchange Format
SPEF also has syntax that allows the modeling of capacitance between different nets, so it is used by the crosstalk analysis tool
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
67
Wireload Model
Very inaccurate!
wire_load (500) ( resistance : 3.0 capacitance: 1.3 area: 0.04 slop: 0.15 fanout_length ( 1 , 2.1 ) fanout_length ( 2 , 2.5) fanout_length ( 3 , 2.8) fanout_length ( 4 , 3.3) /* R per unit length*/ /* C per unit length */ /* area per unit length */ /* extrapolation slope*/ /* fanout-length pairs */
Cwire = (fanout=3, length =2.8) x capacitance coefficient (1.3) = 3.64 load units Rwire = (fanout=3, length =2.8) x resistance coefficient (3.0) = 8.4 resistance units AreaNet = (fanout=3, length =2.8) x area coefficient (0.04) = 0.112 net area units
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
68
Wireload Modes
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
69
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
70
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
71
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
72
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
73
cap_value = f(configuration, width, spacing) Assign CapTable to the reference layer according to the configuration Capacitances are categorized into bottom, top and lateral group
CapModel
M2 M1 Poly
configuration1
air
configuration2
configuration3
74
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
Elmore Model
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
75
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
76
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
77
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
78
IO constraints
Input delay of A, B, C: 1ns (Da , Db , Dc) Output delay of Y: 3ns (DY)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
79
80
2 3 R 2
AT = 13 2
R 3
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
81
2 2 F 2
AT = 12 2
R 3
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
82
83
AT = 13 RT = 17
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
84
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
85
AT = 20 3 R2 3 R 2 3 2 R
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
86
AT = 19 3 F2 2 F 2 3 2 R
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
87
88
AT = 20 3 3 RT = 17 R 2 3 2 R
R2
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
89
AT = 19 RT = 17 3 F2 2 F 2 3 2 R
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
90
AT
3 R 2 3
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
AT = 15 R 2
91
3 F 2 2
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
AT = 14 F 2
92
3 F 2 2
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
RT = 11 F 2
Q QN
93
3 R 2 3
AT = 15 RT = 11 3 R 2
QN D Q
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
94
3 F 2 2
AT = 14 RT = 11 F 2 3
D Q QN
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
95
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
96
IO constraints
Input delay of A, B, C: 1ns (Da , Db , Dc) Output delay of Y: 3ns (DY)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
97
98
source clock (ideal) 14 target clock (ideal) Why are the delay values chosen?
R/F 1 1
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
99
100
Q QN
R/F 1 1 AT = 2 RT = 7
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
101
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
102
AT
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
103
104
R1
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
105
AT = 14 RT = 7 3 F1 1 F 1 2 1 R
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
106
3 R 1 2
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
AT = 12 R 1
107
3 F 1 1
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
AT = 11 F 1
108
F 1 1
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
RT = -3 F 1
Q QN
109
AT = 12 R 1 2 RT = -3 R 1
D Q QN
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
110
AT = 11 F 1 1 RT = -3 F 1 3
Q QN
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
111
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
112
Setup Relationships
Find the Setup Relationship between A rising to B rising The setup relationship is the closest distance between the launching clock edge (A) to the receiving clock edge (B)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
113
Hold Relationships
Find the Hold Relationship between A rising to B rising The hold relationship is the closest distance between the launching edge (A) to the previous receiving edge (B)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
114
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
115
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
116
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
117
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
118
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
119
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
120
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
121
Single OC Analysis
Typically, you need to perform timing analysis for at least two operating conditions to ensure that the design has no timing violations
Best case (minimum path report) (Hold Time Check) Worst case (maximum path report) (Setup Time Check)
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
122
123
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
124
Case Analysis
Timing analysis with specified logic value conditions on pins or ports Logic constants are propagated to avoid unnecessary timing path analysis (3 paths in this example)
conditional combinational timing arc
F2
F 2 2 0 2 F 0
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
125
STA sign-off
Primetime
Chip Implementation Center / Design Service Division / Physical Design Section / C.S.Chen Static Timing Analysis
126