Static Timing Analysis Basics by Selva Kumar
Static Timing Analysis Basics by Selva Kumar
Overview
Even though a digital circuit may be logically correct, one needs to know how it will perform on physical implementation Timing analysis is required To meet a performance specification To evaluate how the design operates Timing Analysis : Point-point analysis of design without stimulus vectors
Selvakumar @ [email protected]
2
Session Topics
Timing Paths Clock Skew Timing Constraints Slack
Selvakumar @ [email protected]
Timing Analysis
A N bit input design to be verified completely requires a 2N test patterns The approach of generating 2N patterns and applying them at different time & sequence is impractical The complexity of analysis of netlist is reduced by breaking the process into two steps One of functional verification Other of timing Verification The process of verifying the netlist through test benches and test patterns after P&R is known as Dynamic Timing Analysis Requires input from user / verification engineer
Selvakumar @ [email protected]
8
It is design specific One method cannot be used to all designs Hence for each design a unique test bench needs to be created A generalized approach is required so that verification process is speeded up
Selvakumar @ [email protected]
9
Selvakumar @ [email protected]
Setup Requirement Hold Requirement Data Cannot Change Within These Windows
19
Selvakumar @ [email protected]
Timing Terminologies
Setup Time : Time for which data should be stable at the input of the ff before the arrival of clock (active edge) at the ffs clock pin Hold Time : Time for which data should be stable at the input of the ff after the arrival of clock (active edge) at the ffs clock pin
THOLD TSETUP
Selvakumar @ [email protected]
20
Metastability
For any flop to work its setup time and hold time requirements should be met
Selvakumar @ [email protected]
21
STA Process
STA happens in three steps Circuit is broken down to sets of timing paths Delay of each path is calculated Path delays are checked to see if timing constraints have been met
Selvakumar @ [email protected]
27
Timing Paths
Timing refers to the time taken by data to travel from one point to the other The point at which data is expected to originate is considered a start point
Input Port Clock Pin of sequential elements
terminates
is
28
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.
Selvakumar @ [email protected]
29
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 startpoint and an endpoint Startpoints: Input ports, Clock pins of flip-flops Endpoints: Output ports, Data input pins of flip-flops
Selvakumar @ [email protected]
30
Timing Terminologies
Critical Path : Theoretically path which has maximum delay Arrival Time : Time taken by data to reach a end point from a specific start point. Depends on complexity of logic through which data traverses Required Time : Time at which data is required at a particular end point. Depends on the requirements / specifications Slack : Difference in required time and arrival time. For a design to work the slack value should always be positive
Selvakumar @ [email protected]
31
Timing Paths
Depending on the logic through which data propogates a design can be considered to comprise of 4 paths
input > reg : Data from Input port to the first flip-flop reg > reg : Data from one flip-flop to another ff reg > out : Data from last flip-flop to output port input > output : Data from Input Output with no
sequential components in between
Selvakumar @ [email protected]
32
Timing paths
Input Reg Reg Input -> -> -> -> Reg Reg Output Output
Input / Output also called as Pad / Pin Reg can be any of - flop, latch, RAM etc Reg also called as clock / setup
Selvakumar @ [email protected]
34
Selvakumar @ [email protected]
35
Selvakumar @ [email protected]
36
Selvakumar @ [email protected]
37
Selvakumar @ [email protected]
38
Selvakumar @ [email protected]
39
Selvakumar @ [email protected]
40
Combinational Logic
Flip Flop
Tclock-to-Q
Tlogic
Tsetup
Selvakumar @ [email protected]
41
Propagation Delay
Delay of a cell depends on many factors such as
Operating Conditions Functionality of the cell Type of Inputs
Based on the factors above a cell can propagate data either quickly or slowly Depending on the kind of analysis being done at any point of time one needs to consider either minimum delays or maximum delays
Selvakumar @ [email protected]
43
Selvakumar @ [email protected]
44
Delay Types
Assume the and gate shown below has a maximum delay of 3 ns at max operating conditions and for a 0-1 transition Let the and gate have a delay of 0.6 ns at minimum operating conditions and for a 1-0 transition Which is the delay to be considered for analysis?
Selvakumar @ [email protected]
46
Clock Skew
Clock feeds multimillion flip-flops Theoretically clock should arrive at same instance at all flip-flops Practically impossible
Selvakumar @ [email protected]
47
Clock Skew
Clock Skew: The maximum difference in arrival time of the clock signal to each register in the design
Selvakumar @ [email protected]
48
Clock Skew
Variation in arrival of clock at clock pin of subsequent / consecutive flip-flops is known as skew
Selvakumar @ [email protected]
49
Clock Jitter
The difference in arrival of clock at different flip-flops could be due to Jitter cycle to cycle variation in clock period
due to aging of oscillator, anomalies in the pll etc
Selvakumar @ [email protected]
50
Clock Skew
Skew can be considered to be of two types When clock arrives earlier than expected
generally known as negative skew When clock arrives later than expected generally known as positive skew
+ve skew can occur when data & clock travel in same direction -ve skew can occur when data & clock travel in opposite directions
Selvakumar @ [email protected]
52
In
Combinational Logic
Combinational Logic
Selvakumar @ [email protected]
53
Positive Skew
TCLK + CLK1 1 CLK2 T CLK 3
2 + th
+ve skew Tclk + >= tcq1 + tcombo + t su2 (th2 + ) < tcq1 + tcombo Launching edge arrives before the receiving edge
Selvakumar @ [email protected]
54
Negative Skew
TCLK - CLK1 1 TCLK 3
CLK2
-ve skew Tclk - >= tcq1 + tcombo + t su2 (th2 - ) < tcq1 + tcombo Receiving edge arrives before the launching edge
Selvakumar @ [email protected]
55
Timing Terminologies
Critical Path Theoretically path which has maximum delay Arrival Time : Time taken by data to reach a particular end point from a specific start point. Depends on complexity of logic through which data traverses Required Time : Time at which data is required at a particular end point. Depends on the requirements / specifications Slack : Difference in required time and arrival time. For a design to work the slack value should always be positive :
Selvakumar @ [email protected]
56
Maximum Frequency
For a circuit to meet its specifications the minimum time period or maximum frequency at which it works should be identified The frequency of operation of a circuit depends on the logic of the paths Each of the four kinds of paths have different required times
Selvakumar @ [email protected]
57
Frequency Calculations
Selvakumar @ [email protected]
58
Frequency Calculations
Arrival Time : TClk-Q + TCombo, MAX Required Time = TCP + TClock_Skew - TSETUP
Selvakumar @ [email protected]
59
Frequency Calculations
Arrival Time : TCombo, MAX Required Time : Explicit Timing Constraint (If Specified)
Selvakumar @ [email protected]
60
Frequency Calculations
Arrival Time = TClk-Q + TCombo, MAX Required Time = Explicit Timing Constraint (If Specified)
Selvakumar @ [email protected]
61
Problem 1
Find The maximum Frequency for the circuit shown in figure below
Selvakumar @ [email protected]
62
Solution Methodology
Step One : Find the total number of paths in the design Step Two : Identify the paths that are constrained by clock Step Three : Identify the arrival times of all the paths identified in step 2 above Step Four : Identify the required time equations of all paths identified in step 2 Step Five : Equate the arrival times and required times of all relevant paths to obtain the time periods Step Six : Select the maximum applicable clock frequency from the clocks identified in step 5
Selvakumar @ [email protected]
63
Solution
Three paths in the design
Input Reg Reg Reg Reg Out
Reg Out path not constrained hence can be discarded for timing calculation Relevant Paths are Input Reg and Reg Reg Input Reg Path
Arrival Time = 3 Required Time = CP + 0.5 + 0.6 -Tsetup= CP + 1.1 0.65 Equating the 2, CP = 3 1.1 + 0.65 = 2.55
Selvakumar @ [email protected]
64
Solution
Reg Reg Path
Arrival Time = 0.5 + 0.6 + 1.4 + 4 = 6.5 Required Time = 0.5 + 0.7 + 0.8 + CP 0.75 = CP +
1.25 Equating the two, CP = 6.5 1.25 = 5.25
Two time periods available from the calculations 5.25, 2.55. Though first path can work if clock time period is 5.25 the second path can not work if clock time period is 2.55 Hence the maximum clock frequency at which the circuit can work is 1/5.25
Selvakumar @ [email protected]
65
Problem 2
Paths from Q1 to Q1: None Paths from Q1 to Q2: TW max tPDFF +tJKsu = 20 +10 = 30 ns TW max tPDFF + max tAND + tJKsu = 20 + 12 + 10 = 42 ns Paths from Q2 to Q1: TW max tPJKFF + tOR + TDsu = 25 + 10 + 5 = 40 ns Paths from Q2 to Q2: TW max tPJKFF + max tAND + tJKsu = 25 + 12 + 10 = 47 ns
TW 47 ns
Selvakumar @ [email protected]
66
Problem 3
Find the maximum applicable clock frequency for the circuit shown in figure below
Selvakumar @ [email protected]
67
Problem 4
For the circuit shown in figure below find the maximum applicable clock frequency
Selvakumar @ [email protected]
68
Problem 5
For the circuit shown in figure below find the maximum applicable clock frequency
Selvakumar @ [email protected]
69
clk delay
If new data (Ain) gets to point B before clock does, system will fail by simply skipping over old data For this illustration - ignore tsetup
Selvakumar @ [email protected]
70
clk delay
T = 0ns
Selvakumar @ [email protected]
71
clk delay
T = tclk-to-Q
Selvakumar @ [email protected]
72
Aout
Combinational Logic
clk delay
T = tclk-to-Q + tlogic
Selvakumar @ [email protected]
73
Clock Reaches B
A Ain
Flip Flop
Aout
Combinational Logic
clk delay
T = tclk-to-Q + tlogic
T = t
Selvakumar @ [email protected]
74
Failure!!!
A Ain
Flip Flop
Aout
Combinational Logic
New Bin
clk delay
Selvakumar @ [email protected]
75
Example 1
D Q
CK
For the 7474, max tPLH = 25ns, max tPHL = 40ns, tsu = 20ns
TW max (max tPLH + tsu, max tPHL + tsu) TW max (25+20, 40+20) = 60
77
Selvakumar @ [email protected]
Example 2
D Q
CK
Example 3
0
D Q Q
Q0
MUX
1
D Q
Q1
CK
Selvakumar @ [email protected]
79
False paths Paths that physically exist in a design but are not
logic/functional paths These paths never get sensitized under any input conditions
Mux 1 A B1 B B2 C C1 C2 Mux 2 OUT
Total 4 timing paths PATH 1 A-C-C1-C2-OUT PATH 2 A-C-OUT PATH 3 B-B1-B2-C-C1-C2-OUT PATH 4 B-B1-B2-C-OUT Only path1 and 4 above are valid logic paths as select line for the 2 muxes are the same
Selvakumar @ [email protected]
86
Multicycle Path
Multicycle paths are paths which intentionally require more than one clock cycle to propagate. This information cannot possibly be inferred by the timing tool, so it must be specified by the designer so the analyzer can mark the path and correctly compute the timing. A start point, end point and/or "through" point is specified, along with the number of allowed clock cycles.
Selvakumar @ [email protected]
87