Static Timing Analysis
Static Timing Analysis
ANALYSIS
© Mirafra Technologies
1
Introduction
➢ Effective methodology for verifying the timing
characteristics of a design without the use of test vectors
➢ Conventional verification techniques are inadequate for
complex designs
➢ Simulation time using conventional simulators
➢ Thousands of test vectors are required to test all
timing paths using logic simulation ➢ Increasing design
complexity & smaller process technologies
➢ Increases the number of iterations for STA
© Mirafra Technologies
2
False timing paths
STA approach typically takes a fraction of the time it takes
to run logic simulation on a large design and guarantees
100% coverage of all true timing paths in the design
without having to generate test vectors
© Mirafra Technologies
0%
OVERVIEW
Previous Verification Flow
4
OVERVIEW
© Mirafra Technologies
•
Requires extensive vector creation
• Valid for FPGAs and smaller ASICs
• Falls apart on multi-million gate ASICs
5
What is Static Timing
Analysis?
Static Timing Analysis is a method for
determining if a circuit meets timing
constraints without having to simulate
➢Much faster than timing-driven, gate-level
simulation
➢Proper circuit functionality is not checked
➢Vector generation NOT required
© Mirafra Technologies
6
STA in ASIC Design Flow
– Pre layout
Logic Synthesis
Constraints (clocks, input drive, output load)
Design For test
Floor
planning Static Timing Analysis
Static Timing Analysis (estimated parasitics)
© Mirafra Technologies
7
STA in ASIC Design Flow
– Post Layout
Floor planning
Constraints (clocks, input drive, output load)
Clock Tree Synthesis
Static Timing Analysis
Place and Route
(estimated parasitics)
Parasitic Extraction
Static Timing Analysis (extracted parasitics)
SDF (extracted parasitics)
© Mirafra Technologies
8
2 Types of Timing
Verification
Dynamic Timing Simulation
Advantages
➢Can be very accurate (spice-level)
Disadvantages
➢Analysis quality depends on stimulus
vectors
➢Non-exhaustive, slow
Examples:
VCS,Spice,ACE
© Mirafra Technologies
9
2 Types of Timing
Verification
Static Timing Analysis (STA)
Advantages
➢Fast, exhaustive
➢Better analysis checks against timing
requirements
Disadvantage
➢Less accurate
➢Must define timing
requirements/exceptions
➢Difficulty handling asynchronous designs,
false paths
© Mirafra Technologies
10
Three Steps in Static
Timing Analysis
➢ Circuit is broken down into sets of timing
paths
➢ Delay of each path is calculated
➢ Path delays are checked to see if timing
constraints
have been met
© Mirafra Technologies
11
A Timing Path is a point-to-point path in a
design which
can propagate data from one flip-flop to
another
❖Each path has a start point and an
endpoint
➢Start point:
➢Input ports Clock pins of flip-flops
➢Endpoints:
➢Output ports Data input pins of
flip-flops © Mirafra Technologies
Clocked Storage
Elements
Transparent Latch, Level Sensitive
– data passes through when clock high, latched when
clock low
17
© Mirafra Technologies
Flip-Flops
18
Basic terminologies
➢ Pulse Width ➢ Setup & Hold times ➢ Signal
slew ➢ Clock latency ➢ Clock Skew ➢ Input
arrival time ➢ Output required time ➢ Slack and
Critical path
➢ Recovery & Removal times ➢ False
paths ➢ Multi-cycle paths
© Mirafra Technologies
19
Pulse Width
➢ Pulse width
➢ It is the time between the active and inactive states of
the same signal
© Mirafra Technologies
20
Both the above 2 timing violations can occur in a design
when
clock path delay > data path delay
© Mirafra Technologies
Signal Slew
➢ Signal (Clock/Data) slew
➢ Amount of time it takes for a signal transition to occur ➢
Accounts for uncertainty in Rise and fall times of the signal
➢ Slew rate is measured in volts/sec
22
CLK
BUF
© Mirafra Technologies
Clock Latency
➢ Clock Latency
➢ Difference between the reference (source) clock slew to
the clock tree endpoint signal slew
values ➢ Rise latency and fall latency are specified
INV
INV
Rise=7 Fall=4
INV
Rise=7 Fall=4
INV
Rise=7 Fall=4
BUF
INV
Rise=7 Fall=4
Rise=7 Fall=4
Rise=7 Fall=4
INV
Rise=7 Fall=4
CLKB
CLKA
CLKC
23
© Mirafra Technologies
Clock Latency
24
Clock Skew
➢ Clock Skew is a measure of the difference in latency
between any two leaf pins in a clock tree.
➢ between CLKA and CLKB
rise = 22-8 = 14 fall = 22-14 = 8 ➢ between CLKB and
CLKC
rise = 8-7 = 1 fall = 14-4 = 10 ➢ between CLKA and CLKC
rise = 22-7 = 15 fall = 22-4 = 18 It is also defined as the
difference in time that a single clock signal takes to reach
two different
registers
© Mirafra Technologies
25
© Mirafra Technologies
, min t
PHL
, max t
PLH
, max t
P
HL ❖ Flip-Flops:
• Propagation delays: min t
PLH
, min t
PHL
, max t
PLH
, max t
PHL
• Setup time: t
su
• Hold time: t
h
© Mirafra Technologies
41
© Mirafra Technologies
➢ Example
T
W
Q
DQ
Q CK
+t
su
= 20ns T
W
= 25ns, max t
PHL
+t
su) T
W
≥ max (max t
PLH
+t
su,
max t
PHL ≥ max (25+20, 40+20) = 60
≥ max t
PFF
= 40ns, t
su
42
© Mirafra Technologies
➢ Example
DQ
CK
Q
T
W
≥ max t
PFF
+ max t
PINV
+t
su
43
+t
su
© Mirafra Technologies
➢ Example
DQ
Q
T
W
Q0 Q1
CK
≥ max t
PFF
+ max t
PMUX
0
1
MUX
DQ
Q
44
= 20 +10 = 30 ns
T
W
≥ max t
PDFF
+ max t
AND
+t
JKsu
= 20 + 12 + 10 = 42 ns
T
W
≥ max t
PJKFF
+t
OR
+T
Dsu
= 25 + 10 + 5 = 40 ns
T
W
≥ max t
PJKFF
+ max t
AND
+t
JKsu
= 25 + 12 + 10 = 47 ns
TW ≥ 47 ns
© Mirafra Technologies
➢ Example
Paths from Q1 to Q1:
Paths from Q1 to Q2:
Paths from Q2 to Q1:
Paths from Q2 to Q2:
None
T
W
≥ max t
PDFF
+t
JKsu
45
Clock Skew
➢ If a clock edge does not arrive at different flip-flops at
exactly the same time, then the clock is said
to be skewed between these flip-flops. The difference
between the times of arrival at the flip-flops is said to be
the amount of clock skew.
➢ Clock skew is due to different delays on different paths
from the clock generator to the various flip-
flops.
• Different length wires (wires have delay)
• Gates (buffers) on the paths
• Flip-Flops that clock on different edges (need to invert
clock for some flip-flops)
• Gating the clock to control loading of registers (a very
bad idea)
© Mirafra Technologies
46
- (if clock skewed, i.e., t
INV
> 0)
min t
INV
© Mirafra Technologies
• Example (Effect of clock skew on clock rate)
➢ Clock C2 skewed after C1
Q1
+ T (if W
clock not skewed, i.e., t
INV t
su
= 0)
≥ max T
PFF
+ max t
OR
Q2 D Q
Q
D2
DQ
Q
CK
C1
C2
T
W
≥ max T
PFF
+ max t
OR
+t
su
47
+ (if clock skewed, i.e., t
INV
> 0)
max t
INV
© Mirafra Technologies
➢ Clock C1 skewed after C2
Q1
Q2 D Q
Q
D2
DQ
Q
CK
C1
C2
T
W
T
W
skewed, i.e., + t
INV t
su
= 0)
≥ max T
PFF
+ max t
OR
+ max t
OR
+t
su
48
➢ Summary of maximum clock frequency calculations
DQ
Q1 D2
Logic Network
C1
Q1
D2
DQ
C1 C2
T
W
T
W
t
SK
=t
INV
t
PFF
t
PFF
=t
INV
C2 C2
Q1
D2
t
OR
t
su
t
OR
t
su
≥ max T
PFF
+ max t
NET
+t
su
- min t
I
NV C2 skewed before C1: T
W
≥ max T
PFF
+ max t
NET
+t
su
+ max t
INV
© Mirafra Technologies
49
© Mirafra Technologies
C2
>t
PFF
t
h
+t
SK
t
SK
< min t
PFF
-t
h
50
© Mirafra Technologies
➢ Case 2: C1 delayed from C2
Q1 D2
C1
DQ
Q
C2
DQ
Q
51
-t
h
© Mirafra Technologies
min t
PFF
-t
h
t
sk
≤ min t
PFF
+ min t
MUX
52
-t
h
© Mirafra Technologies
+ ≤ min t h
tt
PFF
PFF
++t
min NET
t
NET
53
➢ Example: What is the minimum clock period for the
following circuit under the assumption that the clock
C2 is skewed after C1 (i.e., C2 is delayed from C1)?
N2
D1
DQ
Q1 N1 D2 Q2 Q
C1 C2
DQ
Q
© Mirafra Technologies
54
N2
D1
DQ
Q1 D2 Q2 Q
C1 C2
N1
DQ
Q
< min t
PFF
+ min t
N1
-t
h ➢ Next calculate the minimum clock period due to the
path from Q1 to D2.
T
W
> max t
PFF
+ max t
N1
+t
su
- min t
SK ➢ Finally calculate the minimum clock period due to
the path from Q2 to D1
T
W
> max t
PFF
+ max t
N1
+t
su
+ max t
SK
T
W
> max t
PFF
+ max t
N2
+t
su
+ (min t
PFF
+ min t
N1
-t
h
)
T
W
> max t
PFF
+ min t
PFF
+ max t
N2
+ min t
N1
+t
su
-t
h
© Mirafra Technologies
55
Global Setup Time, Hold
Time and Propagation
Delay
➢Global setup and hold times
(data delayed)
T
SU
X
NET
D
DQ
CLK
CK
Q
=t
su
+ max t
NET
T
H
=t
h
- min t
NET
© Mirafra Technologies
56
© Mirafra Technologies
➢ Global setup & hold time (clock delayed)
D
DQ
CLK
Q
T
SU
CK
=t
su
- min t
C
T
H
=t
h
+ max t
C
57
+ max t
C
© Mirafra Technologies
➢ Global setup & hold time (data & clock delayed)
X
NET
D
DQ
CLK
CK
Q
T
SU
=t
h
- min t
NET
58
+t
NET
© Mirafra Technologies
➢ Global propagation delay
D Q CK
Q
NET CLK
T
P
=t
C
+t
FF
Q
Y
59
+ max t
PN
T
H
=t
h
+ max t
PC
- min t
PN
≤t
h
+ max t
PC
T
P
=t
PFF
+t
PN
+t
PC
© Mirafra Technologies
➢ Summary of global timing parameters
T
SU
=t
su
+ max t
PN
- min t
PC
≤t
su
60
➢ Example
❖ Find T
SU
LD
CLK D
DQ
Q
Q
T
SU
CK
and T
H
+max t
NET
- min t
C
T
H
=t
su
+ max t
INV
+ max t
NAND
+ max t
NAND
- min t
INV
=t
h
- min t
NET
+ max t
C
=t
h
- min t
NAND
- min t
NAND
+ max T
INV
© Mirafra Technologies
61
© Mirafra Technologies