SlideShare a Scribd company logo
1 of 107
Download to read offline
Timing Analysis
Prof. Usha Mehta
Professor,
PG-VLSI Design,
EC, Institute of Technology,
Nirma University, Ahmedabad
usha.mehta@nirmauni.ac.in
usha.mehta@ieee.org
 Does the design
meet a given
timing
requirement?!!
 How fast can I run
the design?!!!
8/19/2019StaticTimingAnalysis
Acknowledgement
2
This presentation has been summarized
from various books, papers, websites and
presentations and so on …. all over the
world. I couldn’t remember where these
large pull of hints and work come from.
However, I’d like to thank all professors and
scientists who create such a good work on
this emerging field. Without those efforts in
this very emerging technology, these notes
and slides can’t be finished. I am thankful
to them to make my teaching process more
effective.
8/19/2019StaticTimingAnalysis
Agenda
• ASIC Design Flow : with timing
considerations
• Objective of Timing Analysis
• Types of Timing Analysis
• Static Timing Analysis : Introduction
• STA in ASIC Flow
• Gate Delay Models
• Net Delay Models
3
8/19/2019StaticTimingAnalysis
• What you know
• Logic synthesis
• How to simulate the design to verify what it does
• What you don’t know
• Verify the timing behaviour of given synthesized design
• Timing Analysis
• We have gate level netlist
• Some timing information of gates and wires are
given
• We need to tell
• When signal arrives in various points in the
network
• Shortest and longest delays through network
• Does netlist meets timing requirements?
4
8/19/2019StaticTimingAnalysis
Objective of Timing Analysis
Timing verification
• Verifies whether a design meets a given timing
constraint
• Verifies that the design work properly for all possible
combination “EVERY TIME”
Timing optimization
• Needs to identify critical portion of a design for
further optimization
• Critical path identification
• Like component selection
• A slow memory can degrade processor
performance
In both applications, the more accurate, the better 5
8/19/2019StaticTimingAnalysis
Types of Timing Analysis
• Dynamic Timing Analysis
• Verifies the functionality of design by
applying input vectors and checking the
correctness and timing of output vectors
• Static Timing Analysis
• Checks static delay requirements without
applying any vectors
• It does not check functionality
6
8/19/2019StaticTimingAnalysis
Dynamic Timing Analysis
• Requires too many patterns, exponential in
the number of design inputs
• Even worse, if we consider the sequence need
to initialize the latches
• It does not find all the errors, because it is
pattern dependent. It can only check the
timing paths sensitized by the input pattern.
If the patterns do not cause an error to occur,
the error is not detected.
• Can be very accurate (spice-level)
• Analysis quality depends on stimulus vectors
• Non-exhaustive, slow
7
8/19/2019StaticTimingAnalysis
Then What to do?
• Separate function from timing
• Determine when transition occurred
without worrying about how?
• Instead of considering infinite long
simulation sequence, fold all possible
transitions back into a single clock cycles
• Assume that signal gets stable at latest
possible time and unstable at earliest
possible time.
• If the design works at these extremes, it can
be guaranteed that it will always work safely
• Do it static means do not simulate.
8
8/19/2019StaticTimingAnalysis
Static Timing Analysis
• It is a method of validating the timing
performance of a design by checking all
possible paths from timing violations under
worst case conditions
• It considers worst logical delay through each
logic element but not the logical operation of
the circuit.
• Input independent method So no vector
generation is required.
• It does not check the functionality
9
8/19/2019StaticTimingAnalysis
Static Time Analysis
What it typically does:
• Calculate latest and earliest possible switching
times for each node in the design
• Determine the arrival time of signals for the
worst case (latest or earliest) of all possible
paths leading to a given node in the design
• Compare calculated signal arrival times with
expected (required) arrival times at storage
elements, other clock meets data points (such
as dynamic circuits) and primary outputs in
the design.
10
8/19/2019StaticTimingAnalysis
STA….
• Much faster than timing driven gate level simulation
(dynamic).
• There are huge number of logic paths inside a chip of
complex design and STA calculates delay for all possible
paths whether they are real or potential false path. So it
is exhaustive in nature.
• False paths need to be handled separately.
• It is not suitable for all design styles. Proven efficient for
synchronous design only but most of the designs are
synchronous so it is there in mainstream. Asynchronous
designs need separate attention.
• It is pessimistic and hence less accurate
• Conservative analysis. Calculates upper bound on
frequency but guarantees that the design will function
at least as fast as predicted.
11
8/19/2019StaticTimingAnalysis
Static Timing Analysis
• Consider all paths
• Does not checks
circuit functionality
• Reports False Paths
• Pessimism by
considering false paths
which are never
exercised
• Not so accurate
• Fast
Dynamic Timing
Analysis
• Depends on input
stimulus vectors
• Checks circuit
functionality
• Does not report
timing on false paths
• By large number of
testing vectors
• Accurate
• Slow
12
8/19/2019StaticTimingAnalysis
• Multiple clocks
• False paths: Proper circuit functionality is not checked
• Latches
• Multicycle paths
 Works best with synchronous (not asynchronous) logic
 Complex to learn
 Must define timing requirements / exceptions
 Difficulty in handling:
Limitations of STA
13
8/19/2019StaticTimingAnalysis
Delay/Time Calculation for a design
• The total delay of a path is the sum of all
• Gate/Cell Delays in the path
• Net /Path Delays in the path
14
8/19/2019StaticTimingAnalysis
Gate/Cell Delays
• Timing Delay between input pin and output pin of a
logic gate/cell in a path
• The cell delay information is contained in the library of
the cell e.g. .lef file
• In ASICs, the delay of a cell is affected by:
• The input transition time (or slew rate)
• The total load “seen” by the output transistors
• Net capacitance and “downstream” pin
capacitances
• These will affect how quickly the input and output
transistors can “switch”
• Inherent transistor delays and “internal” net delays
15
8/19/2019StaticTimingAnalysis
Definition of Delays for Cell
16
8/19/2019StaticTimingAnalysis
Gate Delay Models
Unit Delay Model
• Simplest
• Each gate with unit delay
• Longest path delay = 2
Arbitrary but Fixed Delay
Model
• Simple
• Each gate with some
constant delay which does
not depend on circuit or
netlist
17
8/19/2019StaticTimingAnalysis
Limitations of Fixed Delay Model
• Fanouts
• Loading effect on transistors inside gates
• Gates with more fanouts are slower than gates with
less fanouts
18
8/19/2019StaticTimingAnalysis
Limitation of Fixed Delay Model
Input Waveform
• Slop of the input waveform also affects delay (RC
affects)
• Rising signal vs Falling signal also affects
19
8/19/2019StaticTimingAnalysis
Limitations of Fixed Delay Model
• Location of pins
• Delay is not actually
through a gate
• but it is actually from
individual input pin to
output
•
20
8/19/2019StaticTimingAnalysis
Limitation of Fixed Delay Model
• Rising and Falling
Waveforms
• pMOS has larger delay
compared to nMOS.
• Rising and falling delay for
output may be different
• More complicated for Non-
Monotonic functions
21
8/19/2019StaticTimingAnalysis
Limitation of Fixed Delay Model
• Process Variation
• Delay in its real sense, is a probability distribution function.
• Simplest way to express is in [min, max]
22
8/19/2019StaticTimingAnalysis
Net/ Wire Delays
• Net delay is the difference between the time
a signal is first applied to the net and the
time it reaches other devices connected to
that net.
Wire delay = function of (Rnet, Cnet+Cpin)
• Total net delays are affected by:
• Characteristics of driver cell and receiver cell
• net material, length and cross sectional are
• net fanout
• Number of vias traversed by the net
• Proximity to other nets (crosstalk)
• The effects of Interconnect Parasitic
• Interconnect parasites cause an increase in propagation
delay (i.e. it slows down working speed)
23
8/19/2019StaticTimingAnalysis
Lumped Capacitor Model
• As long as the resistive component of the
wire is small, and switching frequencies are
in the low to medium range, it is meaningful
to consider only the capacitive component of
the wire, and to lump the distributed
capacitance into a single capacitance.
24
8/19/2019StaticTimingAnalysis
Lumped RC Model
• If wire length is more than a few millimeters,
the lumped capacitance model is inadequate
and a resistive capacitive model has to be
adopted.
• In lumped RC model the total resistance of each
wire segment is lumped into one single R,
combines the global capacitive into single
capacitor C.
• Analysis of network with larger number of R
and C becomes complex as network contains
many time constants (zeroes and poles).
25
8/19/2019StaticTimingAnalysis
Distributed RC Model
• Lumped RC model is always pessimistic and
distributed RC model provides better accuracy
over lumped RC model.
But distributed RC model is complex and no
closed form solution exists. Hence distributed
RC line model is not suitable for Computer
Aided Design Tools.
The behavior of the distributed RC line can be
approximated by a lumped RC ladder network
such as Elmore Delay model hence these are
extensively used in EDA tools.
26
8/19/2019StaticTimingAnalysis
Elmore Delay Model
• Resistance Oriented Formula
27
,T R Cdelay i downstream i

