Level 5 — MasteryCMOS Circuit Design

CMOS Circuit Design

75 minutes60 marksprintable — key stays hidden on paper

Time limit: 75 minutes Total marks: 60 Instructions: Answer all questions. Show all derivations. Use the alpha-power / long-channel MOSFET models as indicated. State assumptions clearly.


Question 1 — Static VTC, Noise Margins & Power (24 marks)

A CMOS inverter is built with a supply VDD=1.8 VV_{DD}=1.8\text{ V}. The transistors obey the long-channel model with threshold voltages VTn=0.4 VV_{Tn}=0.4\text{ V}, VTp=0.4 V|V_{Tp}|=0.4\text{ V}, and transconductance gains kn=μnCox(W/L)nk_n = \mu_n C_{ox}(W/L)_n, kp=μpCox(W/L)pk_p = \mu_p C_{ox}(W/L)_p.

(a) Derive the condition on the ratio kn/kpk_n/k_p that makes the inverter symmetric — i.e. places the switching threshold VMV_M (where Vin=VoutV_{in}=V_{out}) at exactly VDD/2V_{DD}/2. Assume both devices are saturated at VMV_M. State the general expression for VMV_M first, then specialise. (6)

(b) For the symmetric case, both devices are in saturation over a small window around VMV_M. Model the gain in the transition region as g=gm,n+gm,p(go,n+go,p)g = -\dfrac{g_{m,n}+g_{m,p}}{(g_{o,n}+g_{o,p})}. Taking the finite output conductance from channel-length modulation go=λIDg_o = \lambda I_D with λ=0.1 V1\lambda = 0.1\text{ V}^{-1} for both devices, and gm=2kIDg_m = \sqrt{2 k I_D}, and given the through-current at VMV_M is ID=50 μAI_D = 50\ \mu\text{A} with kn=kp=k=250 μA/V2k_n=k_p=k=250\ \mu\text{A/V}^2, compute the small-signal voltage gain at VMV_M. (5)

(c) Using the piecewise VTC approximation where VILV_{IL} and VIHV_{IH} are the input voltages at which dVoutdVin=1\frac{dV_{out}}{dV_{in}}=-1, and given a symmetric VTC has been measured to give VOH=1.8 VV_{OH}=1.8\text{ V}, VOL=0 VV_{OL}=0\text{ V}, VIL=0.75 VV_{IL}=0.75\text{ V}, VIH=1.05 VV_{IH}=1.05\text{ V}, compute NMHNM_H and NMLNM_L. Comment on symmetry. (4)

(d) The inverter drives a load capacitance CL=15 fFC_L=15\text{ fF} and switches at frequency f=200 MHzf=200\text{ MHz} with activity factor α=0.4\alpha=0.4. Leakage current per gate is Ileak=8 nAI_{leak}=8\text{ nA}. Compute (i) dynamic power, (ii) static power, (iii) the total power, and (iv) state which dominates and by what factor. (6)

(e) Explain physically why short-circuit power exists in a real inverter but is neglected in parts (a)–(d), and name one design measure that reduces it. (3)


Question 2 — Pull-down networks, delay & power–delay product (22 marks)

Consider a CMOS gate implementing Y=A(B+C)Y = \overline{A\,(B+C)}.

(a) Design the transistor-level schematic: give the pull-down network (PDN) and the dual pull-up network (PUN), stating the series/parallel structure and total transistor count. Justify the PUN as the dual of the PDN. (6)

(b) Size the PDN transistors so the worst-case pull-down resistance equals that of a reference inverter NMOS of "unit" width WW and on-resistance RR. Give the width multiplier for each PDN transistor and identify the worst-case input pattern. (5)

(c) Model the worst-case discharge path as a chain of series transistors driving CL=20 fFC_L=20\text{ fF}. Using the Elmore delay for two equal series resistors ReqR_{eq} each with internal node capacitance Ci=4 fFC_i=4\text{ fF}, the delay is tpHL=0.69(ReqCi+2Req(Ci+CL))/2(simplified 2-stage RC).t_{pHL}=0.69\left(R_{eq}C_i + 2R_{eq}(C_i+C_L)\right)/2 \quad\text{(simplified 2-stage RC).} Actually use the standard Elmore form tp=0.69iRioutCit_p = 0.69\sum_i R_{i\to out}C_i. With two series NMOS each Req=6 kΩR_{eq}=6\text{ k}\Omega, one intermediate node cap Cx=4 fFC_x=4\text{ fF} and output cap CL=20 fFC_L=20\text{ fF}, compute tpHLt_{pHL}. (6)

