Combinational Logic Circuits Part III -Theoretical Foundations

Similar documents
Chapter 2 Combinational Logic Circuits

Karnaugh Map (K-Map) Karnaugh Map. Karnaugh Map Examples. Ch. 2.4 Ch. 2.5 Simplification using K-map

Chapter 2 Combinational

Combinational Logic Circuits

Chapter 6. Logic Design Optimization Chapter 6

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map

A B AB CD Objectives:

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN

Chapter 2. Boolean Expressions:

Chapter 2 Combinational Logic Circuits

Combinational Logic Circuits

Boolean Function Simplification

CMPE223/CMSE222 Digital Logic

4 KARNAUGH MAP MINIMIZATION

Specifying logic functions

ECE380 Digital Logic

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

Switching Circuits & Logic Design

DKT 122/3 DIGITAL SYSTEM 1

Simplification of Boolean Functions

Gate Level Minimization Map Method

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10

UNIT II. Circuit minimization

Chapter 3. Gate-Level Minimization. Outlines

Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER

University of Technology

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

IT 201 Digital System Design Module II Notes

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

SEE1223: Digital Electronics

CprE 281: Digital Logic

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

Module -7. Karnaugh Maps

Chapter 2 Part 5 Combinational Logic Circuits

To write Boolean functions in their standard Min and Max terms format. To simplify Boolean expressions using Karnaugh Map.

Experiment 4 Boolean Functions Implementation

Gate-Level Minimization. section instructor: Ufuk Çelikcan

Experiment 3: Logic Simplification

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

Combinational Logic & Circuits

Incompletely Specified Functions with Don t Cares 2-Level Transformation Review Boolean Cube Karnaugh-Map Representation and Methods Examples

Graduate Institute of Electronics Engineering, NTU. CH5 Karnaugh Maps. Lecturer: 吳安宇教授 Date:2006/10/20 ACCESS IC LAB

Quine-McCluskey Algorithm

A graphical method of simplifying logic

CS8803: Advanced Digital Design for Embedded Hardware

DIGITAL CIRCUIT LOGIC UNIT 5: KARNAUGH MAPS (K-MAPS)

Digital Logic Lecture 7 Gate Level Minimization

2.1 Binary Logic and Gates

Optimized Implementation of Logic Functions

Chapter 3 Simplification of Boolean functions

Summary. Boolean Addition

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation

Standard Forms of Expression. Minterms and Maxterms

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

Simplification of Boolean Functions

Gate-Level Minimization

ENGIN 112. Intro to Electrical and Computer Engineering

3.4 QUINE MCCLUSKEY METHOD 73. f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD.

Slides for Lecture 15

Lecture 5. Chapter 2: Sections 4-7

S1 Teknik Telekomunikasi Fakultas Teknik Elektro FEH2H3 2016/2017

ENGIN 112 Intro to Electrical and Computer Engineering

EECS 140/141 Introduction to Digital Logic Design Fall Semester 2016 Exam #1 Date: 3 October 2016

2.6 BOOLEAN FUNCTIONS

Final Examination (Open Katz, asynchronous & test notes only, Calculators OK, 3 hours)

MUX using Tri-State Buffers. Chapter 2 - Part 2 1

ADAPTIVE MAP FOR SIMPLIFYING BOOLEAN EXPRESSIONS

Gate-Level Minimization

EECS 140/141 Introduction to Digital Logic Design Spring Semester 2017 Exam #1 Date: 27 February 2017

Switching Theory And Logic Design UNIT-II GATE LEVEL MINIMIZATION

1. Mark the correct statement(s)


UNIT-4 BOOLEAN LOGIC. NOT Operator Operates on single variable. It gives the complement value of variable.

Gate-Level Minimization

MODULE 5 - COMBINATIONAL LOGIC

Chapter 3. Boolean Algebra and Digital Logic

Ch. 5 : Boolean Algebra &

Chapter 2: Combinational Systems

Unit-IV Boolean Algebra

User s Manual. Ronwaldo A. Collado Diosdado Y. Tejoso Jr. CMSC 130 Logistic Design and Digital Computer Circuits Second Semester, A. Y.

數位系統 Digital Systems 朝陽科技大學資工系. Speaker: Fuw-Yi Yang 楊伏夷. 伏夷非征番, 道德經察政章 (Chapter 58) 伏者潛藏也道紀章 (Chapter 14) 道無形象, 視之不可見者曰夷

X Y Z F=X+Y+Z

Dr. S. Shirani COE2DI4 Midterm Test #1 Oct. 14, 2010

CS470: Computer Architecture. AMD Quad Core

Gate Level Minimization

