CMOS Circuits

CMOS Circuits

MOS Transistors Width W Gate Length SiO (insulator) L 2 Gate Drain Source Drain Source nMOS transistor n channel n p-type (doped) Gate substrate Conductor (poly) Drain Source pMOS transistor • Silicon substrate doped with impurities • Adding or cutting away insulating glass (SiO2) • Adding wires made of polycrystalline silicon (polysilicon, poly) or metal, insulated from the substrate by SiO2 1 MOS Transistor Switches a a N-switch S = 0 0 0 s s N b S = 1 1 1(degraded) b Good 0, Poor 1 2 1 MOS Transistor Switches a P-switch a S = 1 1 1 s s P S = 0 0 0(degraded) b b Good 1, Poor 0 CMOS switch s s (Transmission s gate) a b a C b a S = 0 b s S = 1 Good 0 s Good 1 3 Signal Strength • Strength of signal – How close it approximates ideal voltage source • VDD and GND rails are strongest 1 and 0 • nMOS pass strong 0 – But degraded or weak 1 • pMOS pass strong 1 – But degraded or weak 0 • Thus nMOS are best for pull-down network 4 2 Pass Transistors • Transistors can be used as switches 5 Transmission Gates • Pass transistors produce degraded outputs • Transmission gates pass both 0 and 1 well 6 3 Complementary CMOS • Complementary CMOS logic gates – nMOS pull-down network – pMOS pull-up network – a.k.a. static CMOS Pull-up OFF Pull-up ON Pull-down OFF Z (float) 1 Pull-down ON 0 X (not allowed) 7 Series and Parallel • nMOS: 1 = ON • pMOS: 0 = ON • Series: both must be ON • Parallel: either can be ON 8 4 Conduction Complement • Complementary CMOS gates always produce 0 or 1 • Ex: NAND gate – Series nMOS: Y=0 when both inputs are 1 – Thus Y=1 when either input is 0 – Requires parallel pMOS • Rule of Conduction Complements – Pull-up network is complement of pull-down – Parallel -> series, series -> parallel CMOS Logic Gates-1 Inverter VDD Pull-up path Input Pull-down Pull-up Output truth table truth table a a a b z a b z Pull-down path 0 0 Z 0 0 1 Gnd 0 1 Z 0 1 1 1 0 Z 1 0 1 V DD 1 1 Z Pull-up 1 1 0 2-input NAND tree NAND a b truth table a b z z 0 0 1 a Pull-down 0 1 1 tree b 1 0 1 Gnd 1 1 0 10 5 CMOS Logic Gates-2 VDD Pull-down Pull-up truth table truth table 2-input NOR a a b z a b z Pull-up 0 0 Z 0 0 1 tree b 0 1 0 0 1 Z 1 0 0 1 0 Z z 1 1 0 1 1 Z a b NOR Pull-down truth table tree Gnd a b z 0 0 1 • There is always (for all input combinations) a path 0 1 0 from either 1 or 0 to the output 1 0 0 • No direct path from 1 to 0 (low power dissipation) 1 1 0 • Fully restored logic • No ratio-ing is necessary (ratio-less logic) • Generalize to n-input NAND and n-input NOR? 11 CMOS Compound (Complex) Gates-1 VDD a b c d a z b • What function is implemented by this circuit? c d Gnd 12 6 Compound Gates-2 How to implement VDD F = ab + bc + ca? a b • F = ab + bc + ca c b VDD a c F F a c a b b c Gnd Gnd 13 Compound Gates • Compound gates can do any inverting function • Ex: 14 7 Example: O3AI 15 CMOS Multiplexers • Transmission gate implementation ( 4 transistors) • Assume s is available s a s F = as + bs s b s • Complex gate implementation based on F = as + bs requires 10 transistors 16 8 And-Or-Invert (AOI) Gates a b c Pull-up network d e F F f g a d f h b e g c h Gnd 17 Or-And-Invert (OAI) Gate Pull-up a network b c d F F e a b c f g h d e f g h Gnd • Generally, complex CMOS gates can be derived directly from maxterms of the function (as in a Karnaugh map) 18 9 Designing Complex Gates Using K-Maps cd ab 00 01 11 10 00 1 1 1 1 Pull-up network 01 1 0 0 0 11 0 0 0 0 b F 10 1 1 1 1 a d c F = ab + bd + bc = b(a+d+c) F = b + acd (how many transistors?) 19 Graph Models How to generate pull-up circuit from the pull-down circuit? • Draw pull-down graph for pull-down circuit – Every vertex is a source-drain connection – Every edge is an nMOS transistor • Generate pull-up graph from the pull-down graph – Add vertex for every “region” of pull-down graph – Add edge between between vertices lying in adjacent “regions” – Pull-up circuit corresponds to pull-up graph 20 10 Graph Models Pull-up VDD Pull-down circuit I3 circuit a b a d I1 I2 b c d c Gnd I a 3 d I1 I V 2 DD b c Gnd Pull-down Pull-up 21 Tristates • Tristate buffer produces Z when not enabled EN A Y 0 0 Z 0 1 Z 1 0 0 1 1 1 22 11 Nonrestoring Tristate • Transmission gate acts as tristate buffer – Only two transistors – But nonrestoring • Noise on A is passed on to Y 23 Tristate Inverter • Tristate inverter produces restored output – Violates conduction complement rule – Because we want a Z output 24 12 Multiplexers • 2:1 multiplexer chooses between two inputs S D1 D0 Y 0 X 0 0 0 X 1 1 1 0 X 0 1 1 X 1 25 Gate-Level Mux Design • How many transistors are needed? 20 26 13 Transmission Gate Mux • Nonrestoring mux uses two transmission gates – Only 4 transistors 27 Inverting Mux • Inverting multiplexer – Use compound AOI22 – Or pair of tristate inverters – Essentially the same thing • Noninverting multiplexer adds an inverter 28 14 CMOS Exclusive-Nor Gate TG1 a • 8-transistor implementation F = a b b TG2 a b TG1 TG2 F 0 0 nonconducting conducting B (1) 0 1 nonconducting conducting B (0) 1 0 conducting nonconducting B (0) 1 1 conducting nonconducting B (1) • Better, 6-transistor implementation is possible! 29 4:1 Multiplexer • 4:1 mux chooses one of 4 inputs using two selects – Two levels of 2:1 muxes – Or four tristates 30 15 D Latch • When CLK = 1, latch is transparent – D flows through to Q like a buffer • When CLK = 0, the latch is opaque – Q holds its old value independent of D • a.k.a. transparent latch or level-sensitive latch 31 Memory Elements: Latches and Flip-Flops • Difference between a latch and a flip-flop? D C Q Positive level-sensitive D-latch C Recirculating latch • How to design negative Clock Q level-sensitive D-latch? 32 16 D Latch Design • Multiplexer chooses D or old Q 33 Memory Elements: Latches and Flip-Flops Clock = 1 Clock = 0 D Q Q Q changes faster than Q Q Q 34 17 D Latch Operation 35 D Flip-flop • When CLK rises, D is copied to Q • At all other times, Q holds its value • a.k.a. positive edge-triggered flip-flop, master- slave flip-flop 36 18 D Flip-flop Design • Built from master and slave D latches 37 Flip-Flop Design Master Slave QM D C C Q C C • Positive edge-triggered D flip-flop Clock • How do we obtain the Q output? QM Clock = 0 D Q QM Q Clock = 1 38 19 D Flip-flop Operation 39 Race Condition • Back-to-back flops can malfunction from clock skew – Second flip-flop fires late – Sees first flip-flop change and captures its result – Called hold-time failure or race condition 40 20 Nonoverlapping Clocks • Nonoverlapping clocks can prevent races – As long as nonoverlap exceeds clock skew • We will use them in this class for safe design – Industry manages skew more carefully instead 41 Design Representation Levels • Design domains Gajski and Kuhn’s Y-chart – Behavioral (layered like an onion) – Structural Structural – Physical Behavioral Algorithms Processor Boolean equations Gates Differential equations Transistors Polygons • Hardware description languages commonly used at Cells behavioral level, e.g. VHDL, Verilog Chip Physical (geometric) • Example: Consider the carry function co = ab + bc + cia 42 21 Verilog Example (Behavioral) Boolean equation form: Boolean truth table form: module carry (co, a, b, ci); primitive carry (co, a, b, ci); output co; input a, b, ci; output co; assign input a, b, ci; table co = (a & b) | (a & ci) | (b & ci); end module // a b c co 1 1 ? : 1; Timing information: 1 ? 1 : 1; ? 1 1 : 1; module carry (co, a, b, ci); 0 0 ? : 0; output co; 0 ? 0 : 0; input a, b, ci; ? 0 0 : 0; Wire #10 co = (a & b) | (a & ci) | (b & ci); end table end module end module co changes 10 time units after a, b, or c changes 43 Verilog Example (Structural) Structural representation of 4-bit adder (top-down) : module add (co, s, a, b, ci); output s, co; module add4 (s, c4, ci, a, b); 3-bit output [3:0] s; internal input a, b, ci; output [3:0] c4; signal sum s1 (s, a, b, ci); input [3:0] a, b; carry c1 (co, a, b, ci); input ci; end module wire [2:0] co; add a0 (co[0], s[0], a[0], b[0], ci); add a1 (co[1], …, b[1], co[0]); add a2 (co[2], …, , co[1]); module carry (co, a, b, ci); add a3 (c4, s[3], a[3], b[3], co[2]); output co; end module input a, b, ci; wire x, y, z; and g1 (y, z, b); and g2 (z, b, ci); and g3 (z, a, ci); Technology-independent or g4 (co, x, y, z); end module 44 22.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us