Chapter 2 Combinational Logic Circuits

Similar documents
Chapter 2 Combinational Logic Circuits

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 2 Circuit Optimization

DIGITAL ELECTRONICS & it0203 Semester 3

Chap 2. Combinational Logic Circuits

The Karnaugh Map COE 202. Digital Logic Design. Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals

Karnaugh Maps Objectives

Computer Organization I. Lecture 13: Design of Combinational Logic Circuits

Lecture 6: Gate Level Minimization Syed M. Mahmud, Ph.D ECE Department Wayne State University

Lecture 6: Manipulation of Algebraic Functions, Boolean Algebra, Karnaugh Maps

ELC224C. Karnaugh Maps

UNIT 5 KARNAUGH MAPS Spring 2011

Unit 2 Session - 6 Combinational Logic Circuits

Digital Logic Design. Combinational Logic

Lecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions

Lecture 7: Karnaugh Map, Don t Cares

ENG2410 Digital Design Combinational Logic Circuits

Gate-Level Minimization

Simplifying Logic Circuits with Karnaugh Maps

Karnaugh Map & Boolean Expression Simplification

Number System conversions

This form sometimes used in logic circuit, example:

Optimizations and Tradeoffs. Combinational Logic Optimization

II. COMBINATIONAL LOGIC DESIGN. - algebra defined on a set of 2 elements, {0, 1}, with binary operators multiply (AND), add (OR), and invert (NOT):

Simplification of Boolean Functions. Dept. of CSE, IEM, Kolkata

ELCT201: DIGITAL LOGIC DESIGN

EC-121 Digital Logic Design

CHAPTER III BOOLEAN ALGEBRA

CHAPTER III BOOLEAN ALGEBRA

211: Computer Architecture Summer 2016

UNIT 4 MINTERM AND MAXTERM EXPANSIONS

Chapter 2 Boolean Algebra and Logic Gates

CHAPTER 5 KARNAUGH MAPS

Advanced Digital Design with the Verilog HDL, Second Edition Michael D. Ciletti Prentice Hall, Pearson Education, 2011

Chapter 7 Logic Circuits

CHAPTER 7. Solutions for Exercises

Chapter 2 Combinational Logic Circuits

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

Karnaugh Maps ف ر آ ا د : ا ا ب ا م آ ه ا ن ر ا

Contents. Chapter 3 Combinational Circuits Page 1 of 36

CHAPTER 2 BOOLEAN ALGEBRA

CSE 140: Components and Design Techniques for Digital Systems

Minimization techniques

Combinational Logic. Review of Combinational Logic 1

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents

Chapter 4 Optimized Implementation of Logic Functions

Signals and Systems Digital Logic System

Karnaugh Maps (K-Maps)

Combinational Logic Fundamentals

K-map Definitions. abc

Boolean Algebra & Logic Gates. By : Ali Mustafa

Review. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms

ECE 238L Boolean Algebra - Part I

L4: Karnaugh diagrams, two-, and multi-level minimization. Elena Dubrova KTH / ICT / ES

Logic Simplification. Boolean Simplification Example. Applying Boolean Identities F = A B C + A B C + A BC + ABC. Karnaugh Maps 2/10/2009 COMP370 1

Ch 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1

Combinational Logic Design Principles

Digital Circuit And Logic Design I. Lecture 4

Z = F(X) Combinational circuit. A combinational circuit can be specified either by a truth table. Truth Table

Lecture 2 Review on Digital Logic (Part 1)

CHAPTER 7. Exercises 17/ / /2 2 0

Lecture 4: Four Input K-Maps

Midterm1 Review. Jan 24 Armita

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 1 Gate Circuits and Boolean Equations

E&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev

MC9211 Computer Organization

ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2

Introduction to Karnaugh Maps

Week-I. Combinational Logic & Circuits

Introduction to Digital Logic Missouri S&T University CPE 2210 Karnaugh Maps

Systems I: Computer Organization and Architecture

Chapter 2 Combinational Logic Circuits

E&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev. Section 2: Boolean Algebra & Logic Gates

Logic Design. Chapter 2: Introduction to Logic Circuits

CSE 140 Midterm I - Solution