(d) Compute the power–delay product (PDP) for one switching event given VDD=1.8 VV_{DD}=1.8\text{ V}, CL=20 fFC_L=20\text{ fF}, using Edyn=CLVDD2E_{dyn}=C_L V_{DD}^2 per full cycle and tpt_p from part (c). Explain in one sentence why the PDP is the fundamental figure of merit rather than power or delay alone. (5)


Question 3 — Dynamic / Domino logic & transmission gates (14 marks)

(a) A dynamic (precharge–evaluate) CMOS gate suffers from charge sharing and cascading problems. Explain both, then prove that cascading dynamic gates directly (dynamic → dynamic) can produce an erroneous logic-1 glitch, and show how Domino logic fixes it. (6)

(b) A transmission gate passes a logic-1 from VDD=1.8 VV_{DD}=1.8\text{ V}. For an NMOS-only pass transistor with VTn=0.4 VV_{Tn}=0.4\text{ V} (including body effect raising it to VTn,eff=0.55 VV_{Tn,eff}=0.55\text{ V} at the relevant node), find the maximum output "high" voltage. Then explain why the full transmission gate (parallel NMOS+PMOS) restores the full VDDV_{DD}, and give the resulting logic swing improvement. (5)

(c) Charge-sharing numeric: a dynamic node with Cdyn=10 fFC_{dyn}=10\text{ fF} precharged to 1.8 V1.8\text{ V} shares charge with an internal parasitic Cint=3 fFC_{int}=3\text{ fF} initially at 0 V0\text{ V}. Compute the settled voltage and state whether it could be misread as logic-0 if VIL=0.75 VV_{IL}=0.75\text{ V}. (3)

Answer keyMark scheme & solutions

Question 1

(a) At VMV_M, Vin=VoutV_{in}=V_{out}; both devices saturated, currents equal: 12kn(VMVTn)2=12kp(VDDVMVTp)2\tfrac12 k_n (V_M-V_{Tn})^2 = \tfrac12 k_p (V_{DD}-V_M-|V_{Tp}|)^2 Solving for VMV_M: VM=VTn+kp/kn(VDDVTp)1+kp/kn(2)V_M=\frac{V_{Tn}+\sqrt{k_p/k_n}\,(V_{DD}-|V_{Tp}|)}{1+\sqrt{k_p/k_n}}\quad(2) Set VM=VDD/2V_M=V_{DD}/2. With VTn=VTpV_{Tn}=|V_{Tp}|, symmetry requires kp/kn=1\sqrt{k_p/k_n}=1, i.e. kn=kp(2)\boxed{k_n=k_p}\quad(2) Check: VM=0.4+1(1.80.4)2=1.82=0.9=VDD/2V_M=\dfrac{0.4+1\cdot(1.8-0.4)}{2}=\dfrac{1.8}{2}=0.9=V_{DD}/2. ✓ (2) (Physically since μn>μp\mu_n>\mu_p, this needs Wp/Wn=μn/μpW_p/W_n=\mu_n/\mu_p.)

(b) gm=2kID=2250μ50μ=2.5×108=1.5811×104g_m=\sqrt{2kI_D}=\sqrt{2\cdot250\mu\cdot50\mu}=\sqrt{2.5\times10^{-8}}=1.5811\times10^{-4} S each (2). gm,n+gm,p=3.1623×104g_{m,n}+g_{m,p}=3.1623\times10^{-4} S. go=λID=0.150μ=5×106g_o=\lambda I_D=0.1\cdot50\mu=5\times10^{-6} S each; sum =105=10^{-5} S (2). g=3.1623×1041.0×105=31.6g=-\frac{3.1623\times10^{-4}}{1.0\times10^{-5}}=-31.6 Gain magnitude 31.6\approx31.6. (1)

