<<

ECE 410: VLSI Design Course Lecture Notes (Uyemura textbook)

Professor Andrew Mason Michigan University

ECE 410, Prof. A. Mason Lecture Notes Page 2.1 CMOS Circuit Basics • CMOS = complementary MOS drain source – uses 2 types of gate gate to create functions •nMOS source drain nMOS pMOS •pMOS • CMOS VDD CMOS – typically single power supply + CMOS VDD logic = – VDD, with Ground reference - logic circuit circuit • typically uses single power supply • VDD varies from 5V to 1V V •Logic Levels VDD logic 1 – all voltages between 0V and VDD voltages – Logic ‘1’ = VDD undefined – Logic ‘0’ = ground = 0V logic 0 voltages

ECE 410, Prof. A. Mason Lecture Notes Page 2.2 Switching Characteristics

•nMOS drain Vout nMOS –switching behavior gate • on = closed, when Vin > Vtn Vin nMOS – Vtn = nMOS “threshold voltage” + Vgs > Vtn = on Vgs – Vin is referenced to ground, Vin = Vgs - source • off = open, when Vin < Vtn

•pMOS + pMOS –switching behavior source Vsg • on = closed, when Vin < VDD - |Vtp| - pMOS – |Vtp| = pMOS “threshold voltage” magnitude Vin Vsg > |Vtp| = on gate – Vin is referenced to ground, Vin = VDD-Vsg Vsg = VDD - Vin • off = open, when Vin > VDD - |Vtp| drain

Rule to Remember: ‘source’ is at • lowest potential for nMOS • highest potential for pMOS

ECE 410, Prof. A. Mason Lecture Notes Page 2.3 Transistor Digital Behavior •nMOS drain Vout nMOS Vin Vout (drain) gate Vin nMOS 1 Vs=0 device is ON + Vgs > Vtn = on 0 ? device is OFF Vgs - source •pMOS Vin Vout (drain) pMOS + source 1 ? device is OFF Vsg 0 Vs=VDD=1 device is ON - pMOS Vin Vsg > |Vtp| = on gate Vsg = VDD - Vin Vin drain pMOS Vout VDD off VDD-|Vtp| on Notice: on When Vin = low, nMOS is off, pMOS is on When Vin = high, nMOS is on, pMOS is off Vtn off Æ Only one transistor is on for each digital voltage nMOS

ECE 410, Prof. A. Mason Lecture Notes Page 2.4 MOSFET Pass Characteristics • Pass characteristics: passing of voltage from drain (or source) to source (or drain) when device is ON (via gate voltage) • Each type of transistor is better than the other at passing (to output) one digital voltage – nMOS passes a good low (0) but not a good high (1) – pMOS passes a good high (1) but not a good low (0)

VDD VDD + nMOS Vgs=Vtn Passes a good low ON when gate 0 V ? VDD ?- Max high is VDD-Vtn is ‘high’ Vy = 0 V Vy = VDD-Vtn

0 V 0 V - pMOS Vsg=|Vtp| Passes a good high ON when gate VDD ? 0 V ? + Min low is |Vtp| is ‘low’ Vy = VDD Vy = |Vtp|

Rule to Remember ‘source’ is at lowest potential for nMOS and at highest potential for pMOS

ECE 410, Prof. A. Mason Lecture Notes Page 2.5 MOSFET Terminal Voltages • How do you find one terminal voltage if the other 2 are known? –nMOS • case 1) if Vg > Vi + Vtn, then Vo = Vi (Vg-Vi > Vtn) Vo – here Vi is the “source” so the nMOS will pass Vi to Vo Vg • case 2) if Vg < Vi + Vtn, then Vo = Vg-Vtn (Vg-Vi < Vtn) – here Vo is the “source” so the nMOS output is limited Vi For nMOS, max(Vo) = Vg-Vtn