Chapter 2 Combinational logic

Midterm Examination # 1 Wednesday, February 25, Duration of examination: 75 minutes

Ex: Boolean expression for majority function F = A'BC + AB'C + ABC ' + ABC.

Combinational Logic Circuits Part II -Theoretical Foundations

CS 121 Digital Logic Design. Chapter 2. Teacher Assistant. Hanin Abdulrahman

CPE100: Digital Logic Design I

Slide Set 3. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 2 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Combinatorial Logic Design Principles

Boolean Algebra and Logic Simplification

1. Expand each of the following functions into a canonical sum-of-products expression.

for Digital Systems Simplification of logic functions Tajana Simunic Rosing Sources: TSR, Katz, Boriello & Vahid

Unit 3 Session - 9 Data-Processing Circuits

Chapter 2 Combinational

EEE130 Digital Electronics I Lecture #4

WEEK 3.1 MORE ON KARNAUGH MAPS

Lecture 5. Karnaugh-Map

CHAPTER 3 BOOLEAN ALGEBRA

14:332:231 DIGITAL LOGIC DESIGN

Chapter 2 Combinational Logic Circuits

Part 1: Digital Logic and Gates. Analog vs. Digital waveforms. The digital advantage. In real life...

Boolean Algebra and Logic Design (Class 2.2 1/24/2013) CSE 2441 Introduction to Digital Logic Spring 2013 Instructor Bill Carroll, Professor of CSE

9.1. Unit 9. Implementing Combinational Functions with Karnaugh Maps or Memories

Administrative Notes. Chapter 2 <9>

UNIT 3 BOOLEAN ALGEBRA (CONT D)

CS/EE 181a 2010/11 Lecture 4

Transcription:

Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization

Goal: To obtain the simplest implementation for a given function Optimization is a more formal approach to simplification that is performed using a specific procedure or algorithm Optimization requires a cost criterion to measure the simplicity of a circuit Two distinct cost criteria we will use: Literal cost (L) Gate input cost (G) Gate input cost with NOTs (GN) Chapter 2 - Part 2 2

Literal a variable or it complement Literal cost the number of literal appearances in a Boolean expression corresponding to the logic circuit diagram Examples: F = BD + A BC + A C D L = 8 F = BD + A BC + A BCD + AB CD L = F = (A + B)(A + D)(B + C + D)( A + C + D) L = Which solution is best? Chapter 2 - Part 2 3

Gate input costs - number of inputs to the gates in the implementation corresponding exactly to the equation. (G - inverters not counted, GN - inverters counted) For SOP and POS equations, it can be found from the equation(s) by finding the sum of: all literal appearances the number of terms excluding terms consisting only of a single literal,(g) and optionally, the number of distinct complemented single literals (GN). Example: F = BD + A BC + A C D G = 8, GN = F = BD + A BC + A B D + AB C G =, GN = F = (A + B)(A + D)(B + C + D)( B + C + D) G =, GN = Chapter 2 - Part 2 4

Example : F = A + B C + B C A B C L = 5 GN=7 F L (literal count) counts the AND inputs and the single literal OR input. Chapter 2 - Part 2 5

Example 2: F = A B C + AB C L = 6 GN = 9 F = (A + C)( B + C)( A + B) L = 6 GN= 9 Same function and same literal cost But first circuit has better gate input count and better gate input count with NOTs Select it! A B C A B C F F Chapter 2 - Part 2 6

Minimizing gate input (or literal) cost of a Boolean equation reduces circuit cost. We choose gate input cost. Boolean Algebra and graphical techniques are tools to minimize cost criteria values. Some important questions: When do we stop trying to reduce the cost? Do we know when we have a minimum cost? Treat optimum or near-optimum cost functions for two-level (SOP and POS) circuits first. Introduce a graphical technique using Karnaugh maps (K-maps, for short) Chapter 2 - Part 2 7

A K-map is a collection of squares Each square represents a minterm The collection of squares is a graphical representation of a Boolean function Adjacent squares differ in the value of one variable Alternative algebraic expressions for the same function are derived by recognizing patterns of squares The K-map can be viewed as A reorganized version of the truth table A topologically-warped Venn diagram as used to visualize sets in algebra of sets Chapter 2 - Part 2 8

