Timing Paths - Static Timing Analysis (STA) Basic (Part 1) - VLSI Concepts
Timing Paths - Static Timing Analysis (STA) Basic (Part 1) - VLSI Concepts
VLSI Concepts
Subscribe To VLSI EXPE
Posts
Comments
An online information center for all who have Interest in Semiconductor Industry.
Translate page
Select Language
As we have discussed in our last blog (about Basic of Timing analysis that there are 2 types of timing analysis. Total Pageviews
In this Blog (and few next as a part of this) we will discuss about the Static Timing Analysis. We will discuss Dynamic Timing Analysis later
on.Static Timing analysis is divided into several parts as per the above mentioned list.
Popular Posts
https://www.vlsi-expert.com/2011/03/static-timing-analysis-sta-basic-timing.html 1/16
10/09/2024, 10:01 "Timing Paths" : Static Timing Analysis (STA) basic (Part 1) |VLSI Concepts
Home VLSI Basic STA & SI Extraction & DFM Low Power Physical Design Vlsi Interview Questions Video Lectures Basic of Timin
In comparison to circuit simulation, static timing analysis is Analysis in Ph
Design
VLSI Industry:
Faster - ItInsight Aboutit Us
is faster because does notRecommended
need to simulateBook Papers
multiple test vectors. VLSI Jobs
More Thorough - It is more thorough because it checks the worst-case timing for all possible logic conditions, not just those sensitized "Examples Of
by a particular set of test vectors. and Hold time
Timing Analys
Once again Note this thing : Static timing analysis checks the design only for proper timing, not for correct logical functionality. basic (Part 3c
Static timing analysis seeks to answer the question, “Will the correct data be present at the data input of each synchronous device when the clock "Setup and Ho
: Static Timing
edge arrives, under all possible conditions?” (STA) basic (P
In static timing analysis, the word static alludes to the fact that this timing analysis is carried out in an input-independent manner. It locates the "Setup and Ho
worst-case delay of the circuit over all possible input combinations. There are huge numbers of logic paths inside a chip of complex design. The Violation" : Sta
Timing Analys
advantage of STA is that it performs timing analysis on all possible paths (whether they are real or potential false paths). basic (Part 3b
However, it is worth noting that STA is not suitable for all design styles. It has proven efficient only for fully synchronous designs. Since the
majority of chip design is synchronous, it has become a mainstay of chip design over the last few decades. 10 Ways to fix
and HOLD vio
Static Timing A
The Way STA is performed on a given Circuit: (STA) Basic (P
To check a design for violations or say to perform STA there are 3 main steps:
Delay - "Wire
Design is broken down into sets of timing paths,
Model" : Static
Calculates the signal propagation delay along each path Analysis (STA
(Part 4c)
And checks for violations of timing constraints inside the design and at the input/output interface.
"Time Borrow
The STA tool analyzes ALL paths from each and every startpoint to each and every endpoint and compares it against the constraint that (should) Static Timing A
(STA) basic (P
exist for that path. All paths should be constrained, most paths are constrained by the definition of the period of the clock, and the timing
characteristics of the primary inputs and outputs of the circuit. Delay - "Interc
Delay Models
Before we start all this we should know few key concepts in STA method: timing path, arrive time, required time, slack and critical path. Timing Analys
basic (Part 4b
Let's Talk about these one by one in detail. In this Blog we will mainly Focus over Different Types of Timing Paths.
Maximum Clo
Timing Paths: Frequency : S
Timing Analys
basic (Part 5b
Timing paths can be divided as per the type of signals (e.g clock signal, data signal etc).
Data Paths:
If we use all the combination of 2 types of Starting Point and 2 types of End Point, we can say that there are 4 types of Timing Paths on the basis
of Start and End point.
Input pin/port to Register(flip-flop).
https://www.vlsi-expert.com/2011/03/static-timing-analysis-sta-basic-timing.html 2/16
10/09/2024, 10:01 "Timing Paths" : Static Timing Analysis (STA) basic (Part 1) |VLSI Concepts
Input pin/port to Output pin/port.
Home VLSI Basic STA & SI Extraction & DFM Low Power Physical Design Vlsi Interview Questions Video Lectures
Register (flip-flop) to Register (flip-flop)
VLSI Industry:
Register Insight Aboutpin/port
(flip-flop) to Output Us Recommended Book Papers VLSI Jobs
PATH1- starts at an input port and ends at the data input of a sequential element. (Input port to Register)
PATH2- starts at the clock pin of a sequential element and ends at the data input of a sequential element. (Register to Register)
PATH3- starts at the clock pin of a sequential element and ends at an output port.(Register to Output port).
PATH4- starts at an input port and ends at an output port. (Input port to Output port)
Clock Path:
In the above fig its very clear that for clock path the starts from the input port/pin of the design which is specific for the Clock input and the end
point is the clock pin of a sequential element. In between the Start point and the end point there may be lots of Buffers/Inverters/clock divider.
Clock path may be passed trough a “gated element” to achieve additional advantages. In this case, characteristics and definitions of the clock
change accordingly. We call this type of clock path as “gated clock path”.
LD pin is not a part of any clock but it is using for gating the original CLK signal. Such type of paths are neither a part of Clock path nor of Data
Path because as per the Start Point and End Point definition of these paths, its different. So such type of paths are part of Clock gating path.
Asynchronous path:
A path from an input port to an asynchronous set or clear pin of a sequential element.
https://www.vlsi-expert.com/2011/03/static-timing-analysis-sta-basic-timing.html 3/16
10/09/2024, 10:01 "Timing Paths" : Static Timing Analysis (STA) basic (Part 1) |VLSI Concepts
Home VLSI Basic STA & SI Extraction & DFM Low Power Physical Design Vlsi Interview Questions Video Lectures
As you know that the functionality of set/reset pin is independent from the clock edge. Its level triggered pins and can start functioning at any time
of data. So in other way we can say that this path is not in synchronous with the rest of the circuit and that's the reason we are saying such type
of path an Asynchronous path.
There are few more types of path which we usually use during timing analysis reports. Those are subset of above mention paths with some
specific characteristics. Since we are discussing about the timing paths, so it will be good if we will discuss those here also.
Critical Path:
In short, I can say that the path which creates Longest delay is the critical path.
Critical paths are timing-sensitive functional paths. because of the timing of these paths is critical, no additional gates are allowed to
be added to the path, to prevent increasing the delay of the critical path.
Timing critical path are those path that do not meet your timing. What normally happens is that after synthesis the tool will give you a
number of path which have a negative slag. The first thing you would do is to make sure those path are not false or multicycle since it
that case you can just ignore them.
Taking a typical example (in a very simpler way), the STA tool will add the delay contributed from all the logic connecting the Q output of one flop
to the D input of the next (including the CLK->Q of the first flop), and then compare it against the defined clock period of the CLK pins (assuming
both flops are on the same clock, and taking into account the setup time of the second flop and the clock skew). This should be strictly less than
the clock period defined for that clock. If the delay is less than the clock period, then the "path meets timing". If it is greater, than the "path fails
timing". The "critical path" is the path out of all the possible paths that either exceeds its constraint by the largest amount, or, if all paths pass,
then the one that comes closest to failing.
False Path:
Physically exist in the design but those are logically/functionally incorrect path. Means no data is transferred from Start Point to End
Point. There may be several reasons of such path present in the design.
Some time we have to explicitly define/create few false path with in the design. E.g for setting a relationship between 2 Asynchronous
Clocks.
The goal in static timing analysis is to do timing analysis on all “true” timing paths, these paths are excluded from timing analysis.
Since false path are not exercised during normal circuit operation, they typically don't meet timing specification,considering false path
during timing closure can result into timing violations and the procedure to fix would introduce unnecessary complexities in the design.
There may be few paths in your design which are not critical for timing or masking other paths which are important for timing
optimization, or never occur with in normal situation. In such case , to increase the run time and improving the timing result , sometime
we have to declare such path as a False path , so that Timing analysis tool ignore these paths and so the proper analysis with respect
to other paths. Or During optimization don't concentrate over such paths. One example of this. e.g A path between two multiplexed
blocks that are never enabled at the same time. You can see the following picture for this.
False Path
https://www.vlsi-expert.com/2011/03/static-timing-analysis-sta-basic-timing.html 4/16
10/09/2024, 10:01 "Timing Paths" : Static Timing Analysis (STA) basic (Part 1) |VLSI Concepts
Home VLSI Basic STA & SI Extraction & DFM Low Power Physical Design Vlsi Interview Questions Video Lectures
Here you can see that False path 1 and False Path 2 can not occur at the same time but during optimization it can effect the timing of another
path.
VLSI So in such
Industry: scenario, we
Insight haveUs
About to define one of the path as
Recommended false path.
Book Papers VLSI Jobs
Same thing I can explain in another way (Note- Took snapshot from one of the forum). As we know that, not all paths that exist in a circuit are
"real" timing paths. For example, let us assume that one of the primary inputs to the chip is a configuration input; on the board it must be tied
either to VCC or to GND. Since this pin can never change, there are never any timing events on that signal. As a result, all STA paths that start at
this particular startpoint are false. The STA tool (and the synthesis tool) cannot know that this pin is going to be tied off, so it needs to be told that
these STA paths are false, which the designer can do by telling the tool using a "false_path" directive. When told that the paths are false, the STA
tool will not analyze it (and hence will not compare it to a constraint, so this path can not fail), nor will a synthesis tool do any optimizations on that
particular path to make it faster; synthesis tools try and improve paths until they "meet timing" - since the path is false, the synthesis tool has no
work to do on this path.
Thus, a path should be declared false if the designer KNOWS that the path in question is not a real timing path, even though it looks like one to
the STA tool. One must be very careful with declaring a path false. If you declare a path false, and there is ANY situation where it is actually a real
path, then you have created the potential for a circuit to fail, and for the most part, you will not catch the error until the chip is on a board, and
(not) working. Typically, false paths exists
MultiCycle Path:
A multicycle path is a timing path that is designed to take more than one clock cycle for the data to propagate from the startpoint to the
endpoint.
A multi-cycle path is a path that is allowed multiple clock cycles for propagation. Again, it is a path that starts at a timing startpoint and ends at a
timing endpoint. However, for a multi-cycle path, the normal constraint on this path is overridden to allow for the propagation to take multiple
clocks.
In the simplest example, the startpoint and endpoint are flops clocked by the same clock. The normal constraint is therefore applied by the
definition of the clock; the sum of all delays from the CLK arrival at the first flop to the arrival at the D of the second clock should take no more
than 1 clock period minus the setup time of the second flop and adjusted for clock skew.
By defining the path as a multicycle path you can tell the synthesis or STA tool that the path has N clock cycles to propagate; so the timing check
becomes "the propagation must be less than N x clock_period, minus the setup time and clock skew". N can be any number greater than 1.
A Single-cycle path is a timing path that is designed to take only one clock cycle for the data to propagate from the startpoint to the endpoint.
Both are inter-related so I am describing both in one place. When a flip flop to filp-flop path such as UFF1 to UFF3 is considered, one of the flip-
flop launches the data and other captures the data. So here UFF1 is referred to "launch Flip-flop" and UFF3 referred to "capture flip-flop".
https://www.vlsi-expert.com/2011/03/static-timing-analysis-sta-basic-timing.html 5/16
10/09/2024, 10:01 "Timing Paths" : Static Timing Analysis (STA) basic (Part 1) |VLSI Concepts
Home VLSI Basic STA & SI Extraction & DFM Low Power Physical Design Vlsi Interview Questions Video Lectures
These Launch and Capture terminology are always referred to a flip-flop to flip-flop path. Means for this particular path (UFF1->UFF3), UFF1 is
launch
VLSI flip-flopInsight
Industry: and UFF3 is capture
About Usflip-flop. Now if there isBook
Recommended any otherPapers
path startingVLSI
fromJobs
UFF3 and ends to some other flip-flop (lets assume
UFF4), then for that path UFF3 become launch flip-flop and UFF4 be as capture flip-flop.
The Name "Launch path" referred to a part of clock path. Launch path is launch clock path which is responsible for launching the data at launch
flip flop. And Similarly Capture path is also a part of clock path. Capture path is capture clock path which is responsible for capturing the data at
capture flip flop.This is can be clearly understood by following fig.
Launch Clock Path (Launch Path) and Capture Clock Path (Capture path)
Here UFF0 is referred to launch flip-flop and UFF1 as capture flip-flop for "Data path" between UFF0 to UFF1.So Start point for this data path is
UFF0/CK and end point is UFF1/D.
One thing I want to add here (which I will describe later in my next blog- but its easy to understand here)-
Launch path and data path together constitute arrival time of data at the input of capture flip-flop.
Capture clock period and its path delay together constitute required time of data at the input of capture register.
Note: Its very clear that capture and launch paths are correspond to Data path. Means same clock path can be a launch path for one data path
and be a capture path for another datapath. Its will be clear by the following fig (source of Fig is From Synopsys).
Same clock path behave like Capture and Launch path for different Data path.
Here you can see that for Data path1 the clock path through BUF cell is a capture path but for Data path2 its a Launch Path.
In the above fig, The longest path between the 2 flip-flop is through the cells UBUF1,UNOR2 and UNAND3. The shortest path between the 2 flip-
flops is through the cell UNAND3.
I have tried my best to capture all the important points related to the Timing Paths. Please Let me know If anything is missing here.
https://www.vlsi-expert.com/2011/03/static-timing-analysis-sta-basic-timing.html 6/16