Tdelay,4=R1(C1+C2+C3+C4+C5)+R2(C2+C4+C5)+R4C4
8/19/2019StaticTimingAnalysis
STA for Combinational Circuit
• Combinational circuits: Graph model:
• DAG: Directed Acyclic Graph
• Vertices:
• I/O pins of gates
• s and t ( start and stop points)
• Edges:
• Connect each input of a gate to its output
• Show maximum delay paths from the input pin
to the output pin
• Connects the output of each gate to the inputs of
its fanout gates
• Show interconnect delays
• In case of combinational loop:
• Many STA tools break the loop and analyze
28
8/19/2019StaticTimingAnalysis
Combinational Circuit Representation
: Gate delays only
29
8/19/2019StaticTimingAnalysis
30
Combinational Circuit Representation
: Gate delays and net delay
8/19/2019StaticTimingAnalysis
• Add one source to each PI and one sink
node to each PO with 0 – weight edge
• If arrival time of different inputs are different, then the weight
of source edge can represent that delay also.
• For network/algorithm has one clear entry
point and exit point.
• Search algorithms
• Depth First Search Algorithm is most suited to
list all the different possible paths
• Let’s try
31
Combinational Circuit Representation
: Gate delays, net delay and source & Sink node
8/19/2019StaticTimingAnalysis
STA for Combinational Circuits
Critical Path
 Critical path
Any logical path in the design that violates the timing constraints
The slowest path on the chip between flops or flops and pins.
The critical path limits the maximum clock speed.
The longest path on a DAG graph
32
8/19/2019StaticTimingAnalysis
Find the Critical path
33
Gate Delay
Not 2
AND 4
OR 4
8/19/2019StaticTimingAnalysis
Gate Delay
Not 2
AND 4
OR 4
34
8/19/2019StaticTimingAnalysis
Find the critical path ….
35
8/19/2019StaticTimingAnalysis
Find the critical Path…..
36
8
1
MUX
12
8
1
MUX
12
8/19/2019StaticTimingAnalysis
False Path
37
• Paths that physically exist in a design but are not
logic/functional paths
• These paths never get sensitized under any input
conditions
8/19/2019StaticTimingAnalysis
Logically Impossible Example
38
Mux 1
C C1 C2A
B
Mux 2
S
B1 B2
OUT
•A path may exist in the circuit but no combination of input vectors may
ever exercise it
d = 10
d = 20
d = 10
d = 20
8/19/2019StaticTimingAnalysis
Sequential False Path example:
39
• The change in D1-Q never reaches to D4-D.
The value of D4 is always governed by D2.
So clk-D1-AND-OR-D4 is false path.
8/19/2019StaticTimingAnalysis
False Path Solutions
• Solutions:
• Automatic solutions: too complex to be practical
• E.g. if inverter delay > 0
• In practice:
• Designers knows functionalities best 
Designer specifies
40
8/19/2019StaticTimingAnalysis
Home work
• Algorithm to find the longest path in DAG
using tcl/tk
41
8/19/2019StaticTimingAnalysis
STA for Clocked Design
• Consider an arbitrary signal in clocked
design
• Takes on a value every cycle either one or zero
• Specific time of change depends on pattern causing it
• May not change at all in some cycle
• May make multiple changes before settling to a value.
42
8/19/2019StaticTimingAnalysis
STA for Clocked Design
• Sequential circuit is Represented as: a set of combinational
blocks that lie between latches/flipflops.
43
• Transparent Latch, Level Sensitive
• data passes through when clock high, latched when clock low
• D-Type Register or Flip-Flop, Edge-Triggered
• data captured on rising edge of clock, held for rest of cycle
8/19/2019StaticTimingAnalysis
• For Flipflop,
• there is only one propagation delay,
clock to Q delay
• tclk->Q
• But do remember, for the
latch,
• there are two propagation delays
• tclk->Q and tD->Q
44
STA for Clocked Design
8/19/2019StaticTimingAnalysis
Three steps in STA
1. Circuit is broken down into sets of timing
paths
2. Delay of each path is calculated
3. Path delays are checked to see if timing
constraints have been met
45
8/19/2019StaticTimingAnalysis
What is Timing Paths?
A Timing paths is a point-to-point path in a design which can propagate data
from one flip to another
• STA tool checks all paths from each and every start point to each and every
end point and compares it against the constrains that should exist for the
path.
• Most of the paths are constrained by the definition of the period of the clock
and the timing characteristics of the input and outputs of the circuit.
 Each path has a Startpoint , Combinational logic network and Endpoint
Startpoint : Start of a Timing path where data is launch by clock edge. It
must be input port or register clock pin.
Combinational logic network : Element that have no memory or internal
state.
Endpoint : End of a Timing path where data is capture by clock edge. It
must be a register input data pin or an output port. 46
8/19/2019StaticTimingAnalysis
Types of Path
• Data Path
• Clock Path
• Clock Gating Path
• Asynchronous Path
• Exceptions in STA:
• False Path
• Multicycle Path
47
8/19/2019StaticTimingAnalysis
Data path
• Start Point :
• input port of the design
• clock pin of the flipflop
• End Point:
• outport of the design
• data input pin of the flipflop
48
8/19/2019StaticTimingAnalysis
Clock Path
• Start Point
• Clock input port
• End Point
• Clock pin of the flipflop/latch/memory
49
8/19/2019StaticTimingAnalysis
Asynchronous Path
• Start Point
• Input port of the design
• End Point
• Set/reset/clear pin of the flipflop/latch/memory
50
8/19/2019StaticTimingAnalysis
Clock Gating Path
• Start Point
• Input port of the design
• End Point
• Input port of the clock gating element
51
8/19/2019StaticTimingAnalysis
Single Cycle and Multicycle Paths
• Single Cycle Path : It is a timing path that is
designed to take only one clock cycle for the
data to propagate from the start point to
end point.
• Multi Cycle Path
52
8/19/2019StaticTimingAnalysis
Launch Path and Capture Path
• Launch flipflop and Capture flipflop
• Launch Path : It is part of clock path which is responsible foe launching the data
at launch flipflop
• Capture Path : It is part of clock path which is responsible foe launching the data
at capture flipflop
• Launch path and data path together constitute arrival time of data at the input of
capture flipflop
• Capture clock period and its path delay together constitute required time of data
at the input of the capture register.
53
8/19/2019StaticTimingAnalysis
Specifying Clocks
•Standard clock
•Inverted clock
•Derived clock
• A design might include clock dividers or other
structures that produce a new clock from a master
source clock.
•Gated clock
• Clock gating reduces power consumption by switching
off the clock to flip-flops when the value of those flip-
flops does not change.
54
8/19/2019StaticTimingAnalysis
Maximum Clock Frequency
• A clock is defined by its period, waveform and slew time.
• The clock frequency for a synchronous sequential circuit is
limited by the timing parameters of its flip-flops and gates.
• The critical path/worst path having the maximum delay
defines the clock frequency of the circuit.
• The minimum clock time period ( reciprocal of maximum clock
frequency) should be equal to or more than maximum time
delay of the longest path of the circuit.
55
8/19/2019StaticTimingAnalysis
Your chip
clock input
Flip
Flop
Time from clock input (at pin) to
clock input at a given flip flop
Absolute Clock Skew / Latency
56
8/19/2019StaticTimingAnalysis
Relative Clock Skew
57
Your chip
clock input
Flip
Flop
Time between 2 flip flops receiving
the clock signal
Flip
Flop
delay
8/19/2019StaticTimingAnalysis
Clock Skew
 Ideally clock skew should be zero. i.e. clock should reach to
each flipflop at the same instant.
 Clock Skew is a measure of the difference in latency between