–pMOS • case 1) if Vg < Vi - |Vtp|, then Vo = Vi (Vi-Vg > |Vtp|) Vi – here Vi is the “source” so the pMOS will pass Vi to Vo Vg • case 2) if Vg > Vi - |Vtp|, then Vo = Vg+|Vtp| (Vi-Vg < |Vtp|) Vo – here Vo is the “source” so the pMOS output is limited For pMOS, min(Vo) = Vg+|Vtp| IMPORTANT: Rules only apply if the devices is ON (e.g., Vg > Vtn for nMOS) ECE 410, Prof. A. Mason Lecture Notes Page 2.6 MOSFET Terminal Voltages: Examples –nMOSrules max(Vo) = Vg-Vtn • case 1) if Vg > Vi + Vtn, then Vo = Vi (Vg-Vi > Vtn) • case 2) if Vg < Vi + Vtn, then Vo = Vg-Vtn (Vg-Vi < Vtn) •nMOSexamples (Vtn=0.5V) Vo 2 1.5 Vo – 1: Vg=5V, Vi=2V acts as • Vg=5 > Vi +Vtn = 2.5 ⇒ Vo = 2V Vg5 Vg2 the source – 2: Vg=2V, Vi=2V • Vg=2 < Vi+Vtn = 2.5 ⇒ Vo = 1.5V 2Vi source 2Vi

–pMOSrules min(Vo) = Vg+|Vtp| • case 1) if Vg < Vi - |Vtp|, then Vo = Vi (Vi-Vg > |Vtp|) • case 2) if Vg > Vi - |Vtp|, then Vo = Vg+|Vtp| (Vi-Vg < |Vtp|) •pMOSexamples (Vtp=-0.5V) – 1: Vg=2V, Vi=5V 5Vi source 2Vi • Vg=2 < Vi-|Vtp|=4.5 ⇒ Vo = 5V Vg2 Vg2 acts as – 2: Vg=2V, Vi=2V the source • Vg=2 > Vi-|Vtp|=1.5 ⇒ Vo = 2.5V Vo 52.5Vo

ECE 410, Prof. A. Mason Lecture Notes Page 2.7 -Level Boolean Logic • are created by using sets of controlled • Characteristics of an assert-high switch

nMOS acts like an assert-high switch

– y = x • A, i.e. y = x if A = 1 AND, or multiply function

Series switches ⇒ AND function Parallel switches ⇒ OR function

a AND b a OR b

ECE 410, Prof. A. Mason Lecture Notes Page 2.8 Switch-Level Boolean Logic • Characteristics of an assert-low switch

pMOS acts like an y=x y=? assert-low switch

– y = x • A, i.e. y = x if A = 0 error in figure 2.5

Series assert-low switches ⇒ ? NOT function, combining assert- a b high and assert-low switches NOT (a OR b)

NOR

Remember This?? a=1 ⇒ SW1 closed, SW2 open ⇒ y=0 = a a • b = a + b, a + b = a • b DeMorgan relations a=0 ⇒ SW1 open, SW2 closed ⇒ y=1 = a

ECE 410, Prof. A. Mason Lecture Notes Page 2.9 CMOS “Push-Pull” Logic • CMOS Push-Pull Networks –pMOS assert-low pMOS •“on”when input is low logic • pushes output high inputs output –nMOS assert-high •“on”when input is high logic nMOS • pulls output low

• Operation: for a given logic function – one logic network (p or n) produces the logic function and pushes or pulls the output – the other network acts as a “load” to complete the circuit, but is turned off by the logic inputs – since only one network it active, there is no static current (between VDD and ground) •zero static power dissipation

ECE 410, Prof. A. Mason Lecture Notes Page 2.10 Creating Logic Gates in CMOS • All standard Boolean logic functions (INV, NAND, OR, etc.) can be produced in CMOS push-pull circuits.

• Rules for constructing logic gates using CMOS – use a complementary nMOS/pMOS pair for each input – connect the output to VDD through pMOS txs – connect the output to ground through nMOS txs assert-low pMOS – insure the output is always either high or low logic inputs output • CMOS produces “inverting” logic assert-high logic nMOS – CMOS gates are based on the – outputs are always inverted logic functions e.g., NOR, NAND rather than OR, AND Useful Logic Properties • Logic Properties 1 + x = 1 0 + x = x DeMorgan’s Rules 1 ⋅ x = x 0 ⋅ x = 0 Properties which can be proven (a ⋅ b)’ = a’ + b’ x + x’ = 1 x ⋅ x’ = 0 (a+b)(a+c) = a+bc a ⋅ a = a a + a = a a + a'b = a + b (a + b)’ = a’ ⋅ b’ ab + ac = a (b+c)

