What Is STA ?
What Is STA ?
● Static timing analysis is one of the techniques used to verify the timing of a digital design.
● STA is static since the analysis of the design is carried out statically and does not depend
upon the data values being applied at the input pins of the design.
● STA is a complete and exhaustive verification of all the timing checks of a design.
Why we do STA ?
● Timing analysis methods such as simulation can only verify the portions of the design that
● Verification through timing simulation is only as exhaustive as the test vectors used.
● To simulate and verify all the timing conditions of a design with 10-100 million gates is very
● So, STA on the other hand provides faster and simpler way of checking and analyzing all the
● It determines the full behaviour of the circuit for a given set of input vectors.
● Dynamic simulation can verify the functionality of the design as well as timing requirements.
Example : If we have 100 inputs, then we need 2 to the power 1t00 simulation for complete the
analysis. The amount of analysis is astronomical compared to static analysis.
Difference between DTA and STA ?
● Capture edge is that edge of the clock at which data is captured by a flip flop.
● The flip-flop that captures the data whose setup/hold time must be satisfied is a capture flip
flop.
Setup and Hold timing checks between launch and capture flip flop :
Setup timing checks :
● The setup check ensures that the data is available at the input of the flip-flop before the
● The data should be stable for a certain amount of time, namely the setup time of the flip-flop,
before the active edge of the clock arrives at the flip-flops, so that the data is captured
● The setup check ensures that the data launched from the previous clock cycle is ready to be
● The data should be stable for a certain amount of time, namely the hold time of the flip-flop,
after the active edge of the clock arrives at the flip-flops, so that the data is captured reliably
● Data Required Time : This is the time taken for the clock to traverse through clock path.
skew.
● Negative Skew : If the capture clock comes early than launch clock then it is called negative
skew.
Figure 6 : Positive & Negative Skew
Global Skew : It is defined as the difference between the maximum insertion delay and the
minimum insertion delay between two flip flops.
Useful Skew : If the clock is skewed intentionally to resolve the violations, it is called as useful
skew.
Clock Latency : Clock latency is the time it takes from clock source to end point.
● Source Latency : Source latency, also called as insertion delay, is the delay from clock
● Network Latency : Network latency is the delay from clock definition point to clock pin of the
● PrimeTime adds hold uncertainty value to the data required time when it checks the hold
Jitter : Clock jitter refers to the temporal variation of the clock period at a given point — that is, the
clock period can reduce or expand on a cycle-by-cycle basis.
Figure 8 : Jitter
Common sources of Jitter are,
● Internal circuitry of the phase-locked loop (PLL)
● Interconnect variations
● Temperature
● Power supply
False Path : A false path is a path existing in a design which should not be analysed for timing. For
example,
● A path between two multiplexed blocks that are never enabled at the same time. In below
diagram timing path starting from CLK pin of FF1 and ending at D pin of FF3 is a false path
because it can’t exist in circuit operation because of inverted select signals at the multiplexer
select pins.
to each other.
Figure 9(ii) : Falsepath between two flops
Declaring a path to be false removes all timing constraints from the path and the advantage is that
the analysis time and effort are reduced, thereby allowing the STA tool to focus only on the real
paths.
Multicycle Path :A path that is designed to take more than one clock cycle for the data from launch
flop to propagate to the capture flop. The combinational data path between two flip-flops can take
more than one clock cycle to propagate the data. In such cases, the combinational path is declared
as a multicycle path. For example,
The path from FF4 to FF5 is designed to take two clock cycles rather than one. However, by default,
PrimeTime assumes single-cycle timing for all paths. Therefore, we need to specify a timing
exception for this path.
Virtual Clock :
● A virtual clock is a clock that exists but is not associated with any pin or port of the design.
● It is used as a reference in STA analysis to specify input and output delays relative to clock.
● A virtual clock can be defined with no specification of the source port or pin.
● Virtual clock are required to constraint the input port to register timing path and register to
sequential circuit.
● Pulse width check ensure the width of the clock signal is above minimum value.
● When the width of the clock signal is below minimum value, we get minimum pulse width
● This is due to unequal rise and fall delay of the combinational cell.
● If the rise edge is more than the falling edge of a clock, then the output clock will have less
● So, when this clock signal is passed through the series of buffers, the width of a signal keeps
on decreasing and at a point when the buffer delay is more than the clock width, pulse get
● So it is better to have equal rise and fall edge in order to avoid pulse width violation.
● Normal buffers may not have equal rise and fall time .
● To make equal rise and fall time in a clock buffer we make PMOS width nearly 2 – 2.5 times
● Clock buffers are usually designed such that an input signal with 50% duty cycle produces
an output with 50% duty cycle.