Ek counter flip-flops ki chain hoti hai (usually T ya JK) jo binary states ka ek sequence cycle karti hai, har clock pe ek step. Dono families mein SIRF yahi fark hai ki har flip-flop ko apna clock kaise milta hai.
Ise ek single flip-flop se derive karte hain. T flip-flop with T=1 use karo (har clock edge pe toggle). Uski output ko Q kaho.
Agar Q apne clock ki har falling edge pe toggle karta hai, toh Q ek wave produce karta hai jo apne clock ki aadhi frequency par hoti hai. Ye key fact hai:
fout=2fclk
Kyun? Ek poora output cycle (0→1→0) ko do toggles chahiye, aur har toggle ke liye ek clock edge chahiye. Toh do clock edges = ek output cycle ⇒ frequency aadhi ho jaati hai.
Ab inhe chain karo: Q0 ko FF1 ke clock mein feed karo, Q1 ko FF2 ke clock mein feed karo…
f0=2f,f1=4f,f2=8f,…,fk=2k+1f
Q2Q1Q0 ko ek binary number ki tarah padho aur ye 0,1,2,… count karta hai — yahi ek divide-by-2n ripple counter hai (n flip-flops ke liye).
Har flip-flop ka ek delay tpd hota hai — clock edge aane aur uski output settle hone ke beech. Ripple counter mein edges sequence mein aate hain, toh delays add up ho jaate hain.
Wahi clock har flip-flop ko feed karo. Ab har FF parallel mein settle hota hai, toh total delay sirf ektpd hoti hai (plus AND-gate delay jo compute karta hai ki har FF ko kab toggle karna chahiye).
Lekin agar saare clocks ek saath fire karein, toh har bit ko kaise pata chalega ki kab toggle karna hai? Hum toggle condition derive karte hain.
Ek line mein khade bacchon ko imagine karo jिनके haath mein lights hain. Ripple version mein, baccha #1 apni light flip karta hai, aur tab bacche #2 ko poke karta hai, jo flip karke bacche #3 ko poke karta hai… Aakhri light bahut baad mein change hoti hai — kuch der ke liye row ek galat pattern dikhata hai. Synchronous version mein, ek teacher "ABHI!" chillata hai aur sablog ek saath flip karte hain, lekin har baccha ek rule follow karta hai "sirf tab flip karo jab mere daaye wale saare bacche ON hon." Same counting, koi galat flicker nahi, aur bahut tez.