Provide a means for: Finding optimum or near optimum SOP and POS standard forms, and two-level AND/OR and OR/AND circuit implementations for functions with small numbers of variables Visualizing concepts related to manipulating Boolean expressions, and Demonstrating concepts used by computeraided design programs to simplify large circuits Chapter 2 - Part 2 9

A 2-variable Karnaugh Map: Note that minterm m0 and minterm m are adjacent and differ in the value of the x y x y variable y Similarly, minterm m0 and x = m 2 = m 3 = x y x y minterm m2 differ in the x variable. Also, m and m3 differ in the x variable as well. Finally, m2 and m3 differ in the value of the variable y y = 0 y = x = 0 m 0 = m = Chapter 2 - Part 2 0

The K-Map is just a different form of the truth table. Example Two variable function: We choose a,b,c and d from the set {0,} to implement a particular function, F(x,y). Function Table K-Map Input Values (x,y) Function Value F(x,y) 0 0 a 0 b 0 c d y = 0 y = x = 0 a b x = c d Chapter 2 - Part 2

Example: F(x,y) = x F = x y = 0 y = x = 0 0 0 x = For function F(x,y), the two adjacent cells containing s can be combined using the Minimization Theorem: F (x, y) = x y + x y = x Chapter 2 - Part 2 2

Example: G(x,y) = x + y G = x+y y = 0 y = x = 0 0 x = For G(x,y), two pairs of adjacent cells containing s can be combined using the Minimization Theorem: ( x y + x y) + ( xy + x y) = x y G (x, y) = + Duplicate xy Chapter 2 - Part 2 3

A three-variable K-map: yz=00 yz=0 yz= yz=0 x=0 m 0 m m 3 m 2 x= m 4 m 5 m 7 m 6 Where each minterm corresponds to the product terms: yz=00 yz=0 yz= yz=0 x=0 x= y z Note that if the binary value for an index differs in one bit position, the minterms are adjacent on the K-Map x x y z x x y y z z x x y y z z x y z x y z Chapter 2 - Part 2 4

Map use largely involves: Entering values into the map, and Reading off product terms from the map. Alternate labelings are useful: x x z y 0 3 2 4 z y 5 7 6 z x y z x 0 z y 0 3 2 4 00 0 0 5 7 6 Chapter 2 - Part 2 5

By convention, we represent the minterms of F by a "" in the map and leave the minterms of F blank Example: y F(x, y, z) = Σ Example: G(a, b,c) = Σ Learn the locations of the 8 indices based on the variable order shown (x, most significant and z, least significant) on the map boundaries m m (2,3,4,5) (3,4,6,7) x 0 3 2 4 x 5 7 6 z y 0 3 2 4 5 7 6 z Chapter 2 - Part 2 6

By combining squares, we reduce number of literals in a product term, reducing the literal cost, thereby reducing the other two cost criteria On a 3-variable K-Map: One square represents a minterm with three variables Two adjacent squares represent a product term with two variables Four adjacent terms represent a product term with one variable Eight adjacent terms is the function of all ones (no variables) =. Chapter 2 - Part 2 7

Example: Let F = Σm(2,3,6,7) Applying the Minimization Theorem three times: F (x, y, z) = x y z + x y z + x y z + x y z = yz + yz = y Thus the four terms that form a 2 2 square correspond to the term "y". x y 0 3 2 4 5 7 6 z Chapter 2 - Part 2 8

Reduced literal product terms for SOP standard forms correspond to rectangles on K-maps containing cell counts that are powers of 2. Rectangles of 2 cells represent 2 adjacent minterms; of 4 cells represent 4 minterms that form a pairwise adjacent ring. Rectangles can contain non-adjacent cells as illustrated by the pairwise adjacent ring above. Chapter 2 - Part 2 9

Topological warps of 3-variable K-maps that show all adjacencies: Venn Diagram Cylinder 0 Y X 4 6 7 5 2 3 Z Chapter 2 - Part 2 20

Example Shapes of 2-cell Rectangles: y 0 3 2 x 4 5 7 6 Read off the product terms for the rectangles shown z Chapter 2 - Part 2 2

