Timing Path in Sta 1743420387
Timing Path in Sta 1743420387
Timing paths:-
A timing path is a point – to – point path in a design which can propagate data from one flip – flop to
another.
Each point has a start point & an end point.
Start point:- Input ports or clock pin of flip – flops
End points:- Output ports or data input pin of flip – flops.
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