any two leaf pins in a clock tree.
58
Clock arrival
time at 1.1ns
Clock arrival
time at 1.3ns
Skew = 1.3ns - 1.1ns = .2ns
8/19/2019StaticTimingAnalysis
Clock Skew and Clock Latency
• The arrival time of a flip-flop's clock pin is its clock latency. The clock
skew between two flip-flops is the difference of their clock latency.
59
Chip
D Q D Q D Q D Q
network latency
(on-chip)
source latency
(off-chip)
Clock
IO
latency
IO
latency
8/19/2019StaticTimingAnalysis
Clock Latency
• Difference between the reference (source )
clock skew to the clock tree endpoint signal
skew values.
• Rise latency and Fall latency are specified.
60
INV
Rise=7
Fall=4
Rise=7
Fall=4
Rise=7
Fall=4
Rise=7
Fall=4
Rise=7
Fall=4
Rise=7
Fall=4
Rise=7
Fall=4
CLK
CLKA
CLKB
CLKC
I
N
V
I
N
V
I
N
V
I
N
V
I
N
V
B
U
F
B
U
F
CLK to CLKA :
Min Latency rise
= 4+7+4+7 = 22 (Max)
Min Latency fall
=7+4+7+4 = 22
CLK to CLKB :
Min Latency rise = 4+4
= 8
Min Latency fall = 7+7 =
14
CLK to CLKC :
Min Latency rise = 7
Min Latency fall = 4 (min)
Average = (22+22+8+14+7+4) / 6 = 12.83
8/19/2019StaticTimingAnalysis
Clock Skew
• Clock skew is a measure of the difference in latency
between any two leaf pin 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 CLKC and CLKA
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
61
8/19/2019StaticTimingAnalysis
Arrival time (w.r.t input) and Required
time ( w.r.t. output)/Capturing moment
• An arrival time defines the time interval
during which a data signal can arrive at an
input pin in relation to the nearest edge of
the clock signal that triggers the data
transition.
• A required time specifies the data required
time on output ports
62
8/19/2019StaticTimingAnalysis
Slack
• It is difference between required time and arrival time.
• If required time > arrival time
• Positive slack
• indicates that constraints have been met.
• If required time < arrival time
• Negative slack
• indicates that constraints have not been met
• Set up/Hold violation
• Slack analysis is used to identify timing critical paths in a design
by static timing analysis tool.
63
8/19/2019StaticTimingAnalysis
Considering the delays….
1. Ideal Condition no delay in any path.
2. Data and Clock path have fixed delays but
no set-up/Hold time for FFs
3. Data and Clock path have fixed delays and
FFs are with set-up/Hold time
4. Data and Clock path have delays, FFs are
with set-up/Hold time ( all delays with min-
max range, not fixed)
64
8/19/2019StaticTimingAnalysis
Ideal Condition: No delays
65
8/19/2019StaticTimingAnalysis
Launching, arrival and capture
moments
66
8/19/2019StaticTimingAnalysis
Delays in Data and Clock Path
67
8/19/2019StaticTimingAnalysis
Delays in Data Path and Clock Path
contd…
68
8/19/2019StaticTimingAnalysis
Conditions for
Timings
69
8/19/2019StaticTimingAnalysis
Set up Time and Hold Time
• Set up Time
• For an edge triggered sequential element, the setup time is
the time interval before the active clock edge during which
the data should remain unchanged.
• This is so that the data can be stored successfully in storage
device
• Because of Long path
• Hold Time
• Time interval after the active clock edge during which the
data should remain unchanged. This is so that the data can
be stored successfully in storage device
• Because of Short Path
70
8/19/2019StaticTimingAnalysis
Setup Time and Hold Time Consideration
71
8/19/2019StaticTimingAnalysis
Setup and Hold
Time consideration
contd….
72
8/19/2019StaticTimingAnalysis
When delays are given in min-max
limits
73
8/19/2019StaticTimingAnalysis
Set-up Time Violation
74
8/19/2019StaticTimingAnalysis
Hold Time Violation
75
8/19/2019StaticTimingAnalysis
Relation between data path delay, clock
path delay, Set-up/Hold and Clock Time
Period…
1. The circuit is given with all delays ( net,
cell, Set-up, hold etc..)
• you are required to calculate the
minimum time period (maximum
frequency) of clock.
2. The circuit is given with all delays ( net,
cell, Set-up, hold etc..) and minimum time
period (maximum frequency) of clock at
which circuit will operate.
• You are required to verify whether any timing
violation exists or not.
76
8/19/2019StaticTimingAnalysis
Calculate the max. clock frequency
for given circuit…
• Minimum Time Period = tclk-q + tpd + ts = 10 + 5 +2 =
17ns
77
8/19/2019StaticTimingAnalysis
78
TAB = 11ns, TAC = 15ns , TBC = 16ns.
Minimum clock period =16ns
Calculate the max. clock frequency
for given circuit…
8/19/2019StaticTimingAnalysis
79
Tclk-Q = 10 ns, NOR/OR = 4 ns, NAND/AND =3 ns,
INV/BUF = 2ns, Ts = 2 ns, Th = 3ns
Calculate the max. clock frequency
for given circuit…
8/19/2019StaticTimingAnalysis
80
For a minimum clock period, we just want that the data reach ts time
before the clock reach there.
Data path
• Max delay = 26ns
• Min delay = 18ns
Clock Path
• Max delay = 15ns
• Min delay=9ns
Minimum Clock Period = 26 -9 +4 = 21 ns
Calculate the max. clock frequency
for given circuit…
8/19/2019StaticTimingAnalysis
Set-up time violation
• A setup time violation, when a signal arrives too late, and misses the
time when it should advance.
• Setup time violation can be fixed by either slowing down the clock or
reducing the delay of data path/logic block.
81
8/19/2019StaticTimingAnalysis
Hold time violation
• A hold time violation, when a signal arrives too early, and misses the time when it
should advance.
82
8/19/2019StaticTimingAnalysis
Set-up time violation
• Data launched at FF1/D to FF1/Q at positive edge of FF1/C (launching
FF is FF1)
• At FF2/D, the input data is coming through combinational logic
• Data is captured at positive edge clock of DFF2/C (Capturing FF is FF2)
• Data path FF1/C -> FF1/Q->FF2/D
• For a single cycle circuit, signal has to propagate through data path in
one clock cycle. If data launched at t= 0ns at DFF1 then it should be
reached at DFF2/D before 10ns (if Ts is 0 ns for DFF2)
• If Ts of DFF2 is 1 ns, it should reach before 9ns at DFF2/D
• If data takes too longer travelling through FF1/C -> FF1/Q->FF2/D
Then set up time is violated
• Set up is checked at next clock edge.
83
8/19/2019StaticTimingAnalysis
Hold Time Violation
• Data should be stable for Th time after the positive clock of DFF2/C
• There should not be any change in input data at FF2/D before
positive edge of clock at DFF2/C ( 10 ns ) plus hold time Th (for
example 0.5 ns) = 10.5ns
• To satisfy the hold condition at DFF2 for data launched at DFF1 at 0
ns,
• the second data launched at DFF1/D at 10 ns, SHOULD not reach at
DFF2/D before 10.5 ns
• If it reaches before 10.5 ns, hold time is violated for first data of DFF1 at
DFF2
• Hold is checked at same clock edge
84
8/19/2019StaticTimingAnalysis
Find out any set-up violation ?
• For set-up path
• Set-up is checked at next clock cycle
• Maximum delay along the data path
• Minimum delay along the clock path
• Data path is
• CLK->FF1/CLK->FF1/Q->INV->FF2/D
• TD =2ns +11ns+2ns+9ns+2ns = 26ns ( max. delay in data path)
• Clock Path is
• CLK-> BUFF->FF2/CLK
• TCLK= 15 ns + 2ns+5ns+2ns-4ns = 20ns (max. delay in clock
path)
• SET-UP SLACK = TCLK-TD
• 20-26= -6ns < 0 so Set-Up Violation
85
CLK Period = 15ns
8/19/2019StaticTimingAnalysis
Find out any hold violation?
• For hold path
• Hold is checked at Same clock cycle
• Minimum delay along the data path
• Maximum delay along the clock path
• Data path is
• CLK->FF1/CLK->FF1/Q->INV->FF2/D
• TD =1ns +9ns+1ns+6ns+1ns = 18ns ( min. delay in data path)
• Clock Path is
• CLK-> BUFF->FF2/CLK
• TCLK= 3ns+9ns+3ns+2ns = 17ns (max. delay in clock path)
• SLACK = TD-TCLK
• 18-17=1ns > 0 so No Hold Violation 86
8/19/2019StaticTimingAnalysis
Fixing Set-up /Hold Violation
:Combinational Delay
• Check for violations
• Data1 reaches to FF2 at 0.5 ns. It should reach before 10 ns – 2ns i.e
8ns Hence, NO set-up violation
• Data2 launched at 10 ns, reaches to FF2 at 10.5 ns. It disturbs the
data1 which should be there upto 11ns. So hold violation.
• To remove hold violation, let’s increase the combinational delay.
Let’s say by 3ns. Then data1 reaches at 3ns which is before 8ns so
still no problem with set-up time and data2 reaches at 13ns so hold
time violation is also solved.
• But what if we increase combination delay to 9ns? Here, while
solving for hold-time, we have violated setup time.
87
8/19/2019StaticTimingAnalysis
88
Fixing Set-up /Hold Violation
• Check for violations
8/19/2019StaticTimingAnalysis
Summary of Set-up/Hold Time
89
8/19/2019StaticTimingAnalysis
Timing Closure
• It is the process of satisfying timing constraints
through layout optimizations and netlist
modifications
• Timing-driven placement: minimizes signal
delays when assigning locations to circuit
elements
• Timing-driven routing : minimizes signal delays
when selecting routing topologies and specific
routes
• Physical synthesis: improves timing by
changing the netlist
• Sizing transistors or gates: increasing the width:length ratio of
transistors to decrease the delay or increase the drive strength
of a gate
• Inserting buffers into nets to decrease propagation delays
• Restructuring the circuit along its critical paths
90
8/19/2019StaticTimingAnalysis
Ways to fix set-up Violation
(Tdata <= Tclk-Tsetup)
1. Reduce the amount of buffering in the path.
 It will reduce the cell delay but increase the wire delay. So if effective
delay is reduced than, set-up time violation can be fixed.
2. Replace buffer with two inverters place farther apart
 Delay of one buffer is equal to delay of two inverter but because of two
inverters, the transition delays are reduced.
3. Change HVT cells to SVT/LVT to reduce delay
 HVT/SVT/LVT has the same size and pin position so this change will
reduce delay without affecting layout.
4. Increase driver size i.e. driver strength
 It reduces delay
5. Insert Buffer/repeaters
 In case of long wire, the buffer decreases the transition time which