Example Shapes of 4-cell Rectangles: y 0 3 2 x 4 5 7 6 Read off the product terms for the rectangles shown z Chapter 2 - Part 2 22

K-Maps can be used to simplify Boolean functions by systematic methods. Terms are selected to cover the s in the map. Example: Simplify F(x, y, z) = Σm(,2,3,5,7) z x y y x z F(x, y, z) = z + x y Chapter 2 - Part 2 23

Use a K-map to find an optimum SOP equation for F(X, Y, Z) = Σm(0,,2,4,6,7) Chapter 2 - Part 2 24

Map and location of minterms: Y 0 3 2 5 6 4 7 Variable Order W 2 3 5 4 8 9 0 X Z Chapter 2 - Part 2 25

Four variable maps can have rectangles corresponding to: A single = 4 variables, (i.e. Minterm) Two s = 3 variables, Four s = 2 variables Eight s = variable, Sixteen s = zero variables (i.e. Constant "") Chapter 2 - Part 2 26

Example Shapes of Rectangles: Y 0 3 2 5 6 4 7 W 2 3 5 4 8 9 0 X Z Chapter 2 - Part 2 27

Example Shapes of Rectangles: Y 0 3 2 W 5 6 4 7 2 3 5 4 8 9 0 X Z Chapter 2 - Part 2 28

F(W, X, Y, Z) = Σ m (3,4,5,7,9,3,4,5) F(W, X, Y, Z) = Σ m (0, 2,4,5,6,7,8,0,3,5) Chapter 2 - Part 2 29

A Prime Implicant is a product term obtained by combining the maximum possible number of adjacent squares in the map into a rectangle with the number of squares a power of 2. A prime implicant is called an Essential Prime Implicant if it is the only prime implicant that covers (includes) one or more minterms. Prime Implicants and Essential Prime Implicants can be determined by inspection of a K-Map. A set of prime implicants "covers all minterms" if, for each minterm of the function, at least one prime implicant in the set of prime implicants includes the minterm. Chapter 2 - Part 2 30

BD Find ALL Prime Implicants CD C ESSENTIAL Prime Implicants C BD BD A AB B BD A B D AD BC Minterms covered by single prime implicant D Chapter 2 - Part 2 3

Find all prime implicants for: F(A, B,C, D) = Σ m (0,2,3,8,9,0,,2,3,4,5) Chapter 2 - Part 2 32

Find all prime implicants for: G(A, B,C, D) = Σ (0,2,3,4,7,2,3,4,5) Hint: There are seven prime implicants! m Chapter 2 - Part 2 33

For five variable problems, we use two adjacent K-maps. It becomes harder to visualize adjacent minterms for selecting PIs. You can extend the problem to six variables by using four K-Maps. V = 0 V = Y Y X X W W Z Z Chapter 2 - Part 2 34

Sometimes a function table or map contains entries for which it is known: the input values for the minterm will never occur, or The output value for the minterm is not used In these cases, the output value need not be defined Instead, the output value is defined as a don't care By placing don't cares ( an x entry) in the function table or map, the cost of the logic circuit may be lowered. Example : A logic function having the binary codes for the BCD digits as its inputs. Only the codes for 0 through 9 are used. The six codes, 00 through never occur, so the output values for these codes are x to represent don t cares. Chapter 2 - Part 2 35

Example 2: A circuit that represents a very common situation that occurs in computer design has two distinct sets of input variables: A, B, and C which take on all possible combinations, and Y which takes on values 0 or. and a single output Z. The circuit that receives the output Z observes it only for (A,B,C) = (,,) and otherwise ignores it. Thus, Z is specified only for the combinations (A,B,C,Y) = 0 and. For these two combinations, Z = Y. For all of the 4 remaining input combinations, Z is a don t care. Ultimately, each x entry may take on either a 0 or value in resulting solutions For example, an x may take on value 0 in an SOP solution and value in a POS solution, or vice-versa. Any minterm with value x need not be covered by a prime implicant. Chapter 2 - Part 2 36