(c) NMH=VOHVIH=1.81.05=0.75 VNM_H=V_{OH}-V_{IH}=1.8-1.05=0.75\text{ V} (2). NML=VILVOL=0.750=0.75 VNM_L=V_{IL}-V_{OL}=0.75-0=0.75\text{ V} (2). Comment: NMH=NML=0.75NM_H=NM_L=0.75 V → symmetric noise margins, consistent with the symmetric VM=VDD/2V_M=V_{DD}/2 design.

(d) (i) Pdyn=αCLVDD2f=0.415 fF(1.8)2200 MHzP_{dyn}=\alpha C_L V_{DD}^2 f = 0.4\cdot15\text{ fF}\cdot(1.8)^2\cdot200\text{ MHz} =0.415×10153.242×108=3.888×106=0.4\cdot15\times10^{-15}\cdot3.24\cdot2\times10^{8}=3.888\times10^{-6} W =3.888 μ=3.888\ \muW (2). (ii) Pstat=VDDIleak=1.88×109=1.44×108P_{stat}=V_{DD}I_{leak}=1.8\cdot8\times10^{-9}=1.44\times10^{-8} W =14.4 nW=14.4\text{ nW} (2). (iii) Ptot=3.888 μW+0.0144 μW=3.902 μP_{tot}=3.888\ \mu\text{W}+0.0144\ \mu\text{W}=3.902\ \muW (1). (iv) Dynamic dominates by factor 3.888μ/14.4n270×3.888\mu/14.4n\approx270\times (1).

(e) Short-circuit (crowbar) power occurs during the input transition when VTn<Vin<VDDVTpV_{Tn}<V_{in}<V_{DD}-|V_{Tp}|, so both NMOS and PMOS conduct simultaneously providing a direct VDDV_{DD}→GND path (2). It is neglected in the ideal αCV2f\alpha C V^2 f model which assumes instantaneous switching. Reducing it: keep input rise/fall times short (fast edges) / balance driver strengths (1).


Question 2

(a) Y=A(B+C)Y=\overline{A(B+C)}. PDN conducts (pulls low) when A(B+C)=1A(B+C)=1: NMOS A in series with (NMOS B parallel NMOS C) (2). PUN is the dual: PMOS A in parallel with (PMOS B series PMOS C) (2). Total = 6 transistors. Dual: series in PDN ↔ parallel in PUN and vice-versa, guaranteeing complementary conduction so exactly one network is on for any input (2).

(b) Reference NMOS width WW gives resistance RR. Series devices double effective resistance, so to match RR each series element must be sized 2W2W. In the PDN the worst path is A-then-(B or C): two series transistors. Size A = 2W2W, and B, C each =2W=2W (so any single ON parallel branch of resistance RR combines with A to 2R2R... to meet unit RR we set A=2W=2W, B=2W=2W, C=2W=2W) (3). Worst-case pattern: only one of B/C high (say B=1,C=0B=1,C=0, A=1A=1) → single series path B alone (no parallel help) → highest resistance (2).

(c) Elmore: node xx between the two series NMOS. tpHL=0.69[Req(Cx+CL)+(Req+Req)CL]t_{pHL}=0.69\big[R_{eq}(C_x+C_L)+(R_{eq}+R_{eq})C_L\big] — resistance from each cap to output:

  • CxC_x sees ReqR_{eq} (one transistor to output): ReqCxR_{eq}C_x
  • CLC_L sees 2Req2R_{eq} (both transistors): 2ReqCL2R_{eq}C_L tpHL=0.69[ReqCx+2ReqCL]t_{pHL}=0.69\,[R_{eq}C_x + 2R_{eq}C_L] =0.69[6k4fF+26k20fF]=0.69\,[6\text{k}\cdot4\text{fF}+2\cdot6\text{k}\cdot20\text{fF}] =0.69[24×1015+240×1015]=0.69\,[24\times10^{-15}+240\times10^{-15}] (V·s units→) =0.69264×1015 (kΩfF=1012s)=0.69\cdot264\times10^{-15}\ \text{(k}\Omega\cdot\text{fF}=10^{-12}\text{s}) RkΩCfF:60004×1015=2.4×1011R\text{k}\Omega\cdot C\text{fF}: 6000\cdot4\times10^{-15}=2.4\times10^{-11}, 2600020×1015=2.4×10102\cdot6000\cdot20\times10^{-15}=2.4\times10^{-10}; sum =2.64×1010=2.64\times10^{-10}. tpHL=0.692.64×1010=1.822×1010 s=182.2 pst_{pHL}=0.69\cdot2.64\times10^{-10}=1.822\times10^{-10}\text{ s}=182.2\text{ ps} (6).