decreases wire delay. If decrease in wire delay is more compared to buffer
delay, overall delay reduces.
91
8/19/2019StaticTimingAnalysis
Ways to fix set-up Violation
(Tdata <= Tclk-Tsetup) cont…..
6. Adjust Cell position in layout
7. Clock Skew
 By delaying clock to the end point.
92
8/19/2019StaticTimingAnalysis
Ways to fix hold time violation…
Tdata >= Thold
1. By adding delay
 The hold violation path may have its start or stop point in
other setup violation path
2. Decreasing the size of cells in data path
93
8/19/2019StaticTimingAnalysis
Negative Set-up and Hold Time
• For a Pure flop(containing no extra gates) setup
and hold time always will be a positive number.
• Now, A flop can be a part of a bigger
component. There are many components
available in stranded cell library that embed a
flop inside. These components will be a part of
our design.
• Setup and hold time can be negative depending
on where you measure the setup and hold time,
if you measure setup and hold time at
component level. These can be negative also.
94
8/19/2019StaticTimingAnalysis
Negative Set-up and Hold Time
• For pure flipflop
• Tdata < Tclk-Tsetup
• Tdata > Thold
95
Flipflop
(Pure)
Tdata
Tclk
Tsetup Thold
8/19/2019StaticTimingAnalysis
Negative Set-up and Hold Time
96
Flipflop
(Embedded)
Tdata
Tclk_comp
Tsetup
Thold
Tdata_delay
Tclk_delay
Tcomp_setup Tcomp_hold
8/19/2019StaticTimingAnalysis
Negative Set-Up Time
• The time when data reaches to flipflop = Tdataflipflop = Tdata+Tdata_delay
• The time when clock reaches to flipflop = Tclkflipflop = Tclk_comp+Tclk_delay
• Considering flipflop, Tdata+Tdata_delay < Tclk_comp+Tclock_delay-Tsetup
• If Tdata_delay= 700, Tclk_delay = 800 and Tsetup=200
• Tdata+700 <= Tclk_comp + 800-200
• Tdata <= Tclk_comp-100
• Tcomp_setup is 100
• But If Tdata_delay= 500, Tclk_delay = 800 and Tffsetup=200
• Tdata+500 <= Tclk_comp+800-200
• Tdata <= Tclk_comp + 100
• Tcomp_setup is negative i.e. -100
97
For Component, Tdata < Tclk_comp-Tcomp_setup
8/19/2019StaticTimingAnalysis
Negative Hold Time
• The time when data reaches to flipflop = Tdataflipflop = Tdata+Tdata_delay
• The time when clock reaches to flipflop = Tclkflipflop = Tclk_comp+Tclk_delay
• Tdata+Tdata_delay >= Thold
• If Tdata_delay= 100, and Thold=200
• Tdata+100 >= 200
• Tdata >= 100
• Tcomp_hold is 100
• If Tdata_delay= 300 and Thold=200
• Tdata+300 >= 200
• Tdata >= -100
• Tcomp_hold is negative i.e. -100
98
For Component Tdata > Tcomp_hold
8/19/2019StaticTimingAnalysis
Time Borrowing/ Cycle Stealing
• Technique of borrowing the time from shorter
path of the logic stage to the longer path
• Do remember:
• Edge triggered flipflop changes the stage at the clock edges So
the delay of a combination logic path in a design using such FFs
can not be longer than the clock period of the design ( except for
false or multicycle path)
• While the latch can change the stage as long as clock pin is
enabled. Here, the delay of the longest path can be compensated
by the delay of the shortest path in subsequent logic design
• Hence latch based design can be faster.
99
8/19/2019StaticTimingAnalysis
Example of Time Borrowing
100
8/19/2019StaticTimingAnalysis
STA in ASIC Design Flow – Pre layout
101
Logic Synthesis
Design For test
Floor planning
Constraints
(clocks, input drive,
output load)
Static Timing Analysis
Static Timing Analysis
(estimated parasitics)
8/19/2019StaticTimingAnalysis
STA in ASIC Design Flow – Post Layout
102
Floor planning
Clock Tree Synthesis
Place and Route
Parasitic Extraction
SDF
(extracted parasitics)
Constraints
(clocks, input drive,
output load)
Static Timing Analysis
(estimated parasitics)
Static Timing Analysis
(extracted parasitics)
8/19/2019StaticTimingAnalysis
Required Inputs
103
8/19/2019StaticTimingAnalysis
Back Annotation – A process
1. Designer writes the RTL and performs functional simulation
considering delay as zero or some unit value as in simulator’s
library file.
2. The RTL description is converted to gate level netlist by a logic
synthesis tool.
3. The designer estimates the prelayout estimates of delays in the chip
using a delay calculator and information about the IC fabrication
process (.sdf)
4. The designer does timing simulation or static timing verification of
the gate level netlist using this preliminary values to check that the
gate level netlist meets timing constraint
5. The gate level netlist is then converted into layout by place and
route tool
6. The postlayout delays are now calculated from the R and C
information in the layout. This R and C depends on technology and
geometry of IC
7. The post layout delay values are back annotated to modify the delay
estimates of the gate level netlist
8. Again timing simulation or STA to check the timings are still
satisfied.
9. If needed, design changes 104
8/19/2019StaticTimingAnalysis
Back Annotation
105
8/19/2019StaticTimingAnalysis
Standard Delay Format
• IEEE standard for the representation and interpretation of
timing data for use at any stage of an electronic design
process.
• It has usually two sections: one for interconnect delays and
the other for cell delays.
• SDF format can be used for back-annotation as well as
forward-annotation.
106
Thanks!
107

More Related Content

What's hot

01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swethaswethamg18
 
11 static timing_analysis_2_combinational_design
11 static timing_analysis_2_combinational_design11 static timing_analysis_2_combinational_design
11 static timing_analysis_2_combinational_designUsha Mehta
 
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...VLSI SYSTEM Design
 
Power Reduction Techniques
Power Reduction TechniquesPower Reduction Techniques
Power Reduction TechniquesRajesh M
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsM Mei
 
Design for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDilip Mathuria
 
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemSynopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemMostafa Khamis
 
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedyUsha Mehta
 
2 when to_test_role_of_testing
2 when to_test_role_of_testing2 when to_test_role_of_testing
2 when to_test_role_of_testingUsha Mehta
 
ATPG Methods and Algorithms
ATPG Methods and AlgorithmsATPG Methods and Algorithms
ATPG Methods and AlgorithmsDeiptii Das
 
2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modeling2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modelingUsha Mehta
 
Timing closure document
Timing closure documentTiming closure document
Timing closure documentAlan Tran
 
Study of inter and intra chip variations
Study of inter and intra chip variationsStudy of inter and intra chip variations
Study of inter and intra chip variationsRajesh M
 
System partitioning in VLSI and its considerations
System partitioning in VLSI and its considerationsSystem partitioning in VLSI and its considerations
System partitioning in VLSI and its considerationsSubash John
 

What's hot (20)

01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha
 
Static_Time_Analysis.pptx
Static_Time_Analysis.pptxStatic_Time_Analysis.pptx
Static_Time_Analysis.pptx
 
11 static timing_analysis_2_combinational_design
11 static timing_analysis_2_combinational_design11 static timing_analysis_2_combinational_design
11 static timing_analysis_2_combinational_design
 
Scan insertion
Scan insertionScan insertion
Scan insertion
 
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
 
Power Reduction Techniques
Power Reduction TechniquesPower Reduction Techniques
Power Reduction Techniques
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew Groups
 
Design for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generation
 
ATPG flow chart
ATPG flow chart ATPG flow chart
ATPG flow chart
 
Powerplanning
PowerplanningPowerplanning
Powerplanning
 
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemSynopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
 
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
 
2 when to_test_role_of_testing
2 when to_test_role_of_testing2 when to_test_role_of_testing
2 when to_test_role_of_testing
 
ATPG Methods and Algorithms
ATPG Methods and AlgorithmsATPG Methods and Algorithms
ATPG Methods and Algorithms
 
ZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptxZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptx
 
2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modeling2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modeling
 
Eco
EcoEco
Eco
 
Timing closure document
Timing closure documentTiming closure document
Timing closure document
 
Study of inter and intra chip variations
Study of inter and intra chip variationsStudy of inter and intra chip variations
Study of inter and intra chip variations
 
System partitioning in VLSI and its considerations
System partitioning in VLSI and its considerationsSystem partitioning in VLSI and its considerations
System partitioning in VLSI and its considerations
 

Similar to 2019 3 testing and verification of vlsi design_sta

10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysis10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysisUsha Mehta
 
Digital VLSI Design : Introduction
Digital VLSI Design : IntroductionDigital VLSI Design : Introduction
Digital VLSI Design : IntroductionUsha Mehta
 
Fault Simulation (Testing of VLSI Design)
Fault Simulation (Testing of VLSI Design)Fault Simulation (Testing of VLSI Design)
Fault Simulation (Testing of VLSI Design)Usha Mehta
 
Fpga asic technologies_flow
Fpga asic technologies_flowFpga asic technologies_flow
Fpga asic technologies_flowravi4all
 
sta slide ref.pdf
sta slide ref.pdfsta slide ref.pdf
sta slide ref.pdfquandao25
 
