3.5.10 · HinglishHDL & Digital Design Flow

Critical path identification

1,895 words9 min readRead in English

3.5.10 · Hardware › HDL & Digital Design Flow


WHAT hai critical path?

WHAT nahi hai yeh: yeh physically sabse lambi wire nahi hai, aur sabse zyada gates wali path bhi nahi hai. 3 slow gates wali path 10 fast gates wali path ko piche chhod sakti hai. Baat accumulated delay ki hai, gate count ki nahi.


WHY exist karta hai / WHY care karein?

Har register ek clock edge par data capture karta hai. Edge par launch hue data ko edge par safely capture hone ke liye, woh setup deadline se pehle pahunchna chahiye. Agar ek bhi path zyada slow hai, toh woh capture fail hoga → galat bits latch honge → functional failure.


HOW: timing constraint ko scratch se derive karna

Chalte hain setup constraint ko flip-flop pair ki physics se build karein, kuch memorize karne ki zaroorat nahi.

Ek data hop ki timeline (launch FF → logic → capture FF):

  1. Clock edge launch FF par pahunchti hai. ==== (clock-to-Q) delay ke baad, data Q par appear hota hai.
  2. Data combinational logic se guzarta hai, ==== lete hue (yahi woh path delay hai jo hum sum karte hain).
  3. Data capture FF ke D input par pahunchta hai. Yeh agle clock edge se pehle stable hona chahiye, setup time ==== se.

Agla clock edge ek period baad aata hai. Toh available time hai ; used time hai .

WHY yeh step (inequality): sahi capture ke liye, used time ≤ available time:

Sabse fast allowed clock ke liye solve karein (worst path dominate karta hai):

Refinement — clock skew. Agar capture clock baad mein pahunche launch clock se, toh deadline aage push ho jaati hai, aur zyada time milta hai:

Figure — Critical path identification

HOW ek EDA / STA tool ise dhundta hai (algorithm)

Static Timing Analysis (STA) vectors simulate nahi karta — yeh graph math karta hai:

  1. Netlist ko Directed Acyclic Graph ki tarah model karo (nodes = gate pins, edges = delays).
  2. Combinational feedback ko flip-flops par break karo (registers graph ke "cut points" hain).
  3. Har node par Arrival Time (AT) compute karo = incoming paths par max (source AT + edge delay). Yeh ek forward topological pass hai.
  4. Required Arrival Time (RAT) backward compute karo endpoints se , use karke.
  5. Slack = RAT − AT har node par. Sabse worst slack wala endpoint critical path ko terminate karta hai; max-delay predecessors ke along trace back karke ise reconstruct karo.

Worked examples


Forecast-then-Verify

Recall Answer padhne se pehle forecast karo

Q: Ek path mein 20 tiny gates hain har ek 0.1 ns ka; doosre mein 2 big gates hain har ek 3 ns ka. ns. Kaun critical hai aur kya hai? Verify: Path 1 = ns, Path 2 = ns → Path 2 critical. ns → MHz. Gate count ne kisi ko bhi bewakoof nahi banaya jo delays sum karta hai.


Common mistakes (Steel-man + fix)


Recall Feynman: 12-saal ke bacche ko samjhao

Socho ek class bucket-brigade kar rahi hai ek tank fill karne ke liye, ek whistle par ek splash. Sabko apni bucket agle whistle se pehle pass karni hogi. Sabse slow baccha decide karta hai ki whistles ke beech kitna wait karna hoga — agar zyada fast whistle maaro, woh ek slow baccha bucket drop kar deta hai aur paani giir jaata hai (galat answer). Circuit mein "slowest kid" chain dhundhna hi critical path dhundhna hai. Faster jaane ke liye, ya toh slow bacche ko train karo (faster gates) ya unki lambi run ko do hisso mein baanto (ek register add karo).


Active-recall flashcards

Synchronous circuit mein critical path kya hota hai?
Woh register-to-register combinational path jisme sabse zyada total propagation delay ho (sabse kam timing slack); yeh max clock frequency set karta hai.
Setup timing inequality likho.
Setup slack define karo.
; critical path mein minimum slack hota hai.
Kya critical path woh hai jisme sabse zyada gates hain?
Nahi — woh hai jisme sabse zyada summed delay ho; gate count irrelevant hai.
Multi-input gate par, arrival time = ?
max(input arrival times) + gate delay, kyunki output aakhri input ka wait karta hai.
STA critical path kaise dhundta hai?
Netlist ko DAG model karo, arrival times ke liye forward pass (max use karke), required times ke liye backward pass, slack = RAT − AT, worst-slack endpoint trace karo.
Critical path chhoti karne ki ek technique.
Pipelining — ek register insert karo taaki ek lambi path chhote stages mein split ho jaaye (latency badhti hai, badhta hai).
Capture-clock skew setup timing ko help karta hai ya hurt?
Positive capture skew setup relax karta hai ( zyada time deta hai), lekin hold timing ko hurt karta hai.
Agar , , ns, no skew, nikalo.
ns → MHz.
Slack vs delay?
Delay = path par use hue time; slack = required time − arrival time (spare margin). Negative slack = violation.

Connections

Concept Map

is slowest

sets

inverse of

delay summed as

part of

adds to

adds to

yields

relaxes

defines

minimum identifies

finds

Critical path

Combinational path launch to capture

Min clock period Tmin

Max frequency fmax

t_logic max

Setup constraint

t_cq clock-to-Q

t_su setup time

Clock skew

Setup slack

STA graph analysis