STA
STA
TIMING
ANALYSIS
Major Differences in Technology Nodes (From Initial to Present)
Nodes Transistor Type Major Changes & Improvements
Basic CMOS transistors, high power consumption,
180nm - 65nm Planar CMOS (2D Transistor)
lower density.
Improved power efficiency, but leakage becomes a
45nm - 20nm Advanced Planar CMOS
major issue.
Introduced FinFET to reduce leakage, improved
16nm - 10nm FinFET (3D Transistor)
power and performance.
Higher transistor density, extreme scaling, better
7nm - 3nm Advanced FinFET
energy efficiency.
Gate –All – Around(GAA) Full control over current, better power efficiency,
2nm & Beyond
Nanosheet next-gen performance.
Why is FinFET being replaced by GAA (Nanosheet Transistors)?
FinFET struggles with extreme scaling below 3nm. GAA provides better electrostatic control by
surrounding the channel on all sides.
STATIC TIMING ANALYSIS
Where timing analysis starts (before STA) depends upon design flow?
RTL & design verification do not involve detailed timing analysis because timing is dependent on
synthesized gates & Layout.
Real timing analysis starts from synthesis & becomes accurate after routing.
Synthesis stage (first timing consideration):-
Timing analysis starts here with logical optimization.
Tool optimized setup, hold time & clock constraints using wire load models (not real values).
Floorplan stage (Physical Timing begins):-
After synthesis, macro placement, pin placement & power planning are done.
Timing analysis is performed here to check macro placement, blockages & early congestion impact.
Placement stage ( Pre-CTS timing analysis):-
Before CTS, timing is analyzed with estimated delay values.
Tool optimizes placement to reduce the setup violations.
CTS stage:-
Timing analysis is done with actual clock tree to check skew, insertion delay & hold time issues.
Post Routing stage:-
After routing, a full STA is done.
Checks for setup/hold violations, clocks uncertainty and delays.
INPUTS OF STA:-
Gate level netlist(.v) it have circuit description.
Constraints (.sdc) it contains all the timing related information about the design. Includes the clock
definition (create clock, generated clock, virtual clock), uncertainty (jitter, skew, margin), I/O delays,
False paths, Multi-cycle paths, max trans, max cap, max fanout.
Timing library(.lib) every cell delay are present in the library.
Standard Parasitic Exchange Format(.spef) Parasitic of the design extracted from PD tools.
OUTPUTS:-
Different timing paths REPORTS, which can be used for debugging.
RReg
IN OUT
LOGIC LOGIC LOGIC
COMBO
IN OUT
LOGIC
Timing paths grouped into 4 paths i.e,
1. IN – REG.
2. REG – REG.
3. REG – OUT. I
Q D
4. IN – OUT. N
Clk
Half-Cycle Path:
A half cycle path is a timing path where data is propagated during both the rising and falling edges
of the clock (half a cycle each).
Tools can automatically detect it, so you don’t need to specify the launch or capture edge in SDC.
False Path:
A path that exists physically but doesn’t carry any functional data (it’s inactive).
False paths are excluded from timing analysis because they don’t impact the circuit’s performance.
Clock Skew :-
Clock skew is the difference in arrival time of the clock signal at two flip-flops in a design.
Negative Skew :-
If capture clock comes early then the launch clock.
Tlaunch > Tcapture Hold for setup violation.
Equation for setup:-
• Tsetup with Skew
DAT < DRT Tlaunch_clk + Tclk-q + Tcomb < Tcapture_clk – Tsetup + Skew
DAT > DRT Tlaunch_clk + Tclk-q + Tcomb > Tcapture_clk + Thold + Skew
Here, Positive skew helps setup timing by effectively giving more time for data propagation(DAT
takes more time).
Negative Skew helps hold timing by reducing the risk of data arriving too early.
DAT & DRT ? Means
DRT Data Required Time
• The latest time by which data must arrive at the capture flop.
Clock port
PLL
• For Setup:- Total Clk latency impacts the calculation of DRT at the capture flop.
• For Hold:- Latency mismatches between the launch & capture Clk paths.
Equations:-
Clock Uncertainty:-
• Variations in clock arrival time due to multiple factors like as skew, jitter, OCV, cross talk & other
margins.
• It is a pessimism factor used in timing analysis to improve the design to meets timing requirements
even in the worst scenarios.
Types of uncertainty:
1. Static clock uncertainty:-
• Doesn’t vary or varies very slowly with time.
• Slow or fixed variations like skew or process mismatches.
Ex:- Uneven wire delays in the clock network.
Sources:-
1. Clock skew.
2. OCV(On Chip Variation).
3. Load variation.
Dynamic Clock Uncertainty:-
• Varies with time or Time varying issues like jitter or voltage changes.
Ex:- Small clock signal fluctuations caused by power noise.
Sources:-
1. Jitter.
2. Voltage drop.
3. Temperature Variations.
Pre CTS uncertainty Post CTS uncertainty
• Clock skew. • Clk jitter.
• Jitter. • Margins.
• Margins for PVT.
Usage of Uncertainty for setup & hold:-
Setup timing:
• Clock uncertainty reduces the clock period or available time of data to propagate.
Ex:- Clock uncertainty is 0.2ns it means the usable clock period is decreased by 0.2 ns.
Effective clock period = Tclk – Uncertainty.
Command:- Set_clock_uncertainty –setup 0.2 [ get_clocks clk_name]
Reduces the clock period for setup timing analysis by 0.2 ns.
Hold timing :
• Clock uncertainty is added as an additional margin that the design must met. (OR) Adds margin of
safety to prevent short path issues.
Ex:- Clock uncertainty is 0.05 ns, it means the hold timing checks include these margin
Command:- Set_clock_uncertainty –hold 0.05 [ get_clocks clk_name]
Adds a margin of 0.05 ns for hold timing.
Equations for setup & hold :
For setup Tcomb +Tsetup ≤ Tclk – Tuncertainty
For Hold Tcomb ≥ Thold + Tuncertainty
Why Clock Uncertainty is Important?
•It reserves some time in the clock period for unexpected variations.
•Ensures that setup and hold timing are met in worst-case conditions
What is Margin?
A margin is an extra buffer or safety time added in timing analysis to account for uncertainties and
variations in the design and environment.
It ensures that the design is robust under worst-case conditions and operates reliably.
Why Do We Need Margins?
•Timing analysis is based on simulations and estimations, but real-world conditions can introduce
unexpected variations.
•Margins help account for these differences, ensuring the design meets timing even in the worst scenarios.
SLEW(Transition):-
• A signal changes between two voltage levels like from 0 to 1 or 1 to 0.
• A fast change means high slew rate.
• Slow change means low slew rate.
Transition is inversely proportional to slew rate.
V Change in voltage ( 0 to 1 or 1 to 0 ).
T Time it takes for the signal to transition between those voltages.
Faster Transition = Higher Slew rate = Low Transition time.
Slower Transition = Lower Slew rate = High Transition time.
Rise Time:-
During rising edge, the time takes for the signal to Transition from 20 % to 80% of its maximum
value (VDD).
Rise time = T of 80% - T of 20%
Fall time:-
During Falling edge, The time takes for the signal to transition from 80% to 20% of its maximum
VDD.
Problems :
Problem 1: Setup Timing with High Clock Uncertainty
1. Scenario:
A design has a clock period of 2 ns. The setup uncertainty is 0.5 ns, and the combinational path delay
is 1.6 ns. The setup time of the flip-flop is 0.2 ns. Determine if the design meets setup time?
• Given that Tclk = 2ns.
• Tsetupuncertainty = 0.5ns.
• Tcomb = 1.6ns.
• Tsetup = 0.2ns.
For setup Tcomb +Tsetup ≤ Tclk – Tuncertainty
1.6 + 0.2 ≤ 2 – 0.5
1.8 ≤ 1.5 (fails setup timing because the available clock period after uncertainty (1.5 ns) is less
than the total delay 1.8ns).
Propagation delay :-
Propagation delay is the time taken for a signal to travel through the combinational logic (gates and
interconnects) between the launching flip-flop and the capturing flip-flop.
This delay depends on:
• The logic complexity in the path.
• Interconnect delays (RC delays).
• PVT variations (Process, Voltage, Temperature).
Setup :-
Min time that the input (Data) must be stable before the clock edge ( Usually the Falling & Rising
edges, depending upon the design) in order to be correctly captured by the flip-flop.
Data must be stable before the clock edge.
If setup time violation occurs when the data input changes too close to the clock edge, it might
incorrect data capture.
Setup time = DRT ≥ DAT ( No setup violations)
Tclk ≥ Tsetup + Tclk-q + Tcomb
Hold :-
Min time that the input (Data) must remain stable after the clock edge so it ensures the correct
operation of flip-flop.
Data must be stable after the clock edge.
If hold time violation occurs when the new data arrives too early, it might corrupt the currently
captured value.
Hold time = DRT ≤ DAT ( No hold violations)
Thold ≤ Tcomb + Tclk-q
Launch and Capture:
Launch Flip-Flop: Flip-flop where the data is sent out (launched).
Capture Flip-Flop: Flip-flop where the data is received (captured).
Launch Edge: Clock edge that triggers data launch.
Capture Edge: Clock edge that triggers data capture.
Buffer Insertion:
Splits long nets to minimize crosstalk.
Shielding:
Place power (VDD) or ground (VSS) lines between critical signals to absorb noise.
Uses multiple vias in one place for a stronger Adds extra vias next to the main via as a backup
connection
Reduces resistance & improves performance Prevents via failure and improves reliability
High-current paths (power, ground, clock signals) Areas where single vias might fail due to defects
Load spread across all vias If the main via fails, backup via takes over
Setup Violation Slow Low High Data too slow (Max delay)
Hold Violation Fast High Low Data too fast (Min delay)
Fixes for Setup & Hold Violations
Global Variation( Inter – Chip – to – Chip Wafer –Level All transistors on a chip
Die ) Manufacturing behave similarly but
differences. differ from another
chip.
Local Variation ( Intra – Within the same chip. Random fluctuations, Different regions or
Die) voltage drops, localized transistors behave
heating. differently within the
same chip.
AOCV – Advanced On – Chip Variations:
AOCV is an improved version of traditional OCV (fixed derates) where depends on the path depth(
no. of logic gates).
These method applies different derates based on how deep the logic path.
Longer paths tends to have a more averaged variation (less variations) because more no. of
gates are present in that path.
Shortest path Higher variations.
So if we analysing Shortest path , it gets higher derates.( more variations)
Similarly Longest path , it gets lower derates. ( less variations)
Ex:-
Shortest path 3 stages higher derates ( more pessimism).
Longest path 10 stages Lower derates ( less pessimism).
Problem: It overestimates delays for short paths and underestimates them for long paths.
Advantages & Disadvantages of AOCV
Advantages Disadvantages
More accurate than OCV (reduces unnecessary Still some pessimism (not fully optimized like
delays). POCV).
Helps increase chip speed (higher frequency). More complex to implement than OCV.
Saves power by reducing extra buffers. Not as accurate as POCV for advanced nodes.
Faster timing closure than OCV. Needs extra characterization effort.
Better for advanced technologies (7nm, 5nm, 3nm). Not useful for older nodes (28nm, 16nm).
POCV – Parametric On – Chip Variations
POCV is a more advanced version of OCV that uses statistical methods to model delay variations.
Instead of applying fixed derates, it uses Gaussian (statistical) distributions to model delays.
It considers the correlation between cells, making it more accurate.
Each cells delay is modeled as a mean delay + standard deviation
The final delay is calculated using statistical summation Reducing pessimism.
Ex:-
Shortest path 3 stages Higher variation ( Wider distribution).
Longest path 10 stages Lower variation ( Narrow distribution).
Why use POCV?
It provides the most accurate timing analysis by using statistical models, reducing pessimism and
improving performance.
Why not always use POCV?
It is complex, expensive, and harder to debug, so it’s mainly needed for advanced nodes like 7nm,
5nm, 3nm."
Advantages & Disadvantages of POCV
Advantages Disadvantages
More Accurate Timing – Uses statistical models Complex Implementation – Requires more
instead of fixed margins. analysis than OCV/AOCV.
Reduces Pessimism – Avoids unnecessary delay
More Expensive – Needs advanced EDA tools.
margins.
Optimizes Performance – Enables higher clock Difficult to Debug – Statistical variations make
speeds by reducing over-design. debugging harder.
Lower Power Consumption – Fewer extra buffers Not Always Needed – For older nodes (28nm,
reduce power usage. 16nm), OCV/AOCV may be enough.
Improves Chip Yield – More realistic timing Requires Advanced Characterization – Needs
ensures better manufacturing success. detailed process variation models.
Best for Advanced Nodes – Ideal for 7nm, 5nm, EDA Tool Support Needed – Not all tools fully
3nm designs. support POCV.
DERATES
Derates method of OCV.
Adjust delays to model variations.
Traditional OCV uses Fixed derates.
AOCV improves it with Table – Based derates.
POCV is the most accurate, Using Statistical derates.
Derates are Multipliers applied to cell & interconnect delays to account variations like PVT.
Ex:- Imagine a logic gate has delay 1 ns (normal condition).
Due to variations, it delay might increases or decreases.
Instead of re – characterizing every variation, we use a Derate Factor to adjust the delay.
Types:-
1. Fixed Derates ( Traditional OCV).
2. AOCV Table based Derates.
3. POCV – Statistical Derates.
Fixed Derates:-
A constant multiplier is used for all paths.
Ex:-
1.1 derate is applied, a 1ns delay, So it becomes 1 * 1.1 = 1.1 ns.
Too pessimistic because it assumes the Worst – Case.
AOCV Derates:-
Uses predefined Look up tables to apply different derates, based upon Path depth.
Longer path = no. of logic more = Higher derates.
POCV Derates:-
Uses probability distributions instead of Fixed values.
Provide the most realistic variations & with less pessimism.
Most accurate , especially for advanced nodes (7nm, 5nm..)
Advantages of Fixed OCV , AOCV & POCV derates
D D
FF1 FF2
Clk Clk
Early path
Problem of Common Path Delay:
If both launch and capture paths share a part of the clock tree (common path), applying different
derates (early and late) to the same path can create unrealistic delays.
This results in extra pessimism, which can be removed using Clock Re-convergence Pessimism
Removal (CRPR) or Common Path Pessimism Removal (CPPR).
set_timing_derate -max -early -net_delay 0.9 Apply early derate to capture path
set_timing_derate -max -late -net_delay 1.1 Apply late derate to launch path
This helps to reduce pessimism and make the analysis more accurate.
ENGINEERING
CHANGE ORDER
(ECO)
Engineering Change Order (ECO):
ECOs (Engineering Change Orders) are modifications made to the design after it has been
synthesized, placed, or routed.
They are targeted changes that fix issues without requiring a full redesign, making them a time-
efficient solution in VLSI design.
Example:
Suppose you're working on a chip that has passed the synthesis stage, but timing violations are
detected.
Instead of rerunning the entire design process, you apply a Timing ECO to adjust specific paths and
ensure the timing constraints are met.
Why is ECO Needed?
•Bug Fixes – Correct functional errors in the design.
•Timing Violations – Ensure the design meets timing constraints.
•Power Optimization – Reduce power consumption.
•Feature Updates – Add or modify functionality at a late stage.
Types of ECOs
Functional ECO: Fixing logic issues (e.g., a bug in the design).
Timing ECO: Solving timing violations (e.g., delays in signal propagation).
Power ECO: Reducing power consumption (e.g., clock gating or low-power cells).
Metal ECO: Adjusting the physical routing (e.g., fixing shorts or congestion).
Post-silicon ECO: Changes after the chip has been fabricated (e.g., bugs discovered during testing).
Benefits of ECO
Saves time and cost by avoiding full redesign.
Reduces risk and speeds up chip production.
Ensures last-minute fixes without starting from scratch.