ECE 410, Prof. A. Mason Lecture Notes Page 2.11 Review: Basic Transistor Operation CMOS Circuit Basics + source Vg= Vsg Vout - pMOS Vin Vin assert-low pMOS Vin Vsg > |Vtp| = on 0 1 on = closed pMOS gate Vsg = VDD - Vin logic 1 ? off = open VDD drain off inputs output VDD-|Vtp| drain on assert-high Vg= nMOS gate Vout on logic Vin nMOS Vin + Vgs > Vtn = on 0 ? off = open Vtn Vgs off source 1 0 on = closed - nMOS CMOS Pass Characteristics ‘source’ is at lowest potential (nMOS) and highest potential (pMOS) VDD VDD + •nMOS Vgs=Vtn –0 in Æ 0 out nMOS 0 V VDD - –VDD in Æ VDD-Vtn out Vy = 0 V Vy = – strong ‘0’, weak ‘1’ VDD-Vtn •pMOS 0 V 0 V - Vsg=|Vtp| –VDD in Æ VDD out pMOS VDD 0 V + –0 in Æ |Vtp| out Vy = VDD Vy = |Vtp| – strong ‘1’, weak ‘0’

ECE 410, Prof. A. Mason Lecture Notes Page 2.12 Review: Switch-Level Boolean Logic

• assert-high switch

– y = x • A, i.e. y = x if A = 1

– series = AND a AND b

– parallel = OR a OR b

• assert-low switch

– y = x • A, i.e. y = x if A = 0 =x

– series = NOR a b

– parallel = NAND NOT (a OR b)

ECE 410, Prof. A. Mason Lecture Notes Page 2.13 CMOS Inverter • Inverter Function • Inverter Symbol • toggle binary logic of a x y

• Inverter Switch Operation • Inverter xy= x 0 1 =VDD Vin=VDD 1 0 • CMOS Inverter + Vsg - input low Æ output high input high Æ output low pMOS nMOS off/open nMOS on/closed Vin pMOS on/closed pMOS off/open Vout = Vin

pMOS “on” nMOS “on” nMOS Æ output high (1) + Æ output low (0) Vgs -

ECE 410, Prof. A. Mason Lecture Notes Page 2.14 nMOS Logic Gates • We will look at nMOS logic first, more simple than CMOS • nMOS Logic (no pMOS ) – assume a resistive load to VDD – nMOS switches pull output low based on inputs

VDD VDD (a) nMOS is off Æ output is high (1) nMOS Inverter =VDD VDD (b) nMOS is on Æ output is low (0)

nMOS NOR nMOS NAND

c = ab c = a+b

• parallel switches = OR function • series switches = AND function • nMOS pulls low (NOTs the output) • nMOS pulls low (NOTs the output)

ECE 410, Prof. A. Mason Lecture Notes Page 2.15 CMOS NOR Gate • NOR Symbol • NOR Truth Table xy x+y x x + y 0 0 1 y 0 1 0 1 0 0 • 1 1 0

“true” terms “false” terms y 0 1 g(x,y) = x • y • 1 + x • 0 + y • 0 x

0 1 0 • construct Sum of Products equation with all terms • each term represents a MOSFET path to the 1 0 0 output • ‘1’ terms are connected to VDD via pMOS • ‘0’ terms are connected to ground via nMOS

ECE 410, Prof. A. Mason Lecture Notes Page 2.16 CMOS NOR Gate • CMOS NOR Schematic g(x,y) = x • y • 1 + x • 0 + y • 0

x

y • output is LOW if x OR y is true • parallel nMOS g(x,y) = x + y • output is HIGH when x AND y are false x • series pMOS

• Notice: series-parallel arrangement – when nMOS in series, pMOS in parallel, and visa versa – true for all static CMOS logic gates – allows us to construct more complex logic functions

ECE 410, Prof. A. Mason Lecture Notes Page 2.17 CMOS NAND Gate •NAND Symbol •Truth Table •K-map xy x•y y 0 1 x x x • y 0 0 1 y 0 1 1 0 1 1 1 0 1 • CMOS Schematic 1 1 0 1 1 0

g(x,y) = (y•1) + (x•1) + (x • y • 0) x

• output is LOW if x AND y are true g(x,y) = x y • series nMOS y x • output is HIGH when x OR y is false • parallel pMOS

ECE 410, Prof. A. Mason Lecture Notes Page 2.18 3-Input Gates •NOR3 •Alternate Schematic x x x+y+z • what function? y z y z g(x,y) = x+y+z •NAND3 x y

xy

