Combinational Logic Gates in CMOS References: Adapted from: Digital Integrated Circuits: A Design Perspective, J. Rabaey, Prentice Hall © UCB Principles of CMOS VLSI Design: A Systems Perspective, N. H. E. Weste, K. Eshraghian, Addison Wesley Adapted from: EE216A Lecture Notes by Prof. K. Bult © UCLA Ratioed Logic Reduce the number of devices over complementary logic Ratioed Logic • Use PDN to implement the function (which is the negation of the network) • Total number of devices: n for the input, 1 for the static load • Minimum load is 1 unit-gate load • Functional sizing is required to optimize noise margin Trade-offs to be Considered • To reduce static power, ILoad should be low • To obtain a reasonable NML, VOL = ILoadRPDN should be low • To reduce tpLH ≈ CLVDD/(2ILoad), ILoad should be high • To reduce tpHL ≈ 0.69 RPDNCL, RPDN should be kept small Improving DC and AC Characteristics • Bias circuit to force VOL below threshold • Build better load to improve VOL and switching time • Use differential logic to eliminate static current Forcing the Voltage Output Low Adaptive Load Improved Loads Differential Cascade Voltage Switch Logic (DCVSL) Example Pass Transistor Logic Pass-Transistor Logic A Switch Network B B B • Reduced number of transistors • No static power consumption Pass Transistor Logic Control Signal P Pass Signal F = Product Term V ⎧Z F =⎨ ⎩V if P = 0 if P = 1 Basic Pass Transistor Logic Model Control Signals Pi Pass Signals Vi F = Sum of Products F = P1 (V1 ) + P2 (V2 ) + " + Pn (Vn ) XNOR Gate Truth Table A B OUT Pass Function 0 0 1 -A + -B 0 1 0 A + -B 1 0 0 -A + B 1 1 1 A+B Modified Karnaugh Map A 0 0 -A -A -B B 1 1 A B A -B B Boolean Function Unit Operation P1 P2 P3 P4 AND(A,B) 0 0 0 1 XOR(A,B) 0 1 1 0 OR(A,B) 0 1 1 1 NOR(A,B) 1 0 0 0 NAND(A,B) 1 1 1 0 NMOS-only switch Problem: VB does not pull up to VDD, only to VDD - Vtn(body-effect) Cannot completely turn off the PMOS transistor Causes static power consumption Solution 1: Transmission Gate Transmission Gate Implementation A A -A B -A B -B -B P1 P2 F(A,B) P3 F(A,B) P4 B P1 P2 P3 P4 -B Transmission Gate XNOR A -B OUT -A B A Transmission Gate (Inverting) Multiplexer S S S S VDD S A V DD M2 F S M1 B S GND In1 In2 Transmission Gate XOR Resistance of Transmission Gate B is discharged originally For NMOS, VGS = VDS, saturated or cutoff For PMOS, VGS = -VDD, VDS increases from -VDD to 0, starts out in saturation, then transitions into non-saturation Vout < Vtp : NMOS saturated, PMOS saturated Vtp < Vout < VDD − Vtn : NMOS saturated, PMOS linear VDD − Vtn < Vout : NMOS cutoff, PMOS linear Resistance of Transmission Gate Vout Approximations • Assume both in linear region, ignore body effect Geq = = 1 Req β n (VDD − VB − Vtn )(VA − VB ) (VA − VB ) + β p (VDD + Vtp )(VA − VB ) (VA − VB ) ≈ β n (VDD − Vtn ) + β p (VDD + Vtp ) • Assume both in saturated region Geq = = In + I p VDD β n (VDD − Vtn ) 2 + β p (VDD + Vtp ) 2 2VDD When Output Closely follows Input pmost Region A: NMOS unsaturated, PMOS off nmost Ron Region B: NMOS unsaturated, PMOS unsaturated Region C: NMOS off, PMOS unsaturated Transmission gate Vin Delay in Transmission Gate Networks Distributed RC network Elmore Delay To solve for actual delay dVi (t ) 1 [Vi +1 (t ) + Vi −1 (t ) − 2Vi (t )] = dt Req C Estimate the dominant time constant: assume all internal nodes are pre-charged to VDD, and a step input is applied n(n + 1) τ N = ∑ C ∑ Req = ∑ Req ∑ C = Req C 2 k =1 j =k k =1 j =k N N N N Delay Optimization by Buffer Insertion n(n + 1) Req C • Delay of RC chain t p = 0.69τ N = 0.69 2 • Delay of buffered chain ⎤ ⎛n ⎞ ⎡ n m(m + 1) t p = 0.69⎢ Req C ⎥ + ⎜ − 1⎟t pbuf 2 ⎦ ⎝m ⎠ ⎣m ⎤ ⎛n ⎞ ⎡ n(m + 1) Req C ⎥ + ⎜ − 1⎟t pbuf = 0.69⎢ ⎦ ⎝m ⎠ ⎣ 2 mopt = 1.7 t pbuf Req C Transmission Gate Full Adder P VDD Ci A P A A P B VDD Ci A P Ci S Sum Generation Ci P B Setup VDD A Co Carry Generation P Ci A VDD P Adder Truth Table C A B A.B(G) A+B 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 A + B(P) SUM SUM = A + B + C CARRY = C if A + B = 1 CARRY = A (or B) if A + B = 0 CARRY Solution 2: Level Restoring Transistor for NMOS Only Logic • Full Swing • Disadvantage: More complex, larger capacitance Level Restoring Transistor 3.0 without without 3.0 with VB 1.0 -1.00 with 5.0 VX Vout (V) 5.0 2 t (nsec) 1.0 4 (a) Output node 6 -1.00 2 4 t (nsec) (b) Intermediate node X 6 Proper Sizing of Level Restoring Transistor • In transient, conducting path from Mr to M3 via Mn when A is low, B switches from low to high, and X is high • Mr must not be too large, otherwise, X cannot be brought below threshold voltage, VM, of inverter, Mr cannot be turned off Sizing of a Level Restorer I = β 3 (VDD − Vtn )VA = βn 2 (VB − VA − Vtn ) 2 ⎡ (VDD − VM ) 2 ⎤ = β r ⎢(VDD + Vtp )(VDD − VM ) − ⎥ 2 ⎣ ⎦ Sizing of a Level Restorer VDD = 5V Vtn = −Vtp = 0.75V VM = 2.5V ⎡ (VDD − VM ) 2 ⎤ I = β r ⎢(VDD + Vtp )(VDD − VM ) − ⎥ = 7 .5 β r 2 ⎣ ⎦ I = β 3 (VDD − Vtn )VA βr ⇒ VA = 1.76 βn if M 3 and M n are of equal size VB ≤ VDD ⇒ VB = 3.87 βn m= > 1.55 βr βr β + 1.76 r + 0.75 ≤ 5V βn βn Proper Sizes of Restorer Making the NMOS pass-transistor and PMOS restorer the same size is reasonable Solution 3: Single Transistor Pass Gate with VT=0 VDD VDD 0V 5V VDD 0V Out 5V WATCH OUT FOR LEAKAGE CURRENTS Complimentary Pass Transistor Logic A A B B Pass-Transistor Network F (a) A A B B B Inverse Pass-Transistor Network B B A F B B A A B F=AB A B F=A+B F=AB AND/NAND A F=A⊕ΒÝ (b) A A B B F=A+B B OR/NOR A EXOR/NEXOR F=A⊕ΒÝ 4 Input NAND in CPL • Total number of transistors needed = 14 (including the final buffer) • But AND function is simultaneously present • tpHL = 1.05ns, tpLH = 0.45ns Dynamic Logic Dynamic Logic VDD φ VDD φ Mp Me Out CL In1 In2 In3 PDN In1 In2 In3 PUN Out φ Me φ φn network 2 phase operation: Mp φ p network • Precharge • Evaluation CL Example • • • • • • N + 2 transistors Ratioless No static power consumption Small Noise Margins (NML) Requires Clock Pull-down resistance increases due to the evaluation transistor Transient Response 6.0 φ Vout (Volt) 4.0 Vout EVALUATION PRECHARGE 2.0 0.0 0.00e+00 2.00e-09 t (nsec) 4.00e-09 6.00e-09 Dynamic 4 Input NAND Gate VDD Out In1 In2 In3 In4 φ GND Reliability Problems — Charge Leakage VDD φ φ Mp Out (1) CL t A (2) φ Vout precharge evaluate Me t (a) Leakage sources (b) Effect on waveforms Dynamic circuits a minimal clock rate Minimum Clockrequire Frequency: > 1 MHz Charge Sharing (redistribution) case 1) if ∆V out < VTn VDD φ Mp Out CL A Ma B=0 φ Mb Me X Ca Cb C L VDD = C L Vout ( t ) + Ca ( VDD – V Tn ( V X ) ) or Ca ∆ V out = Vout ( t ) – V DD = – -------- ( V DD – V Tn ( V X ) ) CL case 2) if ∆V out > VTn C a -⎞ ⎛ --------------------∆Vout = –V DD ⎜ Ca + CL ⎟ ⎝ ⎠ Minimize Charge Sharing • Keep the change in storage voltage below | Vtp | – the output might be connected to a static inverter as in Domino logic Vtp Ca < = 0.2 C L VDD − Vtn • Ca is normally smaller than CL, but if there is series connection of NMOS transistors, internal capacitances can be strung together and that can increase the voltage change Charge Redistribution - Solutions VDD VDD φ Mp φ Mbl Mp Mbl Out Out A Ma A Ma B Mb B Mb φ Me φ Me (a) Static bleeder (b) Precharge of internal nodes φ Clock Feedthrough VDD φ could potentially forward bias the diode Mp Out CL A B φ Ma Mb Me 5V φ X Ca Cb overshoot out Clock Feedthrough and Charge Sharing feedthrough output without redistribution (Ma off) 6 out 4 V (Volt) φ internal node in PDN 2 0 0 1 2 t (nsec) 3 Cascading Dynamic Gates VDD φ VDD φ Mp Mp Out2 Out1 V φ In Out1 VTn In ∆V Out2 φ φ Me (a) Me t (b) Only 0→1 Transitions allowed at inputs! Domino Logic VDD VDD VDD φ φ Mp Mp Out1 Mr Out2 In1 In2 PDN PDN In4 In3 φ Me φ Me Static Inverter with Level Restorer Domino Logic - Characteristics • Only non-inverting logic • Very fast - Only 1→0 transitions at input of inverter affects the next Domino • Static inverter increases noise immunity, increase the size of PMOS to increase VM • Proper sizing of inverter to drive the fan-out in optimal way • Add a level-restoring transistor to overcome charge sharing and charge loss np-CMOS (Zipper CMOS) VDD φ In1 In2 In3 Mp PDN VDD φ Out1 Me PUN In4 Out2 φ Me φ Mp Only 1→0 transitions allowed at inputs of PUN Reduced noise margins: NMH = | Vtp |, NML = | Vtn | Full Adder Circuit A A B B A B C A B C C -carry -sum C B A C A B B A B C A np CMOS Adder VDD φ A1 VD D VDD φ φ B1 B1 A1 A1 φ φ B1 B0 φ Ci0 Carry Path B1 VDD A0 φ Ci1 A1 VDD φ B0 Ci1 S1 φ VDD A0 φ φ Ci2 VD D φ Ci1 A0 B0 φ Ci0 φ B0 A0 Ci0 S0 Manchester Carry Chain Adder VDD φ 0.5 P0 P1 M0 M1 3 Ci,0 φ 3.5 4 G0 3 2.5 G1 3.5 P2 M2 2.5 3 P3 M3 2 G2 2 1.5 G3 2.5 Total Area: 225 µm × 48.6 µm P4 M4 1.5 2 1 G4 1 1.5 Co,4 Adder Truth Table A + B(P) SUM CARRY C A B A.B(G) A+B 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 SUM = A + B + C = P + C CARRY = C if P = 1 CARRY = AB if P = 0 CARRY = G + PC CMOS Circuit Styles - Summary