ASIC Design Fundamentals.pptx
ASIC Design Fundamentals.pptxASIC Design Fundamentals.pptx
ASIC Design Fundamentals.pptxRameshK531901
 
Crash course on data streaming (with examples using Apache Flink)
Crash course on data streaming (with examples using Apache Flink)Crash course on data streaming (with examples using Apache Flink)
Crash course on data streaming (with examples using Apache Flink)Vincenzo Gulisano
 
System on Chip
System on ChipSystem on Chip
System on ChipSwamy T N
 
Discrete-event simulation: best practices and implementation details in Pytho...
Discrete-event simulation: best practices and implementation details in Pytho...Discrete-event simulation: best practices and implementation details in Pytho...
Discrete-event simulation: best practices and implementation details in Pytho...Carlos Natalino da Silva
 
Data Stream Management
Data Stream ManagementData Stream Management
Data Stream Managementk_tauhid
 
2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdf2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdfUsha Mehta
 

Similar to 2019 3 testing and verification of vlsi design_sta (20)

10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysis10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysis
 
Major project iii 3
Major project  iii  3Major project  iii  3
Major project iii 3
 
STA vs DTA.pptx
STA vs DTA.pptxSTA vs DTA.pptx
STA vs DTA.pptx
 
Digital VLSI Design : Introduction
Digital VLSI Design : IntroductionDigital VLSI Design : Introduction
Digital VLSI Design : Introduction
 
Applications of ATPG
Applications of ATPGApplications of ATPG
Applications of ATPG
 
Fault Simulation (Testing of VLSI Design)
Fault Simulation (Testing of VLSI Design)Fault Simulation (Testing of VLSI Design)
Fault Simulation (Testing of VLSI Design)
 
Fpga asic technologies_flow
Fpga asic technologies_flowFpga asic technologies_flow
Fpga asic technologies_flow
 
sta slide ref.pdf
sta slide ref.pdfsta slide ref.pdf
sta slide ref.pdf
 
Lecture-5-STA.pdf
Lecture-5-STA.pdfLecture-5-STA.pdf
Lecture-5-STA.pdf
 
Soc.pptx
Soc.pptxSoc.pptx
Soc.pptx
 
ASIC Design Fundamentals.pptx
ASIC Design Fundamentals.pptxASIC Design Fundamentals.pptx
ASIC Design Fundamentals.pptx
 
Vlsi design
Vlsi designVlsi design
Vlsi design
 
Crash course on data streaming (with examples using Apache Flink)
Crash course on data streaming (with examples using Apache Flink)Crash course on data streaming (with examples using Apache Flink)
Crash course on data streaming (with examples using Apache Flink)
 
Intro
IntroIntro
Intro
 
System on Chip
System on ChipSystem on Chip
System on Chip
 
Discrete-event simulation: best practices and implementation details in Pytho...
Discrete-event simulation: best practices and implementation details in Pytho...Discrete-event simulation: best practices and implementation details in Pytho...
Discrete-event simulation: best practices and implementation details in Pytho...
 
Data Stream Management
Data Stream ManagementData Stream Management
Data Stream Management
 
ASCIC.ppt
ASCIC.pptASCIC.ppt
ASCIC.ppt
 
2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdf2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdf
 
Chapter1.slides
Chapter1.slidesChapter1.slides
Chapter1.slides
 

More from Usha Mehta

Basic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate ArraysBasic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate ArraysUsha Mehta
 
Field Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : ArchitectureField Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : ArchitectureUsha Mehta
 
Programmable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDUsha Mehta
 
Programmable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic DevicesProgrammable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic DevicesUsha Mehta
 
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdfUsha Mehta
 
7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdf7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdfUsha Mehta
 
5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdf5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdfUsha Mehta
 
8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdf8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdfUsha Mehta
 
9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdf9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdfUsha Mehta
 
13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdf13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdfUsha Mehta
 
9 semiconductor memory
9 semiconductor memory9 semiconductor memory
9 semiconductor memoryUsha Mehta
 
6 verification tools
6 verification tools6 verification tools
6 verification toolsUsha Mehta
 
5 verification methods
5 verification methods5 verification methods
5 verification methodsUsha Mehta
 
4 verification flow_planning
4 verification flow_planning4 verification flow_planning
4 verification flow_planningUsha Mehta
 
3 test economic_test_equipments_yield
3 test economic_test_equipments_yield3 test economic_test_equipments_yield
3 test economic_test_equipments_yieldUsha Mehta
 
Verification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designVerification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designUsha Mehta
 
BUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI DesignBUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI DesignUsha Mehta
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Usha Mehta
 

More from Usha Mehta (20)

Basic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate ArraysBasic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate Arrays
 
Field Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : ArchitectureField Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : Architecture
 
Programmable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLD
 
Programmable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic DevicesProgrammable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic Devices
 
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
 
7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdf7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdf
 
5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdf5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdf
 
8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdf8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdf
 
9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdf9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdf
 
13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdf13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdf
 
9 semiconductor memory
9 semiconductor memory9 semiconductor memory
9 semiconductor memory
 
6 verification tools
6 verification tools6 verification tools
6 verification tools
 
5 verification methods
5 verification methods5 verification methods
5 verification methods
 
4 verification flow_planning
4 verification flow_planning4 verification flow_planning
4 verification flow_planning
 
3 test economic_test_equipments_yield
3 test economic_test_equipments_yield3 test economic_test_equipments_yield
3 test economic_test_equipments_yield
 
1 why to_test
1 why to_test1 why to_test
1 why to_test
 
1 why to_test
1 why to_test1 why to_test
1 why to_test
 
Verification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designVerification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_design
 
BUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI DesignBUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI Design
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)
 

Recently uploaded

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