x yz g(x,y) = x y z z • note shared gate inputs y • is input order important? x x y z • in series, parallel, both? x y z • this schematic resembles how the circuit will look in physical layout

ECE 410, Prof. A. Mason Lecture Notes Page 2.19 Complex • General logic functions –for example f = a • (b + c), f = (d • e) + a • (b + c)

• How do we construct the CMOS gate? – use DeMorgan principles to modify expression • construct nMOS and pMOS networks a • b = a + b a + b = a • b

– use Structured Logic (covered only briefly in ECE410) •AOI (AND OR INV) • OAI (OR AND INV)

ECE 410, Prof. A. Mason Lecture Notes Page 2.20 Using DeMorgan •DeMorganRelations • pMOS and bubble pushing –NAND-OR rule a • b = a + b – Parallel-connected pMOS • bubble pushing illustration yx x x + y x x y equivalent to g(x,y) = x + y = x y y x y y x + y • assert-low OR • bubbles = inversions • creates NAND function – Series-connected pMOS –NOR-AND rule a + b = a • b

x x x x x y equivalent y y y to y x y x + y g(x,y) = x y = x + y to implement pMOS this way, must push all bubbles • assert-low AND to the inputs and remove all NAND/NOR output bubbles •creates NOR function

ECE 410, Prof. A. Mason Lecture Notes Page 2.21 Review: CMOS NAND/NOR Gates

•NOR Schematic •NAND Schematic

x x

y g(x,y) = x + y g(x,y) = x y y x x

• output is LOW if x OR y is true • output is LOW if x AND y are true • parallel nMOS • series nMOS • output is HIGH when x AND y are false • output is HIGH when x OR y is false • series pMOS • parallel pMOS

ECE 410, Prof. A. Mason Lecture Notes Page 2.22 Rules for Constructing CMOS Gates The Mathematical Method • Given a logic function F = f(a, b, c) • Reduce (using DeMorgan) to eliminate inverted operations – inverted variables are OK, but not operations (NAND, NOR) • Form pMOS network by complementing the inputs Fp = f(a, b, c) • Form the nMOS network by complementing the output Fn = f(a, b, c) = F • Construct Fn and Fp using AND/OR series/parallel

MOSFET structures x – series = AND, parallel = OR

EXAMPLE: g(x,y) = x y F = ab ⇒ y x Fp = a b = a+b; OR/parallel Fn = ab = ab; AND/series

ECE 410, Prof. A. Mason Lecture Notes Page 2.23 CMOS Combinational Logic Example • Construct a CMOS logic gate to implement the function:

F = a • (b + c) a F 14 transistors (cascaded gates) b c •pMOS •nMOS – Apply DeMorgan expansions – Invert output for nMOS F = a + (b + c) 6 transistors Fn = a • (b + c) F = a + ( b • c ) (CMOS) – Apply DeMorgan – Invert inputs for pMOS none needed a b Fp = a + (b • c) – Resulting Schematic – Resulting Schematic c F=a(b+c) F=a(b+c) ab a a bc c b c

F=a(b+c)

ECE 410, Prof. A. Mason Lecture Notes Page 2.24 Structured Logic • Recall CMOS is inherently Inverting logic • Can used structured circuits to implement general logic functions •AOI:implements logic function in the order AND, OR, NOT (Invert) –Example: F = a •b + c •d • operation order: i) a AND b, c AND d, ii) (ab) OR (cd), iii) NOT – Inverted Sum-of-Products (SOP) form •OAI:implements logic function in the order OR, AND, NOT (Invert) –Example: G = (x+y) • (z+w) • operation order: i) x OR y, z OR w, ii) (x+y) AND (z+w), iii) NOT – Inverted Product-of-Sums (POS) form • Use a structured CMOS array to realize such functions

ECE 410, Prof. A. Mason Lecture Notes Page 2.25 AOI/OAI nMOS Circuits

•nMOS AOI structure X = a •b + c •d – series txs in parallel

•nMOS OAI structure –series of parallel txs Y = a+e • b+f

e X b X

error in textbook Figure 2.45

ECE 410, Prof. A. Mason Lecture Notes Page 2.26 AOI/OAI pMOS Circuits • pMOS AOI structure • pMOS OAI structure – series of parallel txs – series txs in parallel – opposite of nMOS –opposite of nMOS (series/parallel) (series/parallel)

