Static Timimg Analysis Mat
Static Timimg Analysis Mat
Introduction to
STATIC TIMING ANALYSIS
Concepts Covered
• Introduction to STA
• Timing Paths
• Skew
• Problems
• Clock & Timing Constraints
• Exceptional Paths
• Pipelining
• Retiming
1
3/13/2015
Map
2
3/13/2015
3
3/13/2015
4
3/13/2015
Timing Analysis
10
5
3/13/2015
11
12
6
3/13/2015
13
14
7
3/13/2015
15
Timing Graphs
16
8
3/13/2015
Bottom
Data Nodes
Clock Nodes
All nodes along clock path
Created from “force clock constraints”
18
9
3/13/2015
STA - Events
• At each node it is a group of events modeling
signal transitions
AT RT
D Q
QB
SLEW
19
SLEW
SLACK = RT - AT
• Timing is met when slack is greater than or equal to
zero
20
10
3/13/2015
RT AT
-SLACK
STA - Levels
Q. How many levels of logic are in this design?
4 5
3
3 4 9 10
1 2 1 2
6 7 8
11
3/13/2015
STA - Calculating AT
1
1.0 1.2
2.4
25
1 2.6
1.0 2 3
1.2 4 1.9 9
1.7
1 9 10
1.0
4 1.9
1.7 7 3.8 4.0
1
1.0 1.23 4 1.9
2 3.1
8
1.2 3.3
1 6
2 5 2.6
1.0 2.4
2
1.2
STA - Calculating RT
1.4
1 1.2 1.2 1.9
1.0 2.4
2
5
2.1
1 0.5 0.7 2
1.0 1.2 3 2.6
4 1.9 9
1.7 1.4
1 -0.2 1.2 9 10
1.0 1.4
0.0 0.5 4 1.9
7 4.0
1 -0.2 1.2 1.7 0.7 3.8
1.0 2 3 4 1.9 2.6
3.1
8 2.8
0.0 1.2 3.3
6 1.9
1 2
5 2.6 2.1
1.0 2 2.4
0.5 1.4
1.2 1.2
0.7
24
12
3/13/2015
25
WHAT WE DO IN --STA
26
13
3/13/2015
Critical path??
Gate Delay
Not 2
AND 4
OR 4
27
Critical path??
Gate Delay
Not 2
AND 4
OR 4
28
14
3/13/2015
QB
D Q
D Q
Combo
QB
QB
D Q
clk
QB
30
15
3/13/2015
Primary Input
A M
D Q
Combo Delay
FF1
B
clk
31
Flop to Flop
A C x z
D Q D Q
Combo Delay
FF1 FF2
B
clk y
clk
32
16
3/13/2015
Primary Output
Z
C
D Q
Combo Delay
FF2
E
clk
33
X Z
Combo Delay
34
17
3/13/2015
35
Timing paths
36
18
3/13/2015
37
19
3/13/2015
Basic Terminologies
39
Concepts Covered
• Minimum clock • Cause and effect of
period timing violations
• Clock latency • Critical path
• Hold constraint • False path
• Clock jitter • Multicycle path
• Setup time • Ideal and computed
• Hold time clocks
• Clock-to-Q time • Specifying clocks
• Clock skew • Generated clocks
40
20
3/13/2015
Critical Path
Clk
. . . .
. . . .
. . . .
41
42
21
3/13/2015
Clk QB OutputBar
Clk
0 100 200 300 400 500
Data
Setup Requirement
Data Cannot
Hold Requirement Change Within
These Windows
43
Basic Terminologies
• Setup time:
The amount of time the synchronous input
must be stable before the active edge of clock.
• Hold time:
The amount of time the synchronous input
must be stable after the active edge of clock.
44
22
3/13/2015
CLK
46
23
3/13/2015
D Q D Q
QB QB
clkbar
47
48
24
3/13/2015
49
50
25
3/13/2015
A Timing Example:
51
Problem 2
52
26
3/13/2015
Understanding
And
Describing Clocks
53
Defining Clocks
period
54
27
3/13/2015
• Clock skew
• Jitter
• Clock latency (delay)
55
Clock Skew
clock
56
28
3/13/2015
Your chip
Flip
Flop
57
Your chip
Flip Flip
Flop Flop
delay
58
29
3/13/2015
clk
δ delay
clk
δ delay
T = 0ns
60
30
3/13/2015
clk
δ delay
T = tclk-to-Q
61
clk
δ delay
T = tclk-to-Q + tlogic
62
31
3/13/2015
clk
δ delay
63
Failure!!!
“A” “B”
new New
Ain Aout Combinational Bin Flip Bin
Flip
Flop Logic Bin
Flop
clk
δ delay
64
32
3/13/2015
More on Skew
65
R1 R2 R3
In Combinational Combinational
D Q D Q D Q •••
Logic Logic
CLK tCLK1 tCLK2 tCLK3
delay delay
(a) Positive skew
R1 R2 R3
In Combinational Combinational
D Q D Q D Q •••
Logic Logic
tCLK1 tCLK2 tCLK3
66
33
3/13/2015
Clock Skew
A and C have clock skew
A and D have clock skew Clock Generator
B and C have clock skew (PLL)
B and Dh ave clock skew
A and B have zero clock
skew
A Metal Line B
C Metal Line D
67
A Metal Line B
C Metal Line D
68
34
3/13/2015
Clock Jitter
• Clock Jitter:
clock
jitter
69
Clock Jitter
35
3/13/2015
71
72
36
3/13/2015
Summary: Clocks
73
False Paths
74
37
3/13/2015
75
Mux 1 Mux 2
A C C1 C2 OUT
B1 B2
B
38
3/13/2015
CK
TC CE
CLK PRE2 COUT14
Q0 Q1 Q2 Q3 Q4 Q14 Q15
77
Multicycle Path
78
39
3/13/2015
Pipelining Concept
79
Pipelining
Concept
80
40
3/13/2015
Latency in Pipelines
81
Pipelining Example
Original circuit
– Two logic levels between SOURCE_FFS and
DEST_FF
– fMAX = ~207 MHz
82
41
3/13/2015
Pipelining Example…contd
Pipelined circuit
– One logic level between each set of flip-flops
– fMAX = ~347 MHz
83
Review Question
Given the original circuit, what is wrong with
the pipelined circuit?
How can the problem be corrected?
84
42
3/13/2015
Retiming Concept
GLUE LOGIC
86
43
3/13/2015
X
RegA X
clock RegA
GLUE clock
X
RegB
clock
X+GLUE
X
RegA
clock RegA
clock
X
RegB
clock
44
3/13/2015
Limitations of STA
• Works best with synchronous (not asynchronous) logic
• Must define timing requirements / exceptions
• Difficulty in handling:
• Multiple clocks
• False paths
• Latches
• Multicycle paths
89
THANK YOU
90
45