Combinational Circuits Digital Logic (Materials taken primarily from:

(Refer Slide Time 6:48)

Digital Design. Chapter 4. Principles Of. Simplification of Boolean Functions

Presented By :- Alok Kumar Lecturer in ECE C.R.Polytechnic, Rohtak

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Review: Standard forms of expressions

ENGINEERS ACADEMY. 7. Given Boolean theorem. (a) A B A C B C A B A C. (b) AB AC BC AB BC. (c) AB AC BC A B A C B C.

Philadelphia University Faculty of Information Technology Department of Computer Science. Computer Logic Design. By Dareen Hamoudeh.

Austin Herring Recitation 002 ECE 200 Project December 4, 2013

Larger K-maps. So far we have only discussed 2 and 3-variable K-maps. We can now create a 4-variable map in the

Homework. Update on website issue Reading: Chapter 7 Homework: All exercises at end of Chapter 7 Due 9/26

SWITCHING THEORY AND LOGIC CIRCUITS

Digital Logic Design (CEN-120) (3+1)

Introduction. The Quine-McCluskey Method Handout 5 January 24, CSEE E6861y Prof. Steven Nowick

Transcription:

Combinational Logic Circuits Part III -Theoretical Foundations

Overview Simplifying Boolean Functions Algebraic Manipulation Karnaugh Map Manipulation (simplifying functions of 2, 3, 4 variables) Systematic Approach for Simplifying Functions using K-maps Implicants, Prime Implicants (PIs), and Essential Prime Implicants Simplifying Functions using Essential and Nonessential PIs Don t-care Conditions and Simplification using Don t Cares Fall 27 Digital Technique by Todor Stefanov, Leiden University 2

Boolean Functions as Equations Truth table and K-map of a Boolean function are unique representations However, representing a Boolean function as an equation can be done in many different ways Canonical and Standard forms Example: F(,,) = + + F2(,,) = + F3(,,) = + F4(,,) = + The corresponding truth tables for F to F4 are identical! Thus, F = F2 = F3 = F4 However, F2 and F3 are simpler than F and F4 is simpler than the others. F F2 F3 F4 How do we simplify Boolean functions? Fall 27 Digital Technique by Todor Stefanov, Leiden University 3

Simplifying a Boolean Function hy simplifying Boolean functions? Boolean functions are used to design digital logic circuits Simpler Boolean function can mean cheaper, smaller, faster circuit Three main approaches to simplify Boolean functions: Algebraic Manipulations using the Boolean Algebra as a tool for simplifications Karnaugh Map Manipulations very easy graphical method to simplify Boolean functions it works for functions of up to 4 variables! Algorithmic Techniques used to program a computer to do the simplifications Fall 27 Digital Technique by Todor Stefanov, Leiden University 4

Algebraic Manipulation e use basic identities, properties, and theorems of the Boolean Algebra to manipulate and simplify Boolean functions Example: Simplify F = + + F = + + -- apply identity 4 = (+ ) + -- apply identity 7 = + -- apply identity 2 = + Example2: Simplify G = + + F = + + -- apply identity 5 = + + + -- apply identity 4 = ( +) + ( +) -- apply identity 7 = + -- apply identity 2 = + Fall 27 Digital Technique by Todor Stefanov, Leiden University 5

Karnaugh Map Manipulations e can use a K-map to simplify a Boolean function of 2, 3, or 4 variables as Sum-Of-Products Procedure: Enter s in the K-map for each minterm (product term) in the function Group adjacent K-map cells containing s to obtain a product term with fewer variables The number of cells in a group must be a power of 2 (2, 4, 8, )! Try to group as many as possible cells containing s in a group Such group corresponds to a simpler product term! Try to make as less as possible groups to cover all cells containing s This corresponds to fewer product terms in the simplified function! Do not forget to handle boundary cells for K-maps of 3 or 4 variables when you do the grouping Important: The result after the simplification may not be unique! Fall 27 Digital Technique by Todor Stefanov, Leiden University 6

Simplifying a Boolean Function using 2-variable K-map (examples) Given functions: F(,) = Σm(,) = = + Simplified functions: F(,) = F2(,) = Σm(,3) = = + F2(,) = + F3(,) = Σm(,2,3) = = + + F3(,) = + F4(,) = Σm(,,2,3) = = + + + F4(,) = Fall 27 Digital Technique by Todor Stefanov, Leiden University 7

Simplifying a Boolean Function using 3-variable K-map (groupings) minterm m m m 3 m 2 m m m 3 m 2 m 4 m 5 m 7 m 6 m 4 m 5 m 7 m 6 Group of 2 adjacent cells gives product term of two literals. m m m 3 m 2 m m m 3 m 2 m 4 m 5 m 7 m 6 m 4 m 5 m 7 m 6 Group of 4 adjacent cells gives product term of one literal. m m m 3 m 2 m m m 3 m 2 m 4 m 5 m 7 m 6 m 4 m 5 m 7 m 6 Fall 27 Digital Technique by Todor Stefanov, Leiden University 8

Simplifying a Boolean Function using 3-variable K-map (examples) Given functions: F(,,) = Σm(,2,4,7) F2(,,) = Σm(2,3,4,5) Fall 27 Digital Technique by Todor Stefanov, Leiden University 9 Simplified functions: Simplification is not possible F2(,,) = + F3(,,) = Σm(,2,4,6) F3(,,) = F4(,,) = Σm(,,2,3,6,7) F4(,,) = +

Simplifying a Boolean Function using 3-variable K-map (more examples) Given functions: F5(,,) = Σm(3,4,6,7) F6(,,) = Σm(,2,4,5,6) F7(,,) = Σm(,2,3,5,7) F8(,,) = Σm(,3,4,5,6) Simplified functions: F5(,,) = + Fall 27 Digital Technique by Todor Stefanov, Leiden University F6(,,) = + F7(,,) = + F8(,,) = + + or F8(,,) = + + Not unique solution

Simplifying a Boolean Function using 4-variable K-map (grouping examples) Group of 2 adjacent cells gives product term of 3 literals. m m m 3 m 2 m 4 m 5 m 7 m 6 m 2 m 3 m 5 m 4 m 8 m 9 m m Group of 8 adjacent cells gives product term of literal. m m m 3 m 2 m 4 m 5 m 7 m 6 m 2 m 3 m 5 m 4 m 8 m 9 m m Group of 4 adjacent cells gives product term of 2 literals. Group of all cells gives constant one. Fall 27 Digital Technique by Todor Stefanov, Leiden University m m m 3 m 2 m 4 m 5 m 7 m 6 m 2 m 3 m 5 m 4 m 8 m 9 m m m m m 3 m 2 m 4 m 5 m 7 m 6 m 2 m 3 m 5 m 4 m 8 m 9 m m

Simplifying a Boolean Function using 4-variable K-map (examples) Given function: F2(,,,) = = Σm(,,2,4,5,6,8, 9,2,3,4) Simplified function: F2(,,,) = = + + Given function: F(,,,) = = Σm(,,2,4,5,7,8,9,,2,3) Simplified function: F(,,,) = = + + Fall 27 Digital Technique by Todor Stefanov, Leiden University 2 Given function: F3(,,,) = + + + Simplified function: F3(,,,) = = + +

Simplifying with K-maps Systematically ou have seen intuitive procedure on how to group cells and simplify Boolean functions! Can we have more systematic procedure? ES, if we introduce the terms: implicant prime implicant essential prime implicant An Implicant I of a function F() is a product term which implies F(), i.e., F() = whenever I = All minterms of a function F are implicants of F All rectangles in a K-map made up of cells containing s correspond to implicants Fall 27 Digital Technique by Todor Stefanov, Leiden University 3

Prime Implicant (PI) An implicant I of F is called a Prime Implicant (PI) if the removal of any literal from I results in a product term that is NOT an implicant of F The above should hold for all literals in I Thus, a prime implicant is not contained in any simpler implicant The set of prime implicants corresponds to all rectangles, in a K-map, made up of cells containing s that satisfy the following condition: each rectangle is not contained in a larger rectangle Fall 27 Digital Technique by Todor Stefanov, Leiden University 4

Example of Prime Implicants (PIs) Consider function F(,,,) whose K-map is shown at right is not a prime implicant because it is contained in is not a prime implicant because it is contained in Product terms,, are prime implicants. hy? Consider the term and obtain terms by deleting any literal: e get two terms: term and term Both terms are NOT implicants of F Thus, the term is prime implicant Fall 27 Digital Technique by Todor Stefanov, Leiden University 5

Essential Prime Implicants (EPIs) If a minterm of function F is included in ONL one prime implicant pi, then pi is an Essential Prime Implicant of F An essential prime implicant MUST appear in all possible SOP expressions of function F To find essential prime implicants: Generate all prime implicants of a function Select those prime implicants that contain at least one that is not covered by any other prime implicant For the previous example, the PIs are,, and ; all of these are essential. Fall 27 Digital Technique by Todor Stefanov, Leiden University 6

Essential Prime Implicants (examples) Consider function F(,,,) whose K-map is shown below: All Prime Implicants are:,,,,,, Essential Prime Implicants are: Fall 27 Digital Technique by Todor Stefanov, Leiden University 7 Consider function F2(,,,) whose K-map is shown below: All Prime Implicants are:,, Essential Prime Implicants are: and

Systematic Procedure for Simplifying Boolean Functions Given : The K-map of a Boolean function Obtain: The simplest SOP expression for the function. Find all prime implicants (PIs) of the function 2. Select all essential PIs 3. For remaining minterms not included in the essential PIs, select a set of other PIs to cover them, with minimal overlap in the set 4. The resulting simplified function is the logical OR of the product terms selected above Fall 27 Digital Technique by Todor Stefanov, Leiden University 8

Example F(,,,) = m(,,2,3,4,5,7,4,5). All prime implicants (PI) are:,,,, Select all essential PIs:,, Select other PIs to cover all s with minimal overlap: Possibilities: or e select because it is simpler. F(,,,) = + ++ Fall 27 Digital Technique by Todor Stefanov, Leiden University 9

Other Examples Consider function F(,,,) whose K-map is shown at right. All prime implicants are:,,,,, Essential prime implicants are:,,, Nonessential prime implicants are:, Simplified function (solution not unique): F = + + + + F = + + + + Fall 27 Digital Technique by Todor Stefanov, Leiden University 2

Other Examples (cont.) Consider function F(,,,) = m(,,2,4,5,,,3,5) whose K-map is shown at right. All prime implicants are:,,,,,, Essential prime implicants are: Nonessential prime implicants are:,,,,, Simplified function (solution not unique): F = ++ + F = ++ + F = ++ + F = ++ + Fall 27 Digital Technique by Todor Stefanov, Leiden University 2 and are NON-overlapping PIs. and are NON-overlapping PIs.

Product-Of-Sums (POS) Simplification So far, we have considered simplification of a Boolean function expressed in Sum-Of-Products (SOP) form using a K-map. Sometimes the Product-Of-Sums form of a function is simpler than the SOP form. Can we use K-maps to simplify a Boolean function in Product-Of-Sums form? Procedure: Use sum-of-products simplification on the zeros of function F in the K- map. In this way you will get the simplified complement of F (F ). Find the complement of F which is F, i.e., (F ) = F Recall that the complement of a Boolean function can be obtained by () taking the dual and (2) complementing each literal. OR, using DeMorgan s Theorem. Fall 27 Digital Technique by Todor Stefanov, Leiden University 22

POS Simplification Example F = m(,,2,3,4,5,7,4,5) Simplify using zeros: F = + + Complement F to find F, i.e., F = (F ) First get the dual of F : dual(f ) = (+ ) (+ ) ( +++ ) The complement of F (F ) Complement each literal in dual(f ) to get F as POS F = ( +) ( +) (+ + +) Fall 27 Digital Technique by Todor Stefanov, Leiden University 23

Don t-care Conditions Sometimes a Boolean function is not specified for some combinations of input values. hy? There may be a combination of input values which will never occur If they do occur, the value of the function is of no concern Such combinations is called don t-care condition The function value for such combinations is called a don't-care The don t-care function values are usually denoted with x x may be arbitrarily set to or in an implementation Don t-cares can be used to further simplify a function Fall 27 Digital Technique by Todor Stefanov, Leiden University 24

Simplification using Don t-cares Treat don't-cares as if they are s to generate prime implicants in order to produce simple expressions Delete prime implicants that cover only don'tcare minterms Treat the covering of remaining don't care minterms as optional in the selection process they may be covered but it is not necessary Fall 27 Digital Technique by Todor Stefanov, Leiden University 25

Example with Don t-care Conditions Consider the following incompletely specified function F that has three don t-care minterms d: A F(A,B,C,D) = m(,3,7,,5) d(a,b,c,d) = m(,2,5) CD AB x C D x x F = CD + A B B CD AB Fall 27 Digital Technique by Todor Stefanov, Leiden University 26 A x C D x x F2 = CD + A D Notice: F and F2 are algebraically not equal. Both include the specified minterms of F, but each includes different don t-care minterms. B

Other Examples with Don t-cares () Simplify the function G(A,B,C,D) whose K-map is shown at right. CD AB A C x x x x x x x D B G = A C + AB or G = A C +BD or G = BD + C D CD AB A C x x x x x x x CD AB B A C x x x x x x x CD AB B A C x x x x x x x D D D Fall 27 Digital Technique by Todor Stefanov, Leiden University 27 B

Other Examples with Don t-cares (2) Simplify the function F(A,B,C,D) whose K-map is shown at the top-right. F = A BC +AB +CD +A C D or F = A BD +AB +CD +A C D The middle two terms are EPIs, while the first and last terms are selected to cover the minterms m, m 4, and m 5. There s a third solution! Can you find it? CD AB Fall 27 Digital Technique by Todor Stefanov, Leiden University D 28 A A C CD AB x x x x D C CD AB A x x x x D C x x x x B B B

Algorithmic Techniques for Simplification Simplification of Boolean functions using K-maps works for functions of up to 4 variables hat do we do for functions with more than 4-5 variables? ou can code up a minimiser program Use the Quine-McCluskey algorithm Base on (essential) prime implicants e won t discuss these techniques here Search on Internet to find more information about the Quine-McCluskey algorithm Fall 27 Digital Technique by Todor Stefanov, Leiden University 29