Complete CMOS AOI/OAI circuits

ECE 410, Prof. A. Mason Lecture Notes Page 2.27 Implementing Logic in CMOS • Reducing Logic Functions – fewest operations ⇒ fewest txs – minimized function to eliminate txs – Example: x y + x z + x v = x (y + z + v) 5 operations: 3 operations: 3 AND, 2 OR 1 AND, 2 OR # txs = ___? # txs = ___?

• Suggested approach to implement a CMOS logic function – create nMOS network • invert output • reduce function, use DeMorgan to eliminate NANDs/NORs • implement using series for AND and parallel for OR – create pMOS network • complement each operation in nMOS network – i.e. make parallel into series and visa versa

ECE 410, Prof. A. Mason Lecture Notes Page 2.28 CMOS Logic Example • Construct the function below in CMOS F = a + b • (c + d); remember AND operations occur before OR

•nMOS – Group 1: c & d in parallel – Group 2: b in series with G1 –Group 3: a parallel to G2 follow same order in pMOS don’t compliment inputs •pMOS – Group 1: c & d in series –Group 2: b parallel to G1 – Group 3: a in series with G2

• Circuit has an OAOI organization (AOI with extra OR)

ECE 410, Prof. A. Mason Lecture Notes Page 2.29 Another Combinational Logic Example • Construct a CMOS logic gate which implements the function: F = a • (b + c)

•pMOS •nMOS – Apply DeMorgan expansions – Invert output for nMOS none needed Fn = a • (b + c) – Invert inputs for pMOS – Apply DeMorgan Fp = a • (b + c) Fn = a + (b+c ) – Resulting Schematic ? Fn = a + (b • c) – Resulting Schematic ?

ECE 410, Prof. A. Mason Lecture Notes Page 2.30 Yet Another Combinational Logic Example • Implement the function below by constructing the nMOS network and complementing operations for the pMOS: F = a • b • (a + c)

•nMOS a b – Invert Output c • Fn = a • b • (a + c) = a • b + (a + c) –Eliminate NANDsand NORs F=a b (a+c) a • Fn = a • b + ( a • c) –Reduce Function •Fn = a •(b + c) b c – Resulting Schematic ? – Complement operations for pMOS •Fp= a + (b •c)

ECE 410, Prof. A. Mason Lecture Notes Page 2.31 XOR and XNOR • Exclusive-OR (XOR) –a ⊕ b = a • b + a • b – not AOI form (no “I”)

•Exclusive-NOR –a ⊕ b = a • b + a • b – inverse of XOR

• XOR/XNOR in AOI form

–XOR: a ⊕ b = a • b + a • b, formed by complementing XNOR above

–XNOR: a ⊕ b = a • b + a • b, formed by complementing XOR thus, interchanging a and a (or b and b) converts from XOR to XNOR

ECE 410, Prof. A. Mason Lecture Notes Page 2.32 XOR and XNOR AOI Schematic

ab b

a a

note: errors in textbook figure –XOR: a ⊕ b = a • b + a • b uses exact same structure as –XNOR: a ⊕ b = a • b + a • b generic AOI

ECE 410, Prof. A. Mason Lecture Notes Page 2.33 CMOS Transmission Gates recall: pMOS passes a good ‘1’ •Function and nMOS passes a good ‘0’ – gated switch, capable of passing both ‘1’ and ‘0’ • Formed by a parallel nMOS and pMOS tx

schematic symbol

• Controlled by gate select , s and s – if s = 1, y = x, switch is closed, txs are on – if s = 0, y = unknown (high impedance), y = x s, for s=1 switch open, txs off

ECE 410, Prof. A. Mason Lecture Notes Page 2.34 Transmission Gate Logic Functions • TG circuits used extensively in CMOS – good switch, can pass full range of voltage (VDD-ground)

• 2-to-1 MUX using TGs F = Po • s + P1 • s

ECE 410, Prof. A. Mason Lecture Notes Page 2.35 More TG Functions • TG XOR and XNOR Gates a ⊕ b = a • b + a • b

= a b, b = 1 = a b, b = 1

= a b, b = 1 = a b, b = 1 a ⊕ b = a • b + a • b

= a, a = 1 • Using TGs instead of “static CMOS” f = a + a b = a b, a = 1 f = a + b –TG OR gate

ECE 410, Prof. A. Mason Lecture Notes Page 2.36