Dynamic Combinational Circuits • Dynamic circuits – Charge sharing, charge redistribution • Domino logic • np-CMOS (zipper CMOS) James Morizio 1 Dynamic Logic • Dynamic gates use a clocked pMOS pullup • Two modes: precharge and evaluate A 2 1 2/3 Y A Static 4/3 Y Pseudo-nMOS φ Precharge φ 1 A 1 Y Dynamic Evaluate Precharge Y James Morizio 2 The Foot • What if pulldown network is ON during precharge? • Use series evaluation transistor to prevent fight. φ A precharge transistor Y φ inputs Y f φ inputs Y f foot footed James Morizio unfooted 3 Dynamic Logic VDD Φ Mp VDD Φ Out CL In1 In2 In3 PDN Φ In1 In2 In3 Me Φn network 2 phase operation: Me PUN Out Φ • Precharge Mp CL Φp network • Evaluation James Morizio 4 Logical Effort Inverter unfooted footed φ 1 A 1 φ 1 A 2 2 NAND2 Y gd pd = 1/3 = 2/3 Y gd pd = 2/3 = 3/3 φ 1 A 2 B 2 φ 1 A 3 B 3 3 NOR2 Y gd pd = 2/3 = 3/3 A Y φ 1 1 B φ gd pd James Morizio = 3/3 = 4/3 A 1 1 2 B 2 2 Y gd pd = 1/3 = 3/3 Y gd pd = 2/3 = 5/3 5 Dynamic Logic • N+2 transistors for N-input function – Better than 2N transistors for complementary static CMOS – Comparable to N+1 for ratio-ed logic • No static power dissipation – Better than ratio-ed logic • Careful design, clock signal Φ needed James Morizio 6 Dynamic Logic: Principles VDD Φ Mp • Precharge Out CL In1 In2 In3 PDN Φ Me Φ = 0, Out is precharged to VDD by Mp. Me is turned off, no dc current flows (regardless of input values) • Evaluation Φ = 1, Me is turned on, Mp is turned off. Output is pulled down to zero depending on the values on the inputs. If not, precharged value remains on CL. Important: Once Out is discharged, it cannot be charged again! Gate input can make only one transition during evaluation • Minimum clock frequency must be maintained • Can Me be eliminated? James Morizio 7 Example VDD Mp Φ Out • Ratio le s s • No Static Po we r Cons umptio n A C B Φ • Nois e Marg ins s mall (NML) • Requires Cloc k Me James Morizio 8 Dynamic 4 Input NAND Gate φ James Morizio 9 Cascading Dynamic Gates VDD Mp Φ VDD Φ Mp Out2 Out1 V Φ In Out1 In VTn Out2 Φ Me Φ Me t Internal nodes can only make 0-1 transitions during evaluation period James Morizio 10 Monotonicity • Dynamic gates require monotonically rising inputs during evaluation φ – – – – 0 -> 0 0 -> 1 1 -> 1 But not 1 -> 0 A violates monotonicity during evaluation A φ Precharge Evaluate Precharge Y Output should rise but does not James Morizio 11 Monotonicity Woes • But dynamic gates produce monotonically falling outputs during evaluation • Illegal for one dynamic gate to drive another! A=1 φ A X Y φ Precharge Evaluate Precharge X X monotonically falls during evaluation Y Y should rise but cannot James Morizio 12 Reliability Problems — Charge Leakage VDD Φ Φ Mp Out (1) A CL t Vout (2) precharge evaluate A=0 Φ Me (a) Leakage sources (b) Effect on waveforms t (1) Leakage through reverse-biased diode of the diffusion area (2) Subthreshold current from drain to source Minimum Clock Frequenc y: > 1 MHz James Morizio 13 Leakage • Dynamic node floats high during evaluation – Transistors are leaky (IOFF ≠ 0) – Dynamic value will leak away over time – Formerly miliseconds, now nanoseconds! • Use keeper to hold dynamic node – Must be weak enough not to fight evaluation weak keeper φ A 1 k 2 X H Y 2 James Morizio 14 Charge Sharing (redistribution) VDD • Assume: during precharge, A and B are 0, Ca is discharged • During evaluation, B remains 0 and A rises to 1 • Charge stored on CL is now redistributed over CL and Ca Mp Out A CL Ma X B=0 Mb Me Ca Cb CLVDD = CL Vout(t) + CaVX VX = VDD - Vt, therefore δVout(t) = Vout(t) - VDD = Ca (VDD-Vt) CL Desirable to keep the voltage drop below threshold of pMOS transistor (why?) Ca/CL < 0.2 James Morizio 15 Charge Sharing • Dynamic gates suffer from charge sharing φ φ A B=0 Y CY x Cx A Y Charge sharing noise x CY Vx = VY = VDD C x + CY James Morizio 16 Charge Redistribution - Solutions VDD VDD Mp Φ Mbl Mp Φ Φ Out Out A Ma A Ma B Mb B Mb Φ Me (a) Static bleeder Mbl Φ Me (b) Precharge of internal nodes James Morizio 17 Secondary Precharge • Solution: add secondary precharge transistors – Typically need to precharge every other node • Big load capacitance CY helps as well φ Y A x secondary precharge transistor B James Morizio 18 Domino Logic VDD Φ Mp VDD Φ Out1 Mp VDD Mr Out2 In1 In2 In3 PDN Φ Me PDN In4 Φ Static Inverter with Level Restorer Me Static inverters between dynamic stages James Morizio 19 Domino Gates • Follow dynamic stage with inverting static gate – Dynamic / static pair is called domino gate – Produces monotonic outputs φ domino AND W Precharge Evaluate Precharge W X Y Z X A B C φ Y Z dynamic static NAND inverter φ A B φ φ W H James Morizio X C Y H Z = A B φ X Z C 20 Domino Logic - Characteristics • Only non-inverting logic • Very fast - Only 1->0 transitions at input of inverter • Precharging makes pull-up very fast • Adding level restorer reduces leakage and charge redistribution problems • Optimize inverter for fan-out James Morizio 21 Domino Optimizations • Each domino gate triggers next one, like a string of dominos toppling over • Gates evaluate sequentially but precharge in parallel • Thus evaluation is more critical than precharge • HI-skewed static stages can perform logic φ S0 S1 S2 S3 D0 D1 D2 D3 H Y φ S4 S5 S6 S7 D4 D5 D6 D7 James Morizio 22 Dual-Rail Domino • Domino only performs noninverting functions: – AND, OR but not NAND, NOR, or XOR • Dual-rail domino solves this problem – Takes true and complementary inputs – Produces true and complementary outputs sig_h sig_l Meaning 0 0 Precharged 0 1 ‘0’ 1 0 ‘1’ 1 1 invalid Y_l Y_h φ inputs f f φ James Morizio 23 Example: AND/NAND • Given A_h, A_l, B_h, B_l • Compute Y_h = A * B, Y_l = ~(A * B) • Pulldown networks are conduction complements Y_l φ = A*B A_l B_l A_h Y_h = A*B B_h φ James Morizio 24 Example: XOR/XNOR • Sometimes possible to share transistors Y_l = A xnor B A_h φ A_l B_l Y_h A_l A_h = A xor B B_h φ James Morizio 25 Domino Summary • Domino logic is attractive for high-speed circuits – 1.5 – 2x faster than static CMOS – But many challenges: • Monotonicity • Leakage • Charge sharing • Noise • Widely used in high-performance microprocessors James Morizio 26 np-CMOS (Zipper CMOS) VDD Mp Φ In1 In2 In3 PDN VDD Φ Out1 Me PUN In4 Out2 Φ Me Φ Mp • Only 1-0 transitions allowed at inputs of PUN • Used a lot in the Alpha design James Morizio 27 np CMOS Adder VDD φ A1 VD D VDD φ φ B1 B1 A1 A1 φ φ B1 A0 B0 B0 Ci1 A0 B0 φ Ci0 A1 B1 φ φ φ φ Ci1 VDD φ S1 Ci1 VDD A0 φ φ Ci2 VD D Ci0 VDD φ B0 A0 Ci0 S0 Carry Path James Morizio 28 CMOS Circuit Styles - Summary James Morizio 29