Static Timing Analysis Overview
Static Timing Analysis Overview
[Link] 1
All the presentations, books, documents [hard copies and soft copies] and
projects that you are using and developing as part of the training course are the
proprietary work of Maven Silicon and is fully protected under copyright and
trade secret laws. You may not view, use, disclose, copy, or distribute the
materials or any information except pursuant to a valid written license from
Maven Silicon
[Link] 2
1
Why Timing Analysis ?
[Link] 3
[Link] 4
2
What is Timing Analysis?
[Link] 5
Summary
[Link] 6
3
Types of timing analysis
Static timing analysis – Verifies timing in each path of the logic circuit without
applying stimulus
[Link] 7
Test Bench
Stimulus Output
generation Monitoring
Outputs
Inputs
Top Level
of Design
[Link] 8
4
Dynamic Timing Analysis
Advantages:
Can be very accurate (spice-level)
Simulator calculates the logic value and delays
Disadvantages:
Vector creation takes too long, slow
Incomplete timing coverage
Analysis quality depends on stimulus vectors
Requires more memory and CPU resources over STA
[Link] 9
100 ns 1 100 ns 1
sel 10 ns
The main goal of static timing analysis is to verify that, all signals will arrive
neither too early nor too late, and hence proper circuit operation can be assured.
[Link] 10
5
Static Timing Analysis
Advantages:
Much faster than timing-driven, gate-level simulation
Exhaustive timing coverage
Does not require input vectors
More efficient than DTA in memory and CPU resources
Capacity for millions of gates
[Link] 11
Limitations:
Works best with synchronous (not asynchronous) logic
Complex to learn
Must define timing requirements / exceptions
Difficulty in handling:
Multiple clocks
false paths
Multicycle paths
[Link] 12
6
Summary
Timing Analysis
DTA STA
Static Timing Analysis ensures that, all the paths in the logic circuit are free of
timing violations.
[Link] 13
False Path
50 ns
50 ns
200 ns 0 200 ns 0
o/p 500 ns
300 ns
100 ns 1 100 ns 1 400 ns
sel 10 ns
False Path
[Link] 14
7
Controlling/Non-Controlling Values
0 0 1
Controlled value of OR
1 1 0
Controlling value of OR
Non-Controlling value of OR
[Link] 15
Path sensitization
0
0
w2 = 1
1
w3 = 0
1
w4 = 1
1
1
w2 = 1
0
w3 = 0
0
w4 = 1
[Link] 16
8
Multicycle path
♦ Paths which intentionally require more than one clock cycle to propagate.
D
Comb D
Clk
Clk
D
Clk
[Link] 17
Summary
False Paths
Paths that physically exist in a design but are not logic /functional paths
Paths that may not be excited
Circuit delay = Length of longest path ?
Not a good enough bound (too pessimistic)
Circuit delay = Time of last output change
Multicycle Paths
Paths which intentionally require more than one clock cycle to propagate.
[Link] 18
9
STA in Digital design flow
Architecture Placement
GDSII
[Link] 19
[Link] 20
10
Inputs & outputs of STA Tools
Netlist
SDF & Model Lib
(or) STA Tool Reports
Net delays & SPEf
Constraints
[Link] 21
Sample Reports
[Link] 22
11
Summary
Static Timing Analysis can be performed on Gate Level Netlist or Routed Netlist.
[Link] 23
Clock
[Link] 24
12
Clock
♦ The clock is a periodic synchronization signal used as a time reference for data
transfers in synchronous digital systems
T (Clock Period)
[Link] 25
Slew
[Link] 26
13
Types of Clocks
Gated Clock
Virtual Clock
[Link] 27
Gated clock
♦ Clock gating reduces power consumption by switching off the clock to flipflops
when the value of those flipflops does not change.
clock
Gated_clock
clk_enb
[Link] 28
14
Gated clock
Results on 32bit
RISC Architecture
[Link] 29
Virtual clock
[Link] 30
15
Generated Clock
♦ A design might include clock dividers or other structures that produce a new
clock from a master source clock.
Generated
Master Clock
Clock
[Link] 31
Clock domain
[Link] 32
16
Synchronizing clock domain
[Link] 33
[Link] 34
17
Clock Variations (Uncertainty)
[Link] 35
Latency
♦ Clock Source latency time it takes for a clock signal to propagate from its
actual ideal waveform origin point to the clock definition point in the design.
♦ Clock Network latency time it takes for a clock signal to propagate from the
clock definition point to a register clock pin.
[Link] 36
18
Clock skew
♦ Difference between arrival times of the clock at different devices is called clock
skew
[Link] 37
Positive skew
[Link] 38
19
Negative skew
[Link] 39
♦ Local skew
Local skew is the difference in the arrival of clock signal at the clock pin of
related flops.
♦ Global skew
Global skew is the difference in the arrival of clock signal at the clock pin
of non related flops
[Link] 40
20
Strategies to minimize clock skew
[Link] 41
Jitter
[Link] 42
21
Skew and Jitter
[Link] 43
Clock
[Link] 44
22
Summary
♦ The clock is a periodic synchronization signal used as a time reference for data
transfers in synchronous digital systems.
♦ Slew: Amount of time it takes for a signal transition to occur.
[Link] 45
[Link] 46
23
Arrival time
♦ Arrival time - An arrival time defines the instant of time, at which a proper
value will arrive at a particular node.
90 nSec
A
70 nSec Y = A.B
B
20 nSec
[Link] 47
Required time
♦ Required time - Required time defines the instant of time, at which a proper
value is expected to arrive at a particular node.
A 85 nSec - Expectation
70 nSec Y = A.B
B
15 nSec - Expectation
90 nSec – Arrival Time
85 nSec – Required Time
[Link] 48
24
Slack and Critical Path
♦ Slack
• It is the difference between the required (constraint) time and the arrival time
(inputs and delays).
• Negative slack indicates that constraints have not been met, while positive
slack indicates that constraints have been met.
• Slack analysis is used to identify timing critical paths in a design by the static
timing analysis tool
♦ Critical path
• Any logical path in the design that violates the timing constraints
• Path with a negative slack
[Link] 49
Slack Analysis
[Link] 50
25
Timing met ?
[Link] 51
I/P O/P
[Link] 52
26
Delays in Sequential Circuits
[Link] 53
D2Q Delay : A change in input D cannot bring a change in the output of the
flipflop. So, D2Q delay is not valid.
Clk2Q Delay : It is the time it takes for the flipflop output to be in a stable state
after a clock edge occurs.
S2Q Delay : It is the time taken by flipflop to come to SET state after the
application of asynchronous PRESET input.
R2Q Delay : It is the time taken by flipflop to come to RESET state after the
application of asynchronous CLEAR input.
[Link] 54
27
Setup time and Hold time
Synchronous inputs (e.g. D) have Setup, Hold time specification with respect to
the CLOCK input.
Setup Time (tsu): is the minimum time interval for which the input signal must
be stable (unchanging) prior to the sampling event of the clock for the input signal
to be recognized correctly.
Hold Time (th): is the minimum time interval for which the input signal must be
stable (unchanging) following the sampling event of the clock for the input signal
to be recognized correctly.
[Link] 55
[Link] 56
28
Setup time and Hold time Violations
[Link] 57
Setup time
Tclk
Tclk-Q Tinv
1
[Link] 58
29
Hold time
0
Tclk-Q T
inv
Example 1
T (pd-inv) = 3ns
Tclk ≥ 5 + 3 + 2
Tclk ≥ 10ns
T (Clk-Q) = 5 nS
T (setup) = 2 nS fmax = 1 / Tclk
T (Hold) = 1 nS
fmax = 1 / 10ns = 100MHz
[Link] 60
30
Timing Analysis
[Link] 61
Tclk
Tclk-Q Tpd
Tclk - Tsetup
31
Calculation of Hold time Const without CLK Skew
Tclk
Tclk-Q
Tpd
Tclk
Tclk-Q Tpd
Tclk
Tskew
Tclk + Tskew - Tsetup ≥ Tclk_Q(max) + Tpd(max) Tclk + Tskew ≥ Tclk_Q(max) + Tpd(max) + Tsetup
[Link] 64
32
Calculation of Hold time Const with +ve Skew
Tclk
Tclk-Q
Tpd
Tskew
Tclk-Q(min) + Tpd(min) ≥ Thold + Tskew Thold ≤ Tclk-Q(min) + Tpd(min) - Tskew
[Link] 65
Tclk
Tskew
Tclk - Tskew - Tsetup ≥ Tclk_Q(max) + Tpd(max) Tclk - Tskew ≥ Tclk_Q(max) + Tpd(max) + Tsetup
[Link] 66
33
Calculation of Hold time Const with -ve Skew
Tclk
Tclk-Q
Tpd
Tskew
Example 2
In the below circuit the setup and hold times of the flipflops are 5 ns and 1 ns
respectively. The propagation delay of the flipflops may vary between 4 and 7 ns
while the propagation delay of the gates may vary between 2 and 6 ns. Determine
the Maximum clock frequency and identify the hold time violations. (if any)
-ve skew
34
Example 2
In the below circuit the setup and hold times of the flipflops are 5 ns and 1 ns
respectively. The propagation delay of the flipflops may vary between 4 and 7 ns
while the propagation delay of the gates may vary between 2 and 6 ns. Determine
the Maximum clock frequency and identify the hold time violations. (if any)
-ve skew
External inputs are buffered through pad drivers and may go through
combinational logic before they reach a synchronous input. This buffering adds
propagation delay.
[Link] 70
35
External Setup time
Tpd(d-in)
Tpd(clk) Tpd(clk)
[Link] 71
Tpd(d-in)
Tpd(clk) Tpd(clk)
[Link] 72
36
Summary
Slack : It is the difference between the required (constraint) time and the arrival
time (inputs and delays).
Critical path: Any logical path in the design that violates the timing constraints.
Setup Time (tsu): is the minimum time interval for which the input signal must be
stable (unchanging) prior to the sampling event of the clock for the input signal to
be recognized correctly.
A setup time violation, when a signal arrives too late, and misses the time when it
should advance.
Hold Time (th): is the minimum time interval for which the input signal must be
stable (unchanging) following the sampling event of the clock for the input signal
to be recognized correctly.
A hold time violation, when a input signal change too quickly, after the clock's
active transition
[Link] 73
Summary (Contd..)
+ve Skew Tclk + Tskew ≥ Tclk_Q(max) + Tpd(max) + Tsetup Thold ≤ Tclk-Q(min) + Tpd(min) - Tskew
-ve Skew Tclk - Tskew ≥ Tclk_Q(max) + Tpd(max) + Tsetup Thold ≤ Tclk-Q(min) + Tpd(min) + Tskew
[Link] 74
37
STA Procedure
[Link] 75
[Link] 76
38
Types of timing path
[Link] 77
Timing Path
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 end point
Start points: Input ports, Clock pins of flip-flops.
Endpoints: Output ports, Data input pins of flip-flops.
[Link] 78
39
Example - 3
Example - 4
Path P1 P2 P3 P4 P5 P6 P7
Determine Maximum clock frequency.
Dealy 16 12 11
P1
P3
P2
40
Example - 4
Path P1 P2 P3 P4 P5 P6 P7
Determine Maximum clock frequency.
Dealy 16 12 11 15 16
P4 P5
P4 - Register to register path – U1, U4, U2 → Tclk-q + Tcomb + Tsu = 5+7+3 = 15nSec
P5 - Register to register path – U2, U3, U1 → Tclk-q + Tcomb + Tsu = 5+8+3 = 16nSec
[Link] 81
Example - 4
Path P1 P2 P3 P4 P5 P6 P7
Determine Maximum clock frequency.
Dealy 16 12 11 15 16 20 20
P7
P6
T = 20nSec
f = 1/20n = 50MHz
P6 - Register to Primary output path – U2, U5, U6 → Tclk-q + Tcomb = 5+9+6 = 20nSec
P7 - Register to Primary output path – U1, U5, U6 → Tclk-q + Tcomb = 5+9+6 = 20nSec
[Link] 82
41
Methods to improve timing
[Link] 83
Pipelining
Retiming
Time borrowing
[Link] 84
42
Pipelining
25+23+2=3+23+2
50 = 28 3+2+14+14+2 = 35 3+20+17 = 40
3+20+2 = 25 3+17 = 20
25+2 = 27
[Link] 85
Retiming
3+2+14+14+2 = 35
3+23+2 = 28 3+14+14+2 = 33 3+20+2 = 25 3+17 = 20
25+2 = 27 3+2+2 = 7
3+14+2 = 33
19 3+20+2 = 25 3+17 = 20
25+2 = 27 3+23+2 = 28 3+2+2 = 7 = 213+14+14+2
3+2+14+2
[Link] 86
43
Advantages and Disadvantages
Advantages:
Higher throughput than combinational system
Different parts of the logic work on different parts of the problem. So easy
to debug.
Disadvantages:
Generally, increases latency
More Silicon Area and More power consumption
[Link] 87
Time Borrowing
T pd = 24 nSec
[Link] 88
44
Time Borrowing
T pd = 19 nSec
[Link] 89
Summary
Pipelining, Retiming and time borrowing are the techniques available for
improving the timing of the circuits.
[Link] 90
45
Thank You
[Link] 91
46