3.4.2 · Hardware › Sequential Circuits
Ek plain memory element (SR latch) mein ek buri kharabi hoti hai: tum galti se use "set AUR reset ek saath" bol sakte ho aur woh toot jaata hai. Ek gated latch isko fix karta hai ek control wire add karke — ek enable (ya "gate") signal — jo decide karta hai kab latch sunne ka allowed hai. Ek D latch ek kadam aur aage jaata hai: woh forbidden input combination ko poori tarah hata deta hai, toh tum hamesha sirf ek clean data bit D store karte ho.
Ise ek whiteboard samjho jisme sliding cover hai. Jab cover khula ho (enable = 1) tum us par likh sakte ho; jab cover band ho (enable = 0) woh yaad rakhta hai jo bhi aakhri baar likha gaya tha.
Definition SR latch recap
Ek SR latch (do cross-coupled NOR gates se bana) ke inputs S (set) aur R (reset) hote hain aur outputs Q aur Q hote hain.
S = 1 , R = 0 ⇒ Q = 1 (set)
S = 0 , R = 1 ⇒ Q = 0 (reset)
S = 0 , R = 0 ⇒ hold (yaad rakhna)
S = 1 , R = 1 ⇒ forbidden (dono outputs 0, phir undefined behaviour jab woh saath mein change hote hain)
Yeh bura kyun hai? Do problems hain:
Forbidden state S = R = 1 mein Q aur Q dono equal ho jaate hain — ek contradiction — aur final state ek race condition hoti hai.
Latch inputs par turant aur har waqt react karta hai. Real circuit mein signals thodi alag timing par aate hain ("glitches"), aur latch randomly flip ho jaata.
Hum #2 ko gate/enable se solve karte hain, aur #1 ko D trick se.
Intuition Enable kya karta hai
Hum har input par ek AND gate lagate hain taaki S aur R latch tak tabhi pahunchen jab Enable (E ) = 1 ho . Jab E = 0 ho, internal set/reset lines 0 par force ho jaati hain → latch bas hold karta hai, baahri duniya ko ignore karta hai.
Yeh kaise bana hai: SR latch lo, aur use S ′ = S ⋅ E aur R ′ = R ⋅ E feed karo.
Q next = { hold SR behaviour ( S , R ) E = 0 E = 1
E
S
R
Q next
0
x
x
Q (hold)
1
0
0
Q (hold)
1
1
0
1 (set)
1
0
1
0 (reset)
1
1
1
forbidden
Progress! Ab hum control karte hain kab . Lekin forbidden state abhi bhi exist karta hai. Ab aata hai D latch.
Intuition Ek-wire ki trick
Forbidden combination S = R = 1 tabhi ho sakta hai jab hum S aur R ko independently drive karne dein. Toh: unhe ek single input D se derive karo taaki woh kabhi dono 1 na ho sakein.
S = D aur R = D set karo. Ab S aur R hamesha opposites hain → forbidden state impossible hai.
Ek D latch (jise transparent latch bhi kehte hain) mein ek data input D aur ek enable E hota hai. Internally S = D , R = D , E se gated hota hai.
Jab E = 1 : output input follow karta hai, Q = D (transparent ).
Jab E = 0 : output apni last value hold karta hai (opaque / latched ).
First principles se next-state equation derive karna:
Gated SR latch se shuru karte hain jahan S = D , R = D :
Agar E = 1 : S ′ = D , R ′ = D .
D = 1 ⇒ S ′ = 1 , R ′ = 0 ⇒ Q = 1
D = 0 ⇒ S ′ = 0 , R ′ = 1 ⇒ Q = 0
Toh Q next = D .
Agar E = 0 : S ′ = R ′ = 0 ⇒ hold, toh Q next = Q .
Dono cases ko EK boolean expression mein combine karna:
Q next = E ⋅ D + E ⋅ Q
Worked example Example 2 — Equation se verify karo
t3 ko Q next = E D + E Q se check karo jahan E = 0 , D = 0 , Q prev = 1 :
Q next = 0 ⋅ 0 + 1 ⋅ 1 = 1 ✓
Yeh step kyun? Boxed formula mein plug in karna trace se match karna chahiye — agar nahi karta, toh koi ek galat hai. Match karta hai → confidence milta hai.
Worked example Example 3 — Feynman "MUX view prove karo"
Claim: ek D latch = 2:1 MUX with feedback. MUX select = E rakho, input-0 = Q (apna output), input-1 = D .
E = 0 → MUX input-0 = Q output karta hai → hold. ✓
E = 1 → MUX input-1 = D output karta hai → transparent. ✓
Yeh step kyun? Dono rows ko truth table se match karna prove karta hai ki dono descriptions identical hain.
Common mistake "D latch aur D flip-flop same cheez hain."
Kyun sahi lagta hai: dono ek bit store karte hain aur D input hai, aur unki equations similar dikhti hain.
Fix: Ek latch level-triggered hota hai — jab E = 1 ho woh transparent hota hai, output D ke saath change hota rehta hai. Ek flip-flop edge-triggered hota hai — woh D ko sirf us waqt capture karta hai jab clock rise (ya fall) kare . Latch = "poora time darwaza khula"; flip-flop = "ek edge par camera flash."
E = 0 ho toh output 0 ho jaata hai."
Kyun sahi lagta hai: hum intuitively sochte hain "off = 0."
Fix: E = 0 ka matlab hold hai, reset nahi. Output apni stored value rakhta hai . Yahi poori memory ka point hai. Equation mein E Q dekho — E = 0 ke saath yeh Q return karta hai, 0 nahi.
Common mistake "Hum D latch mein
S aur R ko independently bhi feed kar sakte hain."
Kyun sahi lagta hai: D latch andar se SR latch se bana hota hai.
Fix: Construction ke hisaab se R = D hai jo D se derived hai. Sirf EK external data pin hota hai. Tumne deliberately independent S , R control choda hai taaki forbidden state khatam ho sake.
Recall Quick self-test (answers hide karo)
D latch ki do states kya hain aur unke naam kya hain? → transparent (E = 1 , Q = D ) aur opaque/hold (E = 0 , Q = Q p r e v ).
Characteristic equation likho. → Q n e x t = E D + E Q .
D latch forbidden state kaise hataata hai? → S = D , R = D set karta hai, toh S , R dono kabhi 1 nahi ho sakte.
Latch vs flip-flop trigger? → level vs edge.
Recall Feynman: ek 12-saal ke bacche ko explain karo
Ek fridge ki imagine karo jisme ek magnetic note holder aur ek chhota lever hai. Jab tum lever on karo, jo bhi note tum uske saamne rakho woh chipak jaata hai aur dikhai deta hai — aur agar tum note badle, naya wala dikhne lagta hai. Jab tum lever off karo, aakhri note wahan freeze ho jaata hai, aur chahe tum naye notes saamne laao, kuch nahi badalta. Lever enable hai, note data D hai, aur jo note abhi dikh raha hai woh Q hai. Yahi hai D latch: lever on rehne par copy karta hai, aur off rehne par yaad rakhta hai.
"E for Enable = Aankhein khuli." Jab aankhein khuli hain (E = 1 ) toh latch D ko dekhta aur copy karta hai . Aankhein band karo (E = 0 ) aur woh jo aakhri cheez dekhi thi uski neend lete hain (holds Q ).
Equation ke liye: "Enable Data OR Else Q" → E D + E Q .
SR Latch — woh building block jisse D latch bana hai.
NOR and NAND Gates — storage loop banane ke liye cross-coupled hote hain.
D Flip-Flop — is latch ka edge-triggered upgrade (master-slave mein do D latches use hote hain).
Multiplexers — characteristic equation ka 2:1 MUX view.
Clocking and Timing — kyun level-triggered latches transparency/glitch issues paida karte hain.
Registers — parallel mein kai D flip-flops.
D latch kya hota hai? Ek one-input storage element jahan Q = D jab enable E = 1 ho (transparent) aur Q apni last value hold karta hai jab E = 0 ho (opaque).
D latch ki characteristic equation? Q n e x t = E D + E Q .
D latch SR forbidden state ko kaise khatam karta hai? Woh S = D aur R = D tie karta hai, toh S aur R hamesha opposite hote hain aur kabhi dono 1 nahi ho sakte.
Latch vs flip-flop: trigger difference kya hai? Latch level-triggered hota hai (transparent jab enable high ho); flip-flop edge-triggered hota hai (sirf clock edge par capture karta hai).
Gated SR latch plain SR latch ke upar kya add karta hai? Ek enable line jo S aur R ke saath AND karta hai, taaki latch sirf tab respond kare jab enabled ho aur warna hold kare.
Jab E = 0 ho, D latch kya output karta hai? Woh apna previous Q hold (yaad) karta hai — woh 0 par nahi jaata.
D latch equation kaun sa combinational block jaisi dikhti hai? Ek 2:1 multiplexer jisme select = E , inputs Q aur D , output fed back hota hai.
"Transparent latch" ka kya matlab hai? Jab enabled ho, output directly input follow karta hai, jaise data seedha aage nikal jaata hai.
controls WHEN via S'=S.E R'=R.E
combined with D trick gives
SR latch cross-coupled NOR
Reacts immediately to glitches