بهينه سازي با نقشة کارنو Karnaugh Map. 2  Method of graphically representing the truth table that helps visualize adjacencies 2-variable K-map 3-variable.

Slides:



Advertisements
Similar presentations
Digital Logic Design Gate-Level Minimization
Advertisements

Boolean Algebra and Reduction Techniques
Gate-level Minimization
ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
ECE 301 – Digital Electronics Karnaugh Maps (Lecture #7) The slides included herein were taken from the materials accompanying Fundamentals of Logic Design,
ENGIN112 L8: Minimization with Karnaugh Maps September 19, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 8 Minimization with Karnaugh.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 6 Dr. Shi Dept. of Electrical and Computer Engineering.
Gate-Level Minimization. Digital Circuits The Map Method The complexity of the digital logic gates the complexity of the algebraic expression.
بهينه سازي با نقشة کارنو
Chapter 3 Simplification of Switching Functions
Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal approach to simplification that is.
Give qualifications of instructors: DAP
Gate Logic: Two Level Canonical Forms
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 3-1 Chapter #2: Two-Level Combinational Logic Section 2.1, Logic Functions.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.

EET 1131 Unit 5 Boolean Algebra and Reduction Techniques
Computer Engineering (Logic Circuits) (Karnaugh Map)
Introduction Gate-level minimization refers to the design task of finding an optimal gate-level implementation of Boolean functions describing a digital.
CS 151 Digital Systems Design Lecture 8 Minimization with Karnaugh Maps.
Week 3- slide 1 EE 231 Digital Electronics Fall 01 Gate Logic: Two-Level Simplification K-Map Method Examples F = A asserted, unchanged B varies G = B’,
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Chapter 2: Boolean Algebra and Logic Functions
Overview of Chapter 3 °K-maps: an alternate approach to representing Boolean functions °K-map representation can be used to minimize Boolean functions.
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Boolean Algebra and Digital Circuits
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
Department of Computer Engineering
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. K-Map (1)  Karnaugh Mapping is used to minimize the number of logic gates that are required in a digital circuit.
9/16/04UCB EECS150 D. Culler Fa04 1 EECS Components and Design Techniques for Digital Systems Lec 06 – Minimizing Boolean Logic 9/16-04 David Culler.
Optimization Algorithm
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
Chapter 3 Gate-Level Minimization
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
EE345 – Micro-Controllers Gate-Level Minimization Prof. Ahmad Abu-El-Haija.
Gate-level Minimization
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Computer Engineering (Logic Circuits) (Karnaugh Map)
Chapter3: Gate-Level Minimization Part 1 Origionally By Reham S. Al-Majed Imam Muhammad Bin Saud University.
Chapter 3 The Karnaugh Map
07 KM Page 1 ECEn/CS 224 Karnaugh Maps. 07 KM Page 2 ECEn/CS 224 What are Karnaugh Maps? A simpler way to handle most (but not all) jobs of manipulating.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
LOGIC GATES & BOOLEAN ALGEBRA
Unit 1 Minimization Techniques and Logic Gates. Introduction to Digital Systems Analog devices and systems process time-varying signals that can take.
Ahmad Almulhem, KFUPM 2010 COE 202: Digital Logic Design Combinational Logic Part 3 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC
THE K-MAP.
1 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
 Seattle Pacific University EE Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms.
Key Observation Adjacencies in the K-Map
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic 4: Cost of Logic Circuits and Karnaugh Maps José Nelson Amaral.
Karnaugh Maps (K maps).
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
CE1110: Digital Logic Design Gate Level Minimization Karnaugh Maps (K-Maps)
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
Chapter 2: Boolean Algebra and Logic Functions
Computer Organisation
Karnaugh Maps.
BASIC & COMBINATIONAL LOGIC CIRCUIT
Lecture 6 Logistics Last lecture Today’s lecture
Digital Logic Design I Gate-Level Minimization
Chapter 3 Gate-level Minimization.
Lecture 6 Karnaugh maps (K-maps) K-maps with “don’t cares”
COE 202: Digital Logic Design Combinational Logic Part 3
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
Presentation transcript:

بهينه سازي با نقشة کارنو Karnaugh Map

2  Method of graphically representing the truth table that helps visualize adjacencies 2-variable K-map 3-variable K-map 4-variable K-map A B AB C A B AB CD A C B D

3 Karnaugh Map  One cell (in K-map) = a row (in truth table)  one cell = a minterm (or a maxterm)  Multiple-cell areas = standard terms A B AB C A B AB CD A C B D

4 Karnaugh Map AB C A B f 1 (A,B,C) = m 1 + m 2 + m 4 + m 6 = A ’ B ’ C + A ’ BC ’ + AB ’ C ’ + ABC ’ ABCf1f1 000 m m m m m m m m

5 Karnaugh Map  Numbering Scheme: 00, 01, 11, 10 Gray Code - only a single bit changes from code word to next code word. A B AB C A B AB CD A C B D

6 Two-Variable Map (cont.)  Any two adjacent cells in the map differ by ONLY one variable, which appears complemented in one cell and uncomplemented in the other. Example:  m 0 (=A’B’) is adjacent to m 1 (=A’B) and m 2 (=AB’) but NOT m 3 (=AB) A B

7 Karnaugh Map  Adjacencies in the K-Map Wrap from first to last column Top row to bottom row AB C A B

8 2-Variable Map -- Example  f(x 1,x 2 ) = x 1 ’ x 2 ’ + x 1 ’ x 2 + x 1 x 2 ’ = m 0 + m 1 + m 2  1s placed in K-map for specified minterms m 0, m 1, m 2  Grouping (ORing) of 1s allows simplification  What (simpler) function is represented by each dashed rectangle?  m 0 + m 1 = x 1 ’ x 2 ’ + x 1 ’ x 2 = x 1 ’ (x 2 ’ + x 2 ) = x 1 ’  m 0 + m 2 = x 1 ’ x 2 ’ + x 1 x 2 ’ = x 2 ’ (x 1 ’ + x 1 ) = x 2 ’  Note m 0 covered twice x2x x1x

9 Minimization as SOP using K-map  Enter 1s in the K-map for each product term in the function  Group adjacent K-map cells containing 1s to obtain a product with fewer variables.  Groups must be in power of 2 (2, 4, 8, … )  Handle “ boundary wrap ”  Answer may not be unique

10 Minimization as SOP F = ? A asserted, unchanged B varies Cout = ? F(A,B,C) = ? G = ? B complemented, unchanged A varies

11 Minimization as SOP F = A A asserted, unchanged B varies Cout = AB + Bcin + ACin F(A,B,C) = A G = B' B complemented, unchanged A varies

12 More Examples F(A,B,C) =  m(0,4,5,7) F = F'(A,B,C) =  m(1,2,3,6) F' = F' : simply replace 1's with 0's and vice versa

13 More Examples F(A,B,C) =  m(0,4,5,7) F = B' C' + A C F'(A,B,C) =  m(1,2,3,6) F' = B C' + A' C F' simply replaces 1's with 0's and vice versa Why not group m4 and m5?

14 Simplification  Enter minterms of the Boolean function into the map, then group terms Example:  f(a,b,c) = bc ’ + abc + ab ’ c ab c ab  Result: f(a,b,c) = bc ’ + a

15 4-Variable Map F(A,B,C,D) =  m(0,2,3,5,6,7,8,10,11,14,15) F = m 10 m 14 m6m6 m2m2 10 m 11 m 15 m7m7 m3m3 11 m9m9 m 13 m5m5 m1m1 01 m8m8 m 12 m4m4 m0m CD AB

16 Four-variable Map Simplification  One square represents a minterm of 4 literals.  A rectangle of 2 adjacent squares represents a product term of 3 literals.  A rectangle of 4 squares represents a product term of 2 literals.  A rectangle of 8 squares represents a product term of 1 literal.  A rectangle of 16 squares produces a function that is equal to logic 1.

17 4-Variable Map F(A,B,C,D) =  m(0,2,3,5,6,7,8,10,11,14,15) F = C + A' B D + B' D'  Find the smallest number of the largest possible subcubes that cover the ON-set

18 Simplify for POS K-map Method: Circling Zeros to get product of sums form F = (B ’ + C + D) (A ’ + C + D ’ ) (B + C + D ’ ) F ’ = B C ’ D ’ + A C ’ D + B ’ C ’ D (F ’ ) ’ = (B C ’ D ’ + A C ’ D + B ’ C ’ D) ’ F = (B ’ + C + D) (A ’ + C + D ’ ) (B + C + D ’ ) Replace F by F ’, 0 ’ s become 1 ’ s and vice versa

19 Don’t Cares F(A,B,C,D) =  m(1,3,5,7,9) +  d(6,12,13) F = w/o don't cares F = w/ don't cares Don't Cares can be treated as 1's or 0's if it is advantageous to do so A'D + B' C' D C' D + A' D In Product of Sums form AB X0 11X X C CD A D B : F = D (A' + C') Same answer as above, but fewer literals

20 Example: Comparator Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the 3 output functions F F F D C B A F 1 A B = C D F 2 A B < C D F 3 A B > C D A B C D N 1 N 2

21 Comparator K-Maps F1 = F2 = F3 = A' B' C' D' + A' B C' D + A B C D + A B' C D' = (A xnor C) (B xnor D)  much simpler, but not in sum of products form 1 ’ s on K-map diagonals make XOR or XNOR A' B' D + B' C D + A' C B C' D' + A C' + A B D'

22 Example: Two Bit Adder Block Diagram and Truth Table A 4-variable K-map for each of the 3 output functions Cout

23 Adder K-Maps X = A C + B C D + A B D Z = B D' + B' D = B xor D Y = A' B' C + A B' C' + A' B C' D + A' B C D' + A B C' D' + A B C D = B' (A xor C) + A' B (C xor D) + A B (C xnor D) = B' (A xor C) + B (A xor C xor D) gate count reduced if XOR available 1's on diagonal suggest XOR! AB C CD A D B K-map forX AB C CD A D B K-map forY AB C CD A D B K-map forZ

24 Implementations of Y Two alternative implementations of Y with and without XOR Note: XOR typically requires 4 NAND gates to implement!

25 XOR xy ’ + yx ’ = xy ’ + yx ’ + xx ’ + yy ’ x(y ’ +x ’ ) + y(x ’ +y ’ ) x.(x.y) ’ + y. (x.y) ’ ((x.(x.y) ’ ) ’. (y. (x.y) ’ ) ’ ) ’ تبديل مدارها به فقط Nand: بعداً

26 Example: BCD Incrementer

27 Example: BCD Incrementer W = B C D + A D' X = B C' + B D' + B' C D Y = A' C' D + C D' Z = D' AB X1 00X0 01XX 00XX C CD A D B AB X1 00X0 00XX 11XX C CD A D B Z AB X0 11X0 00XX 11XX C CD A D B Y AB X0 01X0 10XX 01XX C CD A D B X W

28 Order Dependency Order is important AB C CD A D B

29 Definition of Terms Implicant:  single element of the ON-set or any group of elements that can be combined together in a K-map (= adjacency plane) Prime Implicant (PI) (maximal PI):  implicant (a circled set of 1-cells) satisfying the combining rule, such that if we try to make it larger (covering twice as many cells), it covers one or more 0s. Distinguished 1-cell:  an input combination that is covered by only one PI. Essential Prime Implicant (EPI):  a PI that covers one or more distinguished 1-cells.

30 Implicant, PI and EPI 6 Prime Implicants: A' B' D, B C', A C, A' C' D, A B, B' C D Essential Minimum cover = First: cover EPIs Then: minimum number of PIs = B C' + A C + A' B' D AB C CD A D B

31 Implicant, PI and EPI 5 Prime Implicants: B D, A B C', A C D, A' B C, A' C' D essential AB C CD A D B Minimum cover = First: cover EPIs Then: minimum number of PIs = A B C ‘ + A C D + A' B C + A' C' D

32 More Examples Prime Implicants: B D, C D, A C, B' C essential = BD + AC + B' C AB C CD A D B

33 Primes around A B C' D AB X XX C CD A D B Example Example: f(A,B,C,D) = m(4,5,6,8,9,10,13) + d(0,7,15) Initial K-map Primes around A' B C' D'

34 Example: Continued Primes around A B' C' D' AB X XX C CD A D B Essential Primes with Min Cover (each element covered once) AB X XX C CD A D B

35 5-Variable K-Map

36 5-Variable K-Map

37 5-Variable K-Map f(A,B,C,D,E) =  m(2,5,7,8,10, 13,15,17,19,21,23,24,29 31) = C E + A B' E + B C' D' E' + A' C' D E' BC DE A=0 BC DE A=

38 6-Variable K-Map

39 7-Variable K-Map ?

40 8-Variable K-Map ?

41 Implementing by Nands only Nand:  Universal gate  can replace gates by equivalent Nand circuit.  Large circuit (many gates)  But

42 New Symbols for AND/OR DeMorgan’s Law:  (a + b)’ = a’ b’ (a b)’ = a’ + b’  a + b = (a’ b’)’ (a b) = (a’ + b’)’ ====

43 New Symbols for NOT  (a. a)’ = a’ A A AA _ A A  (a + a)’ = a’

44 NAND-Only Implementation  Find Sum-of-Product form.  Inventers can be added  Equivalent NAND-only

45 Another Example

46 NOR-Only Implementation  Find Product-of-Sums form.  Inverters can be added  Equivalent NOR-only

47 NAND-Only Implementation NAND-only:  Another method:  Group 0s in K-Map  Find F’ in SOP form  Add an inverter at the end.

48 NAND-Only Implementation Multi-Level Circuits  Convert AND/OR gates to proper NAND gates  AND  AND-NOT symbol  OR  NOT-OR symbol  Bubbles must cancel each other;  otherwise, insert a NAND inverter.  Take care of appropriate input literals.

49 NAND-Only Implementation Example:

50 NAND-Only Implementation Another Example:

51 NAND-Only Implementation Be careful about branches:  Gates with multi-fanouts A B C D F X (a) A B C D’ F X’ (b) (c) A B C D’ F X’ X

52 NOR-Only Implementation NOR-Only:  Use “Duality” for the last several slides.

53 Analysis of NAND Circuits  The functionality of a NAND-only circuit is not clear.  Must be converted to AND-OR circuit.

54 Analysis of NAND Circuits Example

55 Analysis of NAND/NOR Circuits

56 Analysis of NAND/NOR Circuits