2019 3 testing and verification of vlsi design_sta

  • 1. Timing Analysis Prof. Usha Mehta Professor, PG-VLSI Design, EC, Institute of Technology, Nirma University, Ahmedabad usha.mehta@nirmauni.ac.in usha.mehta@ieee.org  Does the design meet a given timing requirement?!!  How fast can I run the design?!!!
  • 2. 8/19/2019StaticTimingAnalysis Acknowledgement 2 This presentation has been summarized from various books, papers, websites and presentations and so on …. all over the world. I couldn’t remember where these large pull of hints and work come from. However, I’d like to thank all professors and scientists who create such a good work on this emerging field. Without those efforts in this very emerging technology, these notes and slides can’t be finished. I am thankful to them to make my teaching process more effective.
  • 3. 8/19/2019StaticTimingAnalysis Agenda • ASIC Design Flow : with timing considerations • Objective of Timing Analysis • Types of Timing Analysis • Static Timing Analysis : Introduction • STA in ASIC Flow • Gate Delay Models • Net Delay Models 3
  • 4. 8/19/2019StaticTimingAnalysis • What you know • Logic synthesis • How to simulate the design to verify what it does • What you don’t know • Verify the timing behaviour of given synthesized design • Timing Analysis • We have gate level netlist • Some timing information of gates and wires are given • We need to tell • When signal arrives in various points in the network • Shortest and longest delays through network • Does netlist meets timing requirements? 4
  • 5. 8/19/2019StaticTimingAnalysis Objective of Timing Analysis Timing verification • Verifies whether a design meets a given timing constraint • Verifies that the design work properly for all possible combination “EVERY TIME” Timing optimization • Needs to identify critical portion of a design for further optimization • Critical path identification • Like component selection • A slow memory can degrade processor performance In both applications, the more accurate, the better 5
  • 6. 8/19/2019StaticTimingAnalysis Types of Timing Analysis • Dynamic Timing Analysis • Verifies the functionality of design by applying input vectors and checking the correctness and timing of output vectors • Static Timing Analysis • Checks static delay requirements without applying any vectors • It does not check functionality 6
  • 7. 8/19/2019StaticTimingAnalysis Dynamic Timing Analysis • Requires too many patterns, exponential in the number of design inputs • Even worse, if we consider the sequence need to initialize the latches • It does not find all the errors, because it is pattern dependent. It can only check the timing paths sensitized by the input pattern. If the patterns do not cause an error to occur, the error is not detected. • Can be very accurate (spice-level) • Analysis quality depends on stimulus vectors • Non-exhaustive, slow 7
  • 8. 8/19/2019StaticTimingAnalysis Then What to do? • Separate function from timing • Determine when transition occurred without worrying about how? • Instead of considering infinite long simulation sequence, fold all possible transitions back into a single clock cycles • Assume that signal gets stable at latest possible time and unstable at earliest possible time. • If the design works at these extremes, it can be guaranteed that it will always work safely • Do it static means do not simulate. 8
  • 9. 8/19/2019StaticTimingAnalysis Static Timing Analysis • It is a method of validating the timing performance of a design by checking all possible paths from timing violations under worst case conditions • It considers worst logical delay through each logic element but not the logical operation of the circuit. • Input independent method So no vector generation is required. • It does not check the functionality 9
  • 10. 8/19/2019StaticTimingAnalysis Static Time Analysis What it typically does: • Calculate latest and earliest possible switching times for each node in the design • Determine the arrival time of signals for the worst case (latest or earliest) of all possible paths leading to a given node in the design • Compare calculated signal arrival times with expected (required) arrival times at storage elements, other clock meets data points (such as dynamic circuits) and primary outputs in the design. 10
  • 11. 8/19/2019StaticTimingAnalysis STA…. • Much faster than timing driven gate level simulation (dynamic). • There are huge number of logic paths inside a chip of complex design and STA calculates delay for all possible paths whether they are real or potential false path. So it is exhaustive in nature. • False paths need to be handled separately. • It is not suitable for all design styles. Proven efficient for synchronous design only but most of the designs are synchronous so it is there in mainstream. Asynchronous designs need separate attention. • It is pessimistic and hence less accurate • Conservative analysis. Calculates upper bound on frequency but guarantees that the design will function at least as fast as predicted. 11
  • 12. 8/19/2019StaticTimingAnalysis Static Timing Analysis • Consider all paths • Does not checks circuit functionality • Reports False Paths • Pessimism by considering false paths which are never exercised • Not so accurate • Fast Dynamic Timing Analysis • Depends on input stimulus vectors • Checks circuit functionality • Does not report timing on false paths • By large number of testing vectors • Accurate • Slow 12
  • 13. 8/19/2019StaticTimingAnalysis • Multiple clocks • False paths: Proper circuit functionality is not checked • Latches • Multicycle paths  Works best with synchronous (not asynchronous) logic  Complex to learn  Must define timing requirements / exceptions  Difficulty in handling: Limitations of STA 13
  • 14. 8/19/2019StaticTimingAnalysis Delay/Time Calculation for a design • The total delay of a path is the sum of all • Gate/Cell Delays in the path • Net /Path Delays in the path 14
  • 15. 8/19/2019StaticTimingAnalysis Gate/Cell Delays • Timing Delay between input pin and output pin of a logic gate/cell in a path • The cell delay information is contained in the library of the cell e.g. .lef file • In ASICs, the delay of a cell is affected by: • The input transition time (or slew rate) • The total load “seen” by the output transistors • Net capacitance and “downstream” pin capacitances • These will affect how quickly the input and output transistors can “switch” • Inherent transistor delays and “internal” net delays 15
  • 17. 8/19/2019StaticTimingAnalysis Gate Delay Models Unit Delay Model • Simplest • Each gate with unit delay • Longest path delay = 2 Arbitrary but Fixed Delay Model • Simple • Each gate with some constant delay which does not depend on circuit or netlist 17
  • 18. 8/19/2019StaticTimingAnalysis Limitations of Fixed Delay Model • Fanouts • Loading effect on transistors inside gates • Gates with more fanouts are slower than gates with less fanouts 18
  • 19. 8/19/2019StaticTimingAnalysis Limitation of Fixed Delay Model Input Waveform • Slop of the input waveform also affects delay (RC affects) • Rising signal vs Falling signal also affects 19
  • 20. 8/19/2019StaticTimingAnalysis Limitations of Fixed Delay Model • Location of pins • Delay is not actually through a gate • but it is actually from individual input pin to output • 20
  • 21. 8/19/2019StaticTimingAnalysis Limitation of Fixed Delay Model • Rising and Falling Waveforms • pMOS has larger delay compared to nMOS. • Rising and falling delay for output may be different • More complicated for Non- Monotonic functions 21
  • 22. 8/19/2019StaticTimingAnalysis Limitation of Fixed Delay Model • Process Variation • Delay in its real sense, is a probability distribution function. • Simplest way to express is in [min, max] 22
  • 23. 8/19/2019StaticTimingAnalysis Net/ Wire Delays • Net delay is the difference between the time a signal is first applied to the net and the time it reaches other devices connected to that net. Wire delay = function of (Rnet, Cnet+Cpin) • Total net delays are affected by: • Characteristics of driver cell and receiver cell • net material, length and cross sectional are • net fanout • Number of vias traversed by the net • Proximity to other nets (crosstalk) • The effects of Interconnect Parasitic • Interconnect parasites cause an increase in propagation delay (i.e. it slows down working speed) 23
  • 24. 8/19/2019StaticTimingAnalysis Lumped Capacitor Model • As long as the resistive component of the wire is small, and switching frequencies are in the low to medium range, it is meaningful to consider only the capacitive component of the wire, and to lump the distributed capacitance into a single capacitance. 24
  • 25. 8/19/2019StaticTimingAnalysis Lumped RC Model • If wire length is more than a few millimeters, the lumped capacitance model is inadequate and a resistive capacitive model has to be adopted. • In lumped RC model the total resistance of each wire segment is lumped into one single R, combines the global capacitive into single capacitor C. • Analysis of network with larger number of R and C becomes complex as network contains many time constants (zeroes and poles). 25
  • 26. 8/19/2019StaticTimingAnalysis Distributed RC Model • Lumped RC model is always pessimistic and distributed RC model provides better accuracy over lumped RC model. But distributed RC model is complex and no closed form solution exists. Hence distributed RC line model is not suitable for Computer Aided Design Tools. The behavior of the distributed RC line can be approximated by a lumped RC ladder network such as Elmore Delay model hence these are extensively used in EDA tools. 26
  • 27. 8/19/2019StaticTimingAnalysis Elmore Delay Model • Resistance Oriented Formula 27 ,T R Cdelay i downstream i  Tdelay,4=R1(C1+C2+C3+C4+C5)+R2(C2+C4+C5)+R4C4
  • 28. 8/19/2019StaticTimingAnalysis STA for Combinational Circuit • Combinational circuits: Graph model: • DAG: Directed Acyclic Graph • Vertices: • I/O pins of gates • s and t ( start and stop points) • Edges: • Connect each input of a gate to its output • Show maximum delay paths from the input pin to the output pin • Connects the output of each gate to the inputs of its fanout gates • Show interconnect delays • In case of combinational loop: • Many STA tools break the loop and analyze 28
  • 31. 8/19/2019StaticTimingAnalysis • Add one source to each PI and one sink node to each PO with 0 – weight edge • If arrival time of different inputs are different, then the weight of source edge can represent that delay also. • For network/algorithm has one clear entry point and exit point. • Search algorithms • Depth First Search Algorithm is most suited to list all the different possible paths • Let’s try 31 Combinational Circuit Representation : Gate delays, net delay and source & Sink node
  • 32. 8/19/2019StaticTimingAnalysis STA for Combinational Circuits Critical Path  Critical path Any logical path in the design that violates the timing constraints The slowest path on the chip between flops or flops and pins. The critical path limits the maximum clock speed. The longest path on a DAG graph 32
  • 33. 8/19/2019StaticTimingAnalysis Find the Critical path 33 Gate Delay Not 2 AND 4 OR 4
  • 36. 8/19/2019StaticTimingAnalysis Find the critical Path….. 36 8 1 MUX 12 8 1 MUX 12
  • 37. 8/19/2019StaticTimingAnalysis False Path 37 • Paths that physically exist in a design but are not logic/functional paths • These paths never get sensitized under any input conditions
  • 38. 8/19/2019StaticTimingAnalysis Logically Impossible Example 38 Mux 1 C C1 C2A B Mux 2 S B1 B2 OUT •A path may exist in the circuit but no combination of input vectors may ever exercise it d = 10 d = 20 d = 10 d = 20
  • 39. 8/19/2019StaticTimingAnalysis Sequential False Path example: 39 • The change in D1-Q never reaches to D4-D. The value of D4 is always governed by D2. So clk-D1-AND-OR-D4 is false path.
  • 40. 8/19/2019StaticTimingAnalysis False Path Solutions • Solutions: • Automatic solutions: too complex to be practical • E.g. if inverter delay > 0 • In practice: • Designers knows functionalities best  Designer specifies 40
  • 41. 8/19/2019StaticTimingAnalysis Home work • Algorithm to find the longest path in DAG using tcl/tk 41
  • 42. 8/19/2019StaticTimingAnalysis STA for Clocked Design • Consider an arbitrary signal in clocked design • Takes on a value every cycle either one or zero • Specific time of change depends on pattern causing it • May not change at all in some cycle • May make multiple changes before settling to a value. 42
  • 43. 8/19/2019StaticTimingAnalysis STA for Clocked Design • Sequential circuit is Represented as: a set of combinational blocks that lie between latches/flipflops. 43 • Transparent Latch, Level Sensitive • data passes through when clock high, latched when clock low • D-Type Register or Flip-Flop, Edge-Triggered • data captured on rising edge of clock, held for rest of cycle
  • 44. 8/19/2019StaticTimingAnalysis • For Flipflop, • there is only one propagation delay, clock to Q delay • tclk->Q • But do remember, for the latch, • there are two propagation delays • tclk->Q and tD->Q 44 STA for Clocked Design
  • 45. 8/19/2019StaticTimingAnalysis Three steps in STA 1. Circuit is broken down into sets of timing paths 2. Delay of each path is calculated 3. Path delays are checked to see if timing constraints have been met 45
  • 46. 8/19/2019StaticTimingAnalysis What is Timing Paths? A Timing paths is a point-to-point path in a design which can propagate data from one flip to another • STA tool checks all paths from each and every start point to each and every end point and compares it against the constrains that should exist for the path. • Most of the paths are constrained by the definition of the period of the clock and the timing characteristics of the input and outputs of the circuit.  Each path has a Startpoint , Combinational logic network and Endpoint Startpoint : Start of a Timing path where data is launch by clock edge. It must be input port or register clock pin. Combinational logic network : Element that have no memory or internal state. Endpoint : End of a Timing path where data is capture by clock edge. It must be a register input data pin or an output port. 46
  • 47. 8/19/2019StaticTimingAnalysis Types of Path • Data Path • Clock Path • Clock Gating Path • Asynchronous Path • Exceptions in STA: • False Path • Multicycle Path 47
  • 48. 8/19/2019StaticTimingAnalysis Data path • Start Point : • input port of the design • clock pin of the flipflop • End Point: • outport of the design • data input pin of the flipflop 48
  • 49. 8/19/2019StaticTimingAnalysis Clock Path • Start Point • Clock input port • End Point • Clock pin of the flipflop/latch/memory 49
  • 50. 8/19/2019StaticTimingAnalysis Asynchronous Path • Start Point • Input port of the design • End Point • Set/reset/clear pin of the flipflop/latch/memory 50
  • 51. 8/19/2019StaticTimingAnalysis Clock Gating Path • Start Point • Input port of the design • End Point • Input port of the clock gating element 51
  • 52. 8/19/2019StaticTimingAnalysis Single Cycle and Multicycle Paths • Single Cycle Path : It is a timing path that is designed to take only one clock cycle for the data to propagate from the start point to end point. • Multi Cycle Path 52
  • 53. 8/19/2019StaticTimingAnalysis Launch Path and Capture Path • Launch flipflop and Capture flipflop • Launch Path : It is part of clock path which is responsible foe launching the data at launch flipflop • Capture Path : It is part of clock path which is responsible foe launching the data at capture flipflop • Launch path and data path together constitute arrival time of data at the input of capture flipflop • Capture clock period and its path delay together constitute required time of data at the input of the capture register. 53
  • 54. 8/19/2019StaticTimingAnalysis Specifying Clocks •Standard clock •Inverted clock •Derived clock • A design might include clock dividers or other structures that produce a new clock from a master source clock. •Gated clock • Clock gating reduces power consumption by switching off the clock to flip-flops when the value of those flip- flops does not change. 54
  • 55. 8/19/2019StaticTimingAnalysis Maximum Clock Frequency • A clock is defined by its period, waveform and slew time. • The clock frequency for a synchronous sequential circuit is limited by the timing parameters of its flip-flops and gates. • The critical path/worst path having the maximum delay defines the clock frequency of the circuit. • The minimum clock time period ( reciprocal of maximum clock frequency) should be equal to or more than maximum time delay of the longest path of the circuit. 55
  • 56. 8/19/2019StaticTimingAnalysis Your chip clock input Flip Flop Time from clock input (at pin) to clock input at a given flip flop Absolute Clock Skew / Latency 56
  • 57. 8/19/2019StaticTimingAnalysis Relative Clock Skew 57 Your chip clock input Flip Flop Time between 2 flip flops receiving the clock signal Flip Flop delay
  • 58. 8/19/2019StaticTimingAnalysis Clock Skew  Ideally clock skew should be zero. i.e. clock should reach to each flipflop at the same instant.  Clock Skew is a measure of the difference in latency between any two leaf pins in a clock tree. 58 Clock arrival time at 1.1ns Clock arrival time at 1.3ns Skew = 1.3ns - 1.1ns = .2ns
  • 59. 8/19/2019StaticTimingAnalysis Clock Skew and Clock Latency • The arrival time of a flip-flop's clock pin is its clock latency. The clock skew between two flip-flops is the difference of their clock latency. 59 Chip D Q D Q D Q D Q network latency (on-chip) source latency (off-chip) Clock IO latency IO latency
  • 60. 8/19/2019StaticTimingAnalysis Clock Latency • Difference between the reference (source ) clock skew to the clock tree endpoint signal skew values. • Rise latency and Fall latency are specified. 60 INV Rise=7 Fall=4 Rise=7 Fall=4 Rise=7 Fall=4 Rise=7 Fall=4 Rise=7 Fall=4 Rise=7 Fall=4 Rise=7 Fall=4 CLK CLKA CLKB CLKC I N V I N V I N V I N V I N V B U F B U F CLK to CLKA : Min Latency rise = 4+7+4+7 = 22 (Max) Min Latency fall =7+4+7+4 = 22 CLK to CLKB : Min Latency rise = 4+4 = 8 Min Latency fall = 7+7 = 14 CLK to CLKC : Min Latency rise = 7 Min Latency fall = 4 (min) Average = (22+22+8+14+7+4) / 6 = 12.83
  • 61. 8/19/2019StaticTimingAnalysis Clock Skew • Clock skew is a measure of the difference in latency between any two leaf pin 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 CLKC and CLKA 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 61
  • 62. 8/19/2019StaticTimingAnalysis Arrival time (w.r.t input) and Required time ( w.r.t. output)/Capturing moment • An arrival time defines the time interval during which a data signal can arrive at an input pin in relation to the nearest edge of the clock signal that triggers the data transition. • A required time specifies the data required time on output ports 62
  • 63. 8/19/2019StaticTimingAnalysis Slack • It is difference between required time and arrival time. • If required time > arrival time • Positive slack • indicates that constraints have been met. • If required time < arrival time • Negative slack • indicates that constraints have not been met • Set up/Hold violation • Slack analysis is used to identify timing critical paths in a design by static timing analysis tool. 63
  • 64. 8/19/2019StaticTimingAnalysis Considering the delays…. 1. Ideal Condition no delay in any path. 2. Data and Clock path have fixed delays but no set-up/Hold time for FFs 3. Data and Clock path have fixed delays and FFs are with set-up/Hold time 4. Data and Clock path have delays, FFs are with set-up/Hold time ( all delays with min- max range, not fixed) 64
  • 68. 8/19/2019StaticTimingAnalysis Delays in Data Path and Clock Path contd… 68
  • 70. 8/19/2019StaticTimingAnalysis Set up Time and Hold Time • Set up Time • For an edge triggered sequential element, the setup time is the time interval before the active clock edge during which the data should remain unchanged. • This is so that the data can be stored successfully in storage device • Because of Long path • Hold Time • Time interval after the active clock edge during which the data should remain unchanged. This is so that the data can be stored successfully in storage device • Because of Short Path 70
  • 71. 8/19/2019StaticTimingAnalysis Setup Time and Hold Time Consideration 71
  • 73. 8/19/2019StaticTimingAnalysis When delays are given in min-max limits 73
  • 76. 8/19/2019StaticTimingAnalysis Relation between data path delay, clock path delay, Set-up/Hold and Clock Time Period… 1. The circuit is given with all delays ( net, cell, Set-up, hold etc..) • you are required to calculate the minimum time period (maximum frequency) of clock. 2. The circuit is given with all delays ( net, cell, Set-up, hold etc..) and minimum time period (maximum frequency) of clock at which circuit will operate. • You are required to verify whether any timing violation exists or not. 76
  • 77. 8/19/2019StaticTimingAnalysis Calculate the max. clock frequency for given circuit… • Minimum Time Period = tclk-q + tpd + ts = 10 + 5 +2 = 17ns 77
  • 78. 8/19/2019StaticTimingAnalysis 78 TAB = 11ns, TAC = 15ns , TBC = 16ns. Minimum clock period =16ns Calculate the max. clock frequency for given circuit…
  • 79. 8/19/2019StaticTimingAnalysis 79 Tclk-Q = 10 ns, NOR/OR = 4 ns, NAND/AND =3 ns, INV/BUF = 2ns, Ts = 2 ns, Th = 3ns Calculate the max. clock frequency for given circuit…
  • 80. 8/19/2019StaticTimingAnalysis 80 For a minimum clock period, we just want that the data reach ts time before the clock reach there. Data path • Max delay = 26ns • Min delay = 18ns Clock Path • Max delay = 15ns • Min delay=9ns Minimum Clock Period = 26 -9 +4 = 21 ns Calculate the max. clock frequency for given circuit…
  • 81. 8/19/2019StaticTimingAnalysis Set-up time violation • A setup time violation, when a signal arrives too late, and misses the time when it should advance. • Setup time violation can be fixed by either slowing down the clock or reducing the delay of data path/logic block. 81
  • 82. 8/19/2019StaticTimingAnalysis Hold time violation • A hold time violation, when a signal arrives too early, and misses the time when it should advance. 82
  • 83. 8/19/2019StaticTimingAnalysis Set-up time violation • Data launched at FF1/D to FF1/Q at positive edge of FF1/C (launching FF is FF1) • At FF2/D, the input data is coming through combinational logic • Data is captured at positive edge clock of DFF2/C (Capturing FF is FF2) • Data path FF1/C -> FF1/Q->FF2/D • For a single cycle circuit, signal has to propagate through data path in one clock cycle. If data launched at t= 0ns at DFF1 then it should be reached at DFF2/D before 10ns (if Ts is 0 ns for DFF2) • If Ts of DFF2 is 1 ns, it should reach before 9ns at DFF2/D • If data takes too longer travelling through FF1/C -> FF1/Q->FF2/D Then set up time is violated • Set up is checked at next clock edge. 83
  • 84. 8/19/2019StaticTimingAnalysis Hold Time Violation • Data should be stable for Th time after the positive clock of DFF2/C • There should not be any change in input data at FF2/D before positive edge of clock at DFF2/C ( 10 ns ) plus hold time Th (for example 0.5 ns) = 10.5ns • To satisfy the hold condition at DFF2 for data launched at DFF1 at 0 ns, • the second data launched at DFF1/D at 10 ns, SHOULD not reach at DFF2/D before 10.5 ns • If it reaches before 10.5 ns, hold time is violated for first data of DFF1 at DFF2 • Hold is checked at same clock edge 84
  • 85. 8/19/2019StaticTimingAnalysis Find out any set-up violation ? • For set-up path • Set-up is checked at next clock cycle • Maximum delay along the data path • Minimum delay along the clock path • Data path is • CLK->FF1/CLK->FF1/Q->INV->FF2/D • TD =2ns +11ns+2ns+9ns+2ns = 26ns ( max. delay in data path) • Clock Path is • CLK-> BUFF->FF2/CLK • TCLK= 15 ns + 2ns+5ns+2ns-4ns = 20ns (max. delay in clock path) • SET-UP SLACK = TCLK-TD • 20-26= -6ns < 0 so Set-Up Violation 85 CLK Period = 15ns
  • 86. 8/19/2019StaticTimingAnalysis Find out any hold violation? • For hold path • Hold is checked at Same clock cycle • Minimum delay along the data path • Maximum delay along the clock path • Data path is • CLK->FF1/CLK->FF1/Q->INV->FF2/D • TD =1ns +9ns+1ns+6ns+1ns = 18ns ( min. delay in data path) • Clock Path is • CLK-> BUFF->FF2/CLK • TCLK= 3ns+9ns+3ns+2ns = 17ns (max. delay in clock path) • SLACK = TD-TCLK • 18-17=1ns > 0 so No Hold Violation 86
  • 87. 8/19/2019StaticTimingAnalysis Fixing Set-up /Hold Violation :Combinational Delay • Check for violations • Data1 reaches to FF2 at 0.5 ns. It should reach before 10 ns – 2ns i.e 8ns Hence, NO set-up violation • Data2 launched at 10 ns, reaches to FF2 at 10.5 ns. It disturbs the data1 which should be there upto 11ns. So hold violation. • To remove hold violation, let’s increase the combinational delay. Let’s say by 3ns. Then data1 reaches at 3ns which is before 8ns so still no problem with set-up time and data2 reaches at 13ns so hold time violation is also solved. • But what if we increase combination delay to 9ns? Here, while solving for hold-time, we have violated setup time. 87
  • 88. 8/19/2019StaticTimingAnalysis 88 Fixing Set-up /Hold Violation • Check for violations
  • 90. 8/19/2019StaticTimingAnalysis Timing Closure • It is the process of satisfying timing constraints through layout optimizations and netlist modifications • Timing-driven placement: minimizes signal delays when assigning locations to circuit elements • Timing-driven routing : minimizes signal delays when selecting routing topologies and specific routes • Physical synthesis: improves timing by changing the netlist • Sizing transistors or gates: increasing the width:length ratio of transistors to decrease the delay or increase the drive strength of a gate • Inserting buffers into nets to decrease propagation delays • Restructuring the circuit along its critical paths 90
  • 91. 8/19/2019StaticTimingAnalysis Ways to fix set-up Violation (Tdata <= Tclk-Tsetup) 1. Reduce the amount of buffering in the path.  It will reduce the cell delay but increase the wire delay. So if effective delay is reduced than, set-up time violation can be fixed. 2. Replace buffer with two inverters place farther apart  Delay of one buffer is equal to delay of two inverter but because of two inverters, the transition delays are reduced. 3. Change HVT cells to SVT/LVT to reduce delay  HVT/SVT/LVT has the same size and pin position so this change will reduce delay without affecting layout. 4. Increase driver size i.e. driver strength  It reduces delay 5. Insert Buffer/repeaters  In case of long wire, the buffer decreases the transition time which decreases wire delay. If decrease in wire delay is more compared to buffer delay, overall delay reduces. 91
  • 92. 8/19/2019StaticTimingAnalysis Ways to fix set-up Violation (Tdata <= Tclk-Tsetup) cont….. 6. Adjust Cell position in layout 7. Clock Skew  By delaying clock to the end point. 92
  • 93. 8/19/2019StaticTimingAnalysis Ways to fix hold time violation… Tdata >= Thold 1. By adding delay  The hold violation path may have its start or stop point in other setup violation path 2. Decreasing the size of cells in data path 93
  • 94. 8/19/2019StaticTimingAnalysis Negative Set-up and Hold Time • For a Pure flop(containing no extra gates) setup and hold time always will be a positive number. • Now, A flop can be a part of a bigger component. There are many components available in stranded cell library that embed a flop inside. These components will be a part of our design. • Setup and hold time can be negative depending on where you measure the setup and hold time, if you measure setup and hold time at component level. These can be negative also. 94
  • 95. 8/19/2019StaticTimingAnalysis Negative Set-up and Hold Time • For pure flipflop • Tdata < Tclk-Tsetup • Tdata > Thold 95 Flipflop (Pure) Tdata Tclk Tsetup Thold
  • 96. 8/19/2019StaticTimingAnalysis Negative Set-up and Hold Time 96 Flipflop (Embedded) Tdata Tclk_comp Tsetup Thold Tdata_delay Tclk_delay Tcomp_setup Tcomp_hold
  • 97. 8/19/2019StaticTimingAnalysis Negative Set-Up Time • The time when data reaches to flipflop = Tdataflipflop = Tdata+Tdata_delay • The time when clock reaches to flipflop = Tclkflipflop = Tclk_comp+Tclk_delay • Considering flipflop, Tdata+Tdata_delay < Tclk_comp+Tclock_delay-Tsetup • If Tdata_delay= 700, Tclk_delay = 800 and Tsetup=200 • Tdata+700 <= Tclk_comp + 800-200 • Tdata <= Tclk_comp-100 • Tcomp_setup is 100 • But If Tdata_delay= 500, Tclk_delay = 800 and Tffsetup=200 • Tdata+500 <= Tclk_comp+800-200 • Tdata <= Tclk_comp + 100 • Tcomp_setup is negative i.e. -100 97 For Component, Tdata < Tclk_comp-Tcomp_setup
  • 98. 8/19/2019StaticTimingAnalysis Negative Hold Time • The time when data reaches to flipflop = Tdataflipflop = Tdata+Tdata_delay • The time when clock reaches to flipflop = Tclkflipflop = Tclk_comp+Tclk_delay • Tdata+Tdata_delay >= Thold • If Tdata_delay= 100, and Thold=200 • Tdata+100 >= 200 • Tdata >= 100 • Tcomp_hold is 100 • If Tdata_delay= 300 and Thold=200 • Tdata+300 >= 200 • Tdata >= -100 • Tcomp_hold is negative i.e. -100 98 For Component Tdata > Tcomp_hold
  • 99. 8/19/2019StaticTimingAnalysis Time Borrowing/ Cycle Stealing • Technique of borrowing the time from shorter path of the logic stage to the longer path • Do remember: • Edge triggered flipflop changes the stage at the clock edges So the delay of a combination logic path in a design using such FFs can not be longer than the clock period of the design ( except for false or multicycle path) • While the latch can change the stage as long as clock pin is enabled. Here, the delay of the longest path can be compensated by the delay of the shortest path in subsequent logic design • Hence latch based design can be faster. 99
  • 101. 8/19/2019StaticTimingAnalysis STA in ASIC Design Flow – Pre layout 101 Logic Synthesis Design For test Floor planning Constraints (clocks, input drive, output load) Static Timing Analysis Static Timing Analysis (estimated parasitics)
  • 102. 8/19/2019StaticTimingAnalysis STA in ASIC Design Flow – Post Layout 102 Floor planning Clock Tree Synthesis Place and Route Parasitic Extraction SDF (extracted parasitics) Constraints (clocks, input drive, output load) Static Timing Analysis (estimated parasitics) Static Timing Analysis (extracted parasitics)
  • 104. 8/19/2019StaticTimingAnalysis Back Annotation – A process 1. Designer writes the RTL and performs functional simulation considering delay as zero or some unit value as in simulator’s library file. 2. The RTL description is converted to gate level netlist by a logic synthesis tool. 3. The designer estimates the prelayout estimates of delays in the chip using a delay calculator and information about the IC fabrication process (.sdf) 4. The designer does timing simulation or static timing verification of the gate level netlist using this preliminary values to check that the gate level netlist meets timing constraint 5. The gate level netlist is then converted into layout by place and route tool 6. The postlayout delays are now calculated from the R and C information in the layout. This R and C depends on technology and geometry of IC 7. The post layout delay values are back annotated to modify the delay estimates of the gate level netlist 8. Again timing simulation or STA to check the timings are still satisfied. 9. If needed, design changes 104
  • 106. 8/19/2019StaticTimingAnalysis Standard Delay Format • IEEE standard for the representation and interpretation of timing data for use at any stage of an electronic design process. • It has usually two sections: one for interconnect delays and the other for cell delays. • SDF format can be used for back-annotation as well as forward-annotation. 106