FF1 edge dekhta hai t=0 par. FF2 agli edge nominally t=T par dekhta hai, lekin tskew se skewed, toh FF2 ki capturing edge hai T+tskew par.
Data FF2 ke D input par valid hai time par:
tdata=tcq+tlogic
Requirement: data setup window se pehle settle ho jaaye:
tcq+tlogic+tsu≤T+tskew
Ab jitter add karo — yeh worst case mein capture edge ko tjitter se pehle push kar sakta hai (edge jaldi aati hai, kam time milta hai):
tcq+tlogic+tsu+tjitter≤T+tskew
Hold usi same edge ke baare mein hai jo ek race create karti hai: FF1 se t=0 par launch hone wala naya data FF2 par itni jaldi nahi aana chahiye ki yeh corrupt kare jo FF2 apni khud ki edge par capture karne ki koshish kar raha hai.
FF2 ki capturing edge hai tskew par (same edge, skewed). Naya data FF2 par aata hai tcq+tlogic,min par. Yeh hold window band hone ke baad aana chahiye:
tcq+tlogic,min≥tskew+th
Jitter add karo (edge late aa sakti hai, hold ko tjitter se aur bura banaa ke):
tcq+tlogic,min≥tskew+th+tjitter
Same clock se aane wale do flip-flops ke beech clock-edge arrival time mein spatial, deterministic difference, unequal clock-tree paths ki wajah se.
Clock jitter define karo.
Ek clock edge ka ideal position se temporal, random cycle-to-cycle variation, oscillator/PLL/supply noise ki wajah se.
Skew aur jitter ke saath setup constraint?
tcq+tlogic,max+tsu+tjitter≤T+tskew
Skew aur jitter ke saath hold constraint?
tcq+tlogic,min≥tskew+th+tjitter
Clock frequency kam karke hold violation kyun fix nahi hota?
Hold inequality mein koi period T nahi hota; yeh same cycle mein edge-vs-edge race hai, T se independent.
Positive skew setup ko help ya hurt karta hai?
Help karta hai — late capture edge data ko zyada time deti hai.
Positive skew hold ko help ya hurt karta hai?
Hurt karta hai — late capture edge fast naye data ko hold window violate karne ka mauka deta hai.
Kya jitter kabhi timing help karta hai?
Nahi — random hone ki wajah se, worst-case jitter hamesha setup aur hold dono ka margin kam karta hai.
Uncertainty ke saath fmax formula?
fmax=1/(tcq+tlogic,max+tsu+tjitter−tskew)
Hold violation kaise fix karein?
Data path mein delay/buffers add karo (tlogic,min badhao) ya clock skew kam karo.
Recall Feynman: 12-saal ke bachche ko samjhao
Socho ek relay race jahan ek seeti sabko daudne ka signal deti hai. Ideally sabko seeti bilkul usi instant mein sunti hai. Skew tab hota hai jab seeti ki echo kuch runners tak thodi der se pahunche kyunki woh door khade hain — hamesha same delay. Jitter tab hota hai jab timekeeper ka haath kaanpe, toh seeti thodi jaldi ya thodi der se baje har baar — random. Agar runners thoda galat time par shuru karein, toh kuch log baton bahut jaldi de dete hain (hold problem) ya agla runner abhi ready nahi hota (setup problem). Engineers extra time chodh dete hain taaki koi bhi handoff kharaab na kare.