w The map below gives a function F(w,x,y,z) which is defined as "5 or more" over BCD inputs. With the don't cares used for the 6 non-bcd combinations: y F (w,x,y,z) = w + x z + x y G = 7 0 0 0 0 0 0 3 2 4 5 7 6 2 3 5 4 8 9 0 z X X X X X X x This is much lower in cost than F2 where the don't cares were treated as "0s." x,y, z) = w x z + w x y wx y G = 2 For this particular function, cost G for the POS solution for F (w,x,y,z) is not changed by using the don't cares. F 2 (w, + Chapter 2 - Part 2 37

Find the optimum POS solution: F(A, B,C, D) = Σm (3,9,,2,3,4,5) + Σd (,4,6) Hint: Use F and complement it to get the result. Chapter 2 - Part 2 38

Find all prime implicants. Include all essential prime implicants in the solution Select a minimum cost set of non-essential prime implicants to cover all minterms not yet covered: Obtaining an optimum solution: See Reading Supplement - More on Optimization Obtaining a good simplified solution: Use the Selection Rule Chapter 2 - Part 2 39

Minimize the overlap among prime implicants as much as possible. In particular, in the final solution, make sure that each prime implicant selected includes at least one minterm not included in any other prime implicant selected. Chapter 2 - Part 2 40

Simplify F(A, B, C, D) given on the K- map. Selected Essential C C A B A B D Minterms covered by essential prime implicants D Chapter 2 - Part 2 4

Simplify F(A, B, C, D) given on the K-map. C Selected Essential C x x A x x x x B x A x x x B D Minterms covered by essential prime implicants D Chapter 2 - Part 2 42

Multiple-level circuits - circuits that are not two-level (with or without input and/or output inverters) Multiple-level circuits can have reduced gate input cost compared to two-level (SOP and POS) circuits Multiple-level optimization is performed by applying transformations to circuits represented by equations while evaluating cost Chapter 2 - Part 2 43

Factoring - finding a factored form from SOP or POS expression Algebraic - No use of axioms specific to Boolean algebra such as complements or idempotence Boolean - Uses axioms unique to Boolean algebra Decomposition - expression of a function as a set of new functions Chapter 2 - Part 2 44

Substitution of G into F - expression function F as a function of G and some or all of its original variables Elimination - Inverse of substitution Extraction - decomposition applied to multiple functions simultaneously Chapter 2 - Part 2 45

Algebraic Factoring F = A C D + A B C + ABC + AC D G = 6 Factoring: F = A ( C D + B C) + A (BC + C D ) G = 6 Factoring again: F = A C( B + D ) + AC (B + D ) G = 2 Factoring again: F = ( AC + AC) (B + D) G = 0 Chapter 2 - Part 2 46

Decomposition The terms B + Dand AC + AC can be defined as new functions E and H respectively, decomposing F: F = E H, E = B + D, and H = AC + AC G = 0 This series of transformations has reduced G from 6 to 0, a substantial savings. The resulting circuit has three levels plus input inverters. Chapter 2 - Part 2 47

Substitution of E into F Returning to F just before the final factoring step: F = A C( B + D) + AC (B + D) G = 2 Defining E = B + D, and substituting in F: F = A C E + ACE G = 0 This substitution has resulted in the same cost as the decomposition Chapter 2 - Part 2 48

Elimination Beginning with a new set of functions: X = B + C Y = A + B Z = AX + C Y G = 0 Eliminating X and Y from Z: Z = A(B + C) + C (A + B) G = 0 Flattening (Converting to SOP expression): Z = A B + A C + AC + BC G = 2 This has increased the cost, but has provided an new SOP expression for two-level optimization. Chapter 2 - Part 2 49

Two-level Optimization The result of 2-level optimization is: Z = A B + C G = 4 This example illustrates that: Optimization can begin with any set of equations, not just with minterms or a truth table Increasing gate input count G temporarily during a series of transformations can result in a final solution with a smaller G Chapter 2 - Part 2 50

Extraction Beginning with two functions: E = A B D + ABD H = B C D + BCD G = 6 Finding a common factor and defining it as a function: F = BD + BD We perform extraction by expressing E and H as the three functions: F = BD + BD, E = AF, H = CF G = 0 The reduced cost G results from the sharing of logic between the two output functions Chapter 2 - Part 2 5