(d) Edyn=CLVDD2=20 fF3.24=6.48×1014E_{dyn}=C_L V_{DD}^2=20\text{ fF}\cdot3.24=6.48\times10^{-14} J =64.8=64.8 fJ (2). PDP=EdynPDP=E_{dyn} per switching event is the energy =64.8=64.8 fJ; equivalently using P=EfP=E f and PDP=PtpPDP=P\cdot t_p gives energy per operation. (2) PDP is fundamental because it measures energy per operation, allowing fair comparison of technologies that trade power against speed (you can always lower power by slowing down) (1).


Question 3

(a) Charge sharing: during evaluate, the precharged output node redistributes charge with internal parasitic caps of the PDN, dropping the dynamic node voltage even when the logic should hold high, possibly to a false 0 (2). Cascading: a dynamic gate's output starts precharged HIGH; during evaluate it may fall, but before it falls the following dynamic gate (also precharged, input HIGH) may erroneously discharge → non-monotonic glitch producing wrong 1→0 (2). Domino inserts a static inverter after each dynamic stage; its output is precharged LOW, so during evaluate inputs to the next stage can only make 0→1 transitions (monotonically rising), which cannot falsely trigger a precharged-high dynamic node (2).

(b) NMOS passes high only up to VDDVTn,eff=1.80.55=1.25 VV_{DD}-V_{Tn,eff}=1.8-0.55=1.25\text{ V} (2) — the transistor cuts off when VGS=VDDVout=VTn,effV_{GS}=V_{DD}-V_{out}=V_{Tn,eff}. This is a degraded high (threshold drop) (1). The parallel PMOS passes a strong 1 (no threshold drop for high), so the transmission gate restores the output to full 1.8 V1.8\text{ V} (1). Swing improves from 001.251.25 V to 001.81.8 V, restoring full noise margin (1).

(c) Charge conservation: Vf=CdynVpreCdyn+Cint=101.813=1.3846 VV_f=\dfrac{C_{dyn}V_{pre}}{C_{dyn}+C_{int}}=\dfrac{10\cdot1.8}{13}=1.3846\text{ V} (2). Since 1.385 V>VIL=0.75 V1.385\text{ V}>V_{IL}=0.75\text{ V}, it is still read as logic-1 — no error here, though larger CintC_{int} would cause failure (1).

[
{"claim":"Q1a symmetric V_M equals VDD/2 = 0.9V","code":"VDD,VTn,VTp=1.8,0.4,0.4; VM=(VTn+1*(VDD-VTp))/(1+1); result = (VM==Rational(9,10)) or abs(float(VM)-0.9)<1e-9"},
{"claim":"Q1b gain magnitude approx 31.6","code":"k=250e-6; ID=50e-6; gm=sqrt(2*k*ID); go=0.1*ID; gain=(2*gm)/(2*go); result = abs(float(gain)-31.6228)<0.01"},
{"claim":"Q1d dynamic power 3.888 uW","code":"P=0.4*15e-15*(1.8**2)*200e6; result = abs(float(P)-3.888e-6)<1e-9"},
{"claim":"Q2c tpHL approx 182.2 ps","code":"Req=6000; Cx=4e-15; CL=20e-15; t=0.69*(Req*Cx+2*Req*CL); result = abs(float(t)-1.8216e-10)<1e-12"},
{"claim":"Q2d energy per event 64.8 fJ","code":"E=20e-15*(1.8**2); result = abs(float(E)-64.8e-15)<1e-18"},
{"claim":"Q3c charge sharing settles to 1.3846 V","code":"Vf=Rational(10*18,13*10); result = abs(float(Vf)-1.38462)<1e-4"}
]