outcomes
play

Outcomes I can use Karnaugh maps to synthesize combinational - PowerPoint PPT Presentation

9.1 9.2 Outcomes I can use Karnaugh maps to synthesize combinational functions with several outputs I can determine the appropriate size and contents of a memory Unit 9 to implement any logic function (i.e. truth table) Implementing


  1. 9.1 9.2 Outcomes • I can use Karnaugh maps to synthesize combinational functions with several outputs • I can determine the appropriate size and contents of a memory Unit 9 to implement any logic function (i.e. truth table) Implementing Combinational Functions with Karnaugh Maps or Memories 9.3 9.4 Logic Function Synthesis • Given a function description as a T.T. or canonical form, how can we arrive at a circuit implementation or equation (i.e. perform logic synthesis)? • First method – Minterms / maxterms • Can simplify to find minimal 2-level implementation A new way to synthesize your logic functions • Use a decoder + 1 gate per output KARNAUGH MAPS • New, second method – Karnaugh Maps • Minimal 2-level implementation (though not necessarily minimal 3-, 4-, … level implementation)

  2. 9.5 9.6 Gray Code Karnaugh Maps • Different than normal binary ordering • If used correctly, will always yield a minimal, • Reflective code __________ implementation – When you add the (n+1) th bit, reflect all the previous n-bit combinations – There may be a more minimal 3-level, 4-level, 5- • Consecutive code words differ by only 1-bit level… implementation but K-maps produce the minimal two-level (SOP or POS) implementation 0 0 0 0 0 differ by 0 1 0 0 1 when you move to • Represent the truth table graphically as a only 1-bit differ by the next bit, reflect 1 1 0 1 1 only 1-bit the previous series of adjacent ________ that allows a 1 0 0 1 0 combinations human to see where variables will cancel 2-bit Gray code differ by only 1-bit 3-bit Gray code 9.7 9.8 Karnaugh Map Construction Karnaugh Maps W X Y Z F • Every square represents 1 input combination 0 0 0 0 0 0 0 0 1 1 • Must label axes in Gray code order 0 0 1 0 1 0 0 1 1 1 • Fill in squares with given function values 0 1 0 0 0 WX 00 01 11 10 YZ F= Σ XYZ (1,4,5,6) G= Σ WXYZ (1,2,3,5,6,7,9,10,11,14,15) 0 1 0 1 1 0 4 12 8 0 0 0 0 00 0 1 1 0 1 XY WX 00 01 11 10 00 01 11 10 1 5 13 9 Z YZ 0 1 1 1 1 1 1 0 1 01 0 2 6 4 0 4 12 8 0 0 1 1 0 0 0 0 1 0 0 0 0 0 00 3 7 15 11 1 0 0 1 1 1 1 1 1 11 1 3 7 5 1 5 13 9 1 0 0 1 1 1 0 1 1 01 1 0 1 0 1 2 6 14 10 1 1 1 1 1 0 1 1 1 10 3 7 15 11 1 1 1 1 3 Variable Karnaugh Map 11 1 1 0 0 0 2 6 14 10 1 1 0 1 0 1 1 1 1 10 1 1 1 0 1 4 Variable Karnaugh Map 1 1 1 1 1

  3. 9.9 9.10 Karnaugh Maps Karnaugh Maps • Squares with a '1' represent minterms • Groups of adjacent 1’s will always simplify to smaller • Squares with a '0' represent maxterms product term than just individual minterms Maxterm: w’ + x’ + y + z Maxterm: WX F= Σ XYZ (0,2,4,5,6) 00 01 11 10 w’ + x + y + z YZ 0 4 12 8 0 0 0 0 00 XY 00 01 11 10 Z 1 5 13 9 0 2 6 4 1 1 0 1 1 1 1 1 01 0 Minterm: w•x’•y•z 3 7 15 11 1 3 7 5 1 1 1 1 0 0 0 1 11 1 Minterm: 2 6 14 10 1 1 1 1 10 w•x’•y•z’ 3 Variable Karnaugh Map 9.11 9.12 Karnaugh Maps Karnaugh Maps • Groups of adjacent 1’s will always simplify to smaller • Adjacent squares differ by 1-variable – This will allow us to use T10 = AB + AB’= A or product term than just individual minterms T10’ = (A+B’)(A+B) = A 3 Variable Karnaugh Map 4 Variable Karnaugh Map Difference in X: 010 & 110 F= Σ XYZ (0,2,4,5,6) x’yz’ + xyz’ XY WX 00 01 11 10 00 01 11 10 Z = yz’ YZ = m0 + m2 + m6 + m4 XY 00 01 11 10 0 2 6 4 0 4 12 8 Z = x’y’z’ + x’yz’ + xyz’ + xy’z’ 0 00 0 2 6 4 1 = 0001 1 1 1 1 = z’(x’y’ + x’y + xy + xy’) 0 4 = 0100 1 3 7 5 1 5 13 9 = z’(x’(y’+y) + x(y+y’)) 5 = 0101 1 01 1 3 7 5 = z’(x’+x) 7 = 0111 0 0 0 1 1 3 7 15 11 = z’ 13 = 1101 Difference in Y: 010 & 000 Difference in Z: 010 & 011 11 x’yz’ + x’y’z’ x’yz’ + x’yz Adjacent squares 3 Variable Karnaugh Map 0 = 000 = x’z’ = x’y 2 6 14 10 = m4 + m5 differ by 1-bit 2 = 010 Adjacent squares 10 = xy’z’ + xy’z = xy’(z’+z) differ by 1-bit 3 = 011 = xy’ 6 = 110

  4. 9.13 9.14 Karnaugh Maps K-Map Grouping Rules • 2 adjacent 1’s (or 0’s) differ by only one variable Cover the 1's [=on-set] or 0's [=off-set] with ______ • • 4 adjacent 1’s (or 0’s) differ by two variables groups as possible, but make those groups ________ • 8, 16, … adjacent 1’s (or 0’s) differ by 3, 4, … variables as possible • By grouping adjacent squares with 1’s (or 0’s) in them, we can come up with a simplified expression using T10 (or T10’ for 0’s) – Make them as large as possible even if it means "covering" a 1 (or 0) that's already a member of another group WX 00 01 11 10 • Make groups of ____________, ... and they must be YZ (w’+x’+y+z)•(w’+x’+y+z’) = 0 4 12 8 0 0 0 0 00 (w’+x’+y) rectangular or square in shape. w’•x’•y’•z + w’•x’•y•z + 1 5 13 9 w’•x•y’•z + w’•x•y•z 1 1 0 1 01 • Wrapping is legal = w’•z 3 7 15 11 w•x•y•z + w•x’•y•z = 1 1 1 1 11 w•y•z w’z are constant while all combos of x and y are present 2 6 14 10 1 1 1 1 10 (x’y’, x’y, xy’, xy) 9.15 9.16 Group These K-Maps Karnaugh Maps WX 00 01 11 10 YZ XY 0 4 12 8 00 01 11 10 Z 0 1 1 1 00 0 2 6 4 0 1 0 0 0 WX 1 5 13 9 00 01 11 10 0 1 1 1 YZ 01 1 3 7 5 0 4 12 8 1 0 0 0 0 0 1 1 1 3 7 15 11 00 0 1 1 1 11 1 5 13 9 1 1 1 0 01 2 6 14 10 XY 0 0 1 1 10 00 01 11 10 Z 3 7 15 11 0 2 6 4 1 1 1 0 11 1 1 0 0 0 2 6 14 10 1 3 7 5 0 0 0 1 • Cover the remaining ‘1’ with the largest 10 1 0 0 0 1 group possible even if it “reuses” already covered 1’s

  5. 9.17 9.18 Karnaugh Maps Group This • Groups can wrap around from: – Right to left – Top to bottom WX – Corners 00 01 11 10 YZ 0 4 12 8 0 0 0 0 00 WX WX 00 01 11 10 00 01 11 10 YZ YZ 1 5 13 9 1 1 0 1 0 4 12 8 0 4 12 8 01 0 0 1 0 1 0 0 1 00 00 3 7 15 11 1 1 1 1 1 5 13 9 1 5 13 9 11 1 0 0 1 0 0 0 0 01 01 2 6 14 10 1 1 1 1 3 7 15 11 3 7 15 11 10 1 0 0 1 0 0 0 0 11 11 2 6 14 10 2 6 14 10 0 0 1 0 1 0 0 1 10 10 F = X’Z + WXZ’ F = X’Z’ 9.19 9.20 K-Map Translation Rules Karnaugh Maps (SOP) W X Y Z F • When translating a group of 1’s, find the variable 0 0 0 0 0 values that are constant for each square in the 0 0 0 1 1 0 0 1 0 1 group and translate only those variables values to a 0 0 1 1 1 WX product term 0 1 0 0 0 00 01 11 10 YZ 0 4 12 8 0 1 0 1 1 0 0 0 0 • Grouping 1’s yields SOP 00 0 1 1 0 1 1 5 13 9 0 1 1 1 1 1 1 0 1 • When translating a group of 0’s, again find the 01 1 0 0 0 0 3 7 15 11 variable values that are constant for each square in 1 1 1 1 1 0 0 1 1 11 the group and translate only those variable values 1 0 1 0 1 2 6 14 10 1 1 1 1 10 1 0 1 1 1 to a sum term 1 1 0 0 0 1 1 0 1 0 • Grouping 0’s yields POS F = 1 1 1 0 1 1 1 1 1 1

  6. 9.21 9.22 Karnaugh Maps (SOP) Karnaugh Maps (SOP) W X Y Z F W X Y Z F 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 W’ WX WX 0 1 0 0 0 00 01 11 10 0 1 0 0 0 00 01 11 10 YZ YZ 0 1 0 1 1 0 4 12 8 0 1 0 1 1 0 4 12 8 0 0 0 0 0 0 0 0 00 00 0 1 1 0 1 0 1 1 0 1 1 5 13 9 1 5 13 9 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 01 01 1 0 0 0 0 1 0 0 0 0 Z 3 7 15 11 3 7 15 11 1 1 1 1 1 1 1 1 1 0 0 1 1 11 1 0 0 1 1 11 1 0 1 0 1 1 0 1 0 1 Y 2 6 14 10 2 6 14 10 1 1 1 1 1 1 1 1 10 10 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 F = Y 1 1 0 1 0 F = Y + W’Z + … 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 9.23 9.24 Karnaugh Maps (SOP) Karnaugh Maps (POS) W X Y Z F W X Y Z F 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 X’ X’ 0 0 1 1 1 WX WX 0 1 0 0 0 00 01 11 10 0 1 0 0 0 00 01 11 10 YZ YZ 0 4 12 8 0 4 12 8 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 00 00 0 1 1 0 1 0 1 1 0 1 1 5 13 9 1 5 13 9 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 01 01 1 0 0 0 0 1 0 0 0 0 Z 3 7 15 11 3 7 15 11 1 1 1 1 1 1 1 1 1 0 0 1 1 11 1 0 0 1 1 11 1 0 1 0 1 1 0 1 0 1 2 6 14 10 2 6 14 10 1 1 1 1 1 1 1 1 10 10 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 F = Y + W’Z + X’Z F = 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1

Recommend


More recommend