310 likes | 387 Views
Prof. Sirer CS 316 Cornell University. From Switches to Transistors and Gates. Origins. The most amazing and likely to be most long-lived invention of the 1800’s was…. Origins. The most amazing and likely to be most long-lived invention of the 1800’s was… The steam engine?
E N D
Prof. Sirer CS 316 Cornell University From Switches to Transistors and Gates
Origins • The most amazing and likely to be most long-lived invention of the 1800’s was…
Origins • The most amazing and likely to be most long-lived invention of the 1800’s was… • The steam engine? • The lightning rod? • The carbonated beverage?
Origins • The most amazing and likely to be most long-lived invention of the 1800’s was… THE ELECTRIC SWITCH
A switch • A switch is a simple device that can act as a conductor or isolator • Can be used for amazing things…
Switches + • Either (OR) • Both (AND) - - • One can build basic devices, but operation requires mechanical force
Transistors • What happens when switches are replaced with solid-state devices • The most amazing invention of the 1900s • Can be used for purposes other than switching (e.g. radios) • Two types, PNP and NPN - + P P N collector emitter collector collector base + NPN N N - P PNP base emitter emitter
P and N Transistors • PNP Transistor • Connect E to C whenbase = 0 • NPN Transistor • Connect E to C whenbase = 1 E E B B C C • Can be used to build primitives from which electronic machines can be constructed
Then and Now • The first transistor, on a workbench at AT&T Bell Laboratories in 1947 • An Intel Pentium has approximately 125 million transistors
Inverter + • Function: NOT • Called an inverter • Symbol: • Useful for taking the inverse of an input in out gnd in out Truth table
NAND Gate + • Function: NAND • Symbol: a a b out out b gnd
NOR Gate + out b • Function: NOR • Symbol: a gnd
Building Functions • NOT: • AND: • OR: • NAND and NOR are universal, can implement any function using just NAND or just NOR gates • useful for manufacturing • Can specify functions by describing gates, truth tables or logic equations a b a b
Logic Equations • AND • out = ab • OR • out = a + b • NOT • out = a
Identities • Identities are useful for manipulating logic equations • For purposes of optimization & ease of implementation • a + a = 1 • a + 0 = a • a + 1 = 1 • aa = 0 • a0 = 0 • a1 = a • a(b+c) = ab + ac • (a + b) = a b • (a b) = a + b • a + a b = a + b
Logic Manipulation • Can manipulate logic equations algebraically • Can also use a truth table to prove equivalence • Example: (a+b)(a+c) = a + bc (a+b)(a+c) = aa + ab + ac + bc = a + a(b+c) + bc = a(1 + (b+c)) + bc = a + bc
Logic Minimization • A common problem is how to implement a desired function most efficiently • One can derive the equation from the truth table • How does one find the most efficient equation? • Manipulate algebraically until satisfied • Use Karnaugh maps for all outputs that are 1, take the correspondingminterm, OR the minterms toobtain the result in “sum of products” form
Karnaugh maps • Encoding of the truth table where adjacent cells differ in only one bit ab 00 01 11 10 Corresponding Karnaugh map truth tablefor AND
Bigger Karnaugh Maps a a b 4-inputfunc 3-inputfunc y b y c d c ab c 00 01 11 10 ab cd 0 00 01 11 10 00 1 01 11 10
Minimization with Karnaugh maps (1) • Sum of minterms yields • abc + abc + abc + abc
Minimization with Karnaugh maps (2) • Sum of minterms yields • abc + abc + abc + abc • Karnaugh maps identify which inputs are (ir)relevant to the output ab c 00 01 11 10 0 1
Minimization with Karnaugh maps (2) • Sum of minterms yields • abc + abc + abc + abc • Karnaugh map minimization • Cover all 1’s • Group adjacent blocks of 2n 1’s that yield a rectangular shape • Encode the common features of the rectangle • out = ab + ac ab c 00 01 11 10 0 1
Karnaugh Minimization Tricks (1) ab c 00 01 11 10 • Minterms can overlap • out = bc + ac + ab • Minterms can span 2, 4, 8 or more cells • out = c + ab 0 1 ab c 00 01 11 10 0 1
Karnaugh Minimization Tricks (2) ab cd 00 01 11 10 00 • The map wraps around • out = bd • out = bd 01 11 10 ab cd 00 01 11 10 00 01 11 10
Karnaugh Minimization Tricks (3) ab cd 00 01 11 10 00 • “Don’t care” values can be interpreted individually in whatever way is convenient • assume all x’s = 1 • out = d • assume middle x’s = 0 • assume 4th column x = 1 • out = bd 01 11 10 ab cd 00 01 11 10 00 01 11 10
Multiplexors a 0 • A multiplexor selects between multiple inputs • out = a, if d = 0 • out = b, if d = 1 • Build truth table • Build Karnaugh map • Derive logic diagram b d
a 0 b d Multiplexor Implementation • Build a truth table
a 0 b d Multiplexor Implementation • Build the Karnaugh map ab d 00 01 11 10 0 1
a 0 b d Multiplexor Implementation • Derive minimal logic equation • out = ad + bd ab d 00 01 11 10 0 1
a 0 b d Multiplexor Implementation • Draw the circuit • out = ad + bd ab d 00 01 11 10 0 1 a out d b
Summary • We can now implement any logic circuit • Can do it efficiently, using Karnaugh maps to find the minimal terms required • Can use either NAND or NOR gates to implement the logic circuit • Can use P- and N-transistors to implement NAND or NOR gates