Standard Boolean Forms

Similar documents
Boolean Algebra & Digital Logic

Standard Forms of Expression. Minterms and Maxterms

ENGIN 112. Intro to Electrical and Computer Engineering

QUESTION BANK FOR TEST

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

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

2.6 BOOLEAN FUNCTIONS

MATH 271 Summer 2016 Assignment 4 solutions

Boolean algebra. June 17, Howard Huang 1

Announcements. Chapter 2 - Part 1 1

Chapter 2 Combinational Logic Circuits

Binary Adders: Half Adders and Full Adders

Chapter 3. Gate-Level Minimization. Outlines

IT 201 Digital System Design Module II Notes

CprE 281: Digital Logic

Boolean Analysis of Logic Circuits


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

Chapter 2 Boolean algebra and Logic Gates

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

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

Chapter 2 Combinational

Digital Logic Lecture 7 Gate Level Minimization

60-265: Winter ANSWERS Exercise 4 Combinational Circuit Design

Lecture 5. Chapter 2: Sections 4-7

Introduction to Functions

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

Combinational Logic Circuits

Module -7. Karnaugh Maps

Menu. Algebraic Simplification - Boolean Algebra EEL3701 EEL3701. MSOP, MPOS, Simplification

Computer Organization

Objectives: 1- Bolean Algebra. Eng. Ayman Metwali

ELCT201: DIGITAL LOGIC DESIGN

Propositional Calculus. Math Foundations of Computer Science

Experiment 3: Logic Simplification

ENEL 353: Digital Circuits Midterm Examination

Binary logic. Dr.Abu-Arqoub

EEE130 Digital Electronics I Lecture #4_1

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Gate-Level Minimization

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 352 Digital System Fundamentals.

Lecture #21 March 31, 2004 Introduction to Gates and Circuits

Chapter 2. Boolean Expressions:

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Gate Level Minimization Map Method

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

Chapter 3 Simplification of Boolean functions

Combinational Logic & Circuits

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

S1 Teknik Telekomunikasi Fakultas Teknik Elektro FEH2H3 2016/2017

Unit-IV Boolean Algebra

ELCT201: DIGITAL LOGIC DESIGN

Designing Computer Systems Boolean Algebra

Experiment 4 Boolean Functions Implementation


Digital Circuits ECS 371

Definitions. 03 Logic networks Boolean algebra. Boolean set: B 0,

EE292: Fundamentals of ECE

Code No: R Set No. 1

Code No: 07A3EC03 Set No. 1

Computer Organization and Levels of Abstraction

Introduction to Boolean Algebra

COMPUTER SCIENCE. Paper 1

Review: Standard forms of expressions

Lecture 7: Counting classes

Chapter 19. Sorting Networks Model of Computation. By Sariel Har-Peled, December 17,

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

CDA 3103 Computer Organization Exam 1 (Sep. 22th, 2014)

Introduction to Boolean Algebra

ISC SPECIMEN PAPER Computer Science Paper 1 (Theory) Part I Question 1. [ 2 x 5 = 10] Question 2. [ 2 x 5 = 10] Question 3.

Boolean Algebra and Logic Gates

Introduction to Computer Architecture

SWITCHING THEORY AND LOGIC CIRCUITS

BOOLEAN ALGEBRA. 1. State & Verify Laws by using :

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

Specifying logic functions

Skill 3 Relations and Functions

Computer Science Paper 1 (Theory) Part I While working questions in this part, indicate briefly your working and reasoning wherever required.

Lecture (04) Boolean Algebra and Logic Gates

Lecture (04) Boolean Algebra and Logic Gates By: Dr. Ahmed ElShafee

Lecture 17: Continuous Functions

(Refer Slide Time 3:31)

Spring 2010 CPE231 Digital Logic Section 1 Quiz 1-A. Convert the following numbers from the given base to the other three bases listed in the table:

3. According to universal addressing, what is the address of vertex d? 4. According to universal addressing, what is the address of vertex f?

2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2

Math 55 - Spring 04 - Lecture notes # 1 - Jan 20 (Tuesday)

Karnaugh Maps. Ioan Despi. University of New England. September 13, 2013

MATH 54 - LECTURE 10

Digital Double Exposure on Binary Images Analysis by Boolean Algebra Operations

Computer Organization and Levels of Abstraction

DKT 122/3 DIGITAL SYSTEM 1

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

Homework 1. Due Date: Wednesday 11/26/07 - at the beginning of the lecture

ECE380 Digital Logic

Code No: R Set No. 1

Chapter 4 Arithmetic Functions

by conservation of flow, hence the cancelation. Similarly, we have


Transcription:

Standard Boolean Forms In this section, we develop the idea of standard forms of Boolean expressions. In part, these forms are based on some standard Boolean simplification rules. Standard forms are either canonical forms or normal forms. The standard expressions are in either SOP Sum of Products form, or POS Product of Sums form. This lecture will focus on the following: Canonical Sum of Products Normal Sum of Products Canonical Product of Sums Normal Product of Sums We shall also discuss a few more variants that have no standard names. IMPORTANT: These forms use only the 3 basic Boolean functions: AND, OR, NOT. Specifically, XOR is not used.

Variables and Literals We start with the idea of a Boolean variable. It is a simple variable that can take one of only two values: 0 (False) or 1 (True). Following standard digital design practice, we use the values 0 and 1. Following standard teaching practice, we denote all Boolean variables by single letters; normally A, B, C, D, or W, X, Y, Z. A literal is either a Boolean variable or its complement. Literals based on the variable X: X and X. Literals based on the variable Y: Y and Y. NOTE: X and X represent the same variable, but they are not the same literal. X and Y represent different variables.

Product and Sum Terms A product term is the logical AND of one or more literals, with no variable represented more than once. A sum term is the logical OR of one or more literals, with no variable represented more than once. The following are all valid product terms over the two variables X and Y. X Y X Y X Y X Y Forms, such as X X Y and X X Y are not considered, as X X = X and X X = 0, so X X Y = X Y and X X Y = 0 Y = 0. The following are all valid sum terms over the two variables X and Y. X + Y X + Y X + Y X + Y Single literals According to the strict definition, a single literal is either a sum term or a product term, depending on the context. This is necessary to avoid having to give a number of special cases in the following definitions.

Sum of Products and Product of Sums A SOP (Sum of Products) expression is the logical OR of product terms. A POS (Product of Sums) expression is the logical AND of sum terms. Sample SOP expressions F1(X, Y) = X Y + X Y G1(X, Y) = X Y + X Y H1(X, Y, Z) = X + Y Z Note: If we did not allow single literals to be product terms, we would have trouble classifying H(X, Y, Z), which is clearly SOP. Sample POS expressions F2(X, Y) = (X+Y) ( X +Y ) G2(X, Y) = ( X +Y) (X+Y ) H2(X, Y, Z) = X (Y + Z) Note: POS expressions almost always have parentheses to indicate the correct evaluation.

More on Ambiguous Forms What is the form of the expression F(X, Y) = X + Y 1. SOP It is the logical OR of two product terms. Each product term is a single literal. 2. POS It is a single sum term (X + Y) Both statements are true. In general, questions such as this do not concern us. If you are asked a question like this on a test, either answer will be accepted. This ambiguity comes from the definitional necessity of mentioning the logical AND of one or more terms and the logical OR of one or more terms. With two equally good answers to an ambiguous form, pick the one you like.

Inclusion A product term T 1 is included in a product term T 2 if every literal in T 1 is also in T 2. A sum term T 1 is included in a sum term T 2 if every literal in T 1 is also in T 2. Consider the following examples: F(A, B, C) = A B + A C + A B C Each of A B and A C is included in A B C. G(A, B, C) = (A + B) (A + C) (A + B + C) Each of (A + B) and (A + C) is included in (A + B + C). There is no inclusion in the next expression F(A, B, C) = A B + A C + A B C The literal A does no appear in the third term. The inclusion rule is based on literals, not just variables.

More on Inclusion Consider F1(A, B, C) = A B + A C + A B C and F2(A, B, C) = A B + A C We claim that the two are equal for every value of A, B, and C. Let A = 0 Clearly F1(A, B, C) = 0 F2(A, B, C) = 0 Let A = 1 Then F1(A, B, C) = B + C + B C and F2(A, B, C) = B + C Notice that we still have inclusion in F1, as each of B and C is included in B C. We prove these versions of F1(A, B, C) = F2(A, B, C) using a truth table. B C B C B + C B + C + B C 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1

Last Word on Inclusion If a SOP or POS expression has included terms, it can be simplified. F1(A, B, C) = A B + A C + A B C is identically equal to F2(A, B, C) = A B + A C G1(A, B, C) = (A + B) (A + C) (A + B + C) is identically equal to G2(A, B, C) = (A + B) (A + C) The conclusion is that Boolean expressions with included terms are needlessly complicated. We can simplify them by the application of trivial rules. Note that duplication is a form of inclusion. The expression F3(A, B) = A B + A B has 2 terms, each included in the other.

Non Standard Expressions Not every useful Boolean expression is in a standard form. F(X, Y) = X Y is not a standard form, due to the exclusive OR. G(X, Y) = X Y + (X + Y) ( X +Y) is not in a standard form. This has both a product term and a sum term. The fact that G(X, Y) can easily be converted to a standard form does not make it already in a standard form. Let s convert this to SOP. I usually have difficulty in conversion to POS, unless I am using a method I have yet to describe. The term X Y is already a product term, so we convert (X + Y) ( X +Y) to SOP. (X + Y) ( X +Y) = X ( X +Y) + Y ( X +Y) = X X + X Y + Y X + Y Y = 0 + X Y+ X Y + Y = (X + X ) Y + Y = 1 Y + Y = Y So G(X, Y) = X Y + Y = Y G(X, Y) = Y.

More on Non Standard Forms Look at the Boolean function G(X, Y) = X Y + Y. There are two ways to at look at this. Try both ways. Let G(X, Y) = X Y + Y = X Y + 1 Y = (X + 1) Y = 1 Y = Y Do a truth table proof of the equality. X Y X Y X Y + Y 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1 1 Note that the column marked X Y matches the one marked X Y + Y. The two functions are identical. Also note that the term Y is included in the term X Y, so that, by inclusión, the term X Y can be eliminated from the expression.

Normal and Canonical Forms A Normal SOP expression is a Sum of Products expression with no included product terms. A Normal POS expression is a Product of Sums expression with no included sum terms. A Canonical SOP expression over a set of Boolean variables is a Normal SOP expression in which each product term contains a literal for each of the Boolean variables. A Canonical POS expression over a set of Boolean variables is a Normal POS expression in which each sum term contains a literal for each of the Boolean variables. Note: A canonical expression on N Boolean variables is made up of terms, each of which has exactly N literals. Note: One can do digital design based on either normal or canonical forms. The choice usually depends on the technology used.

Equivalence of Canonical Forms and Truth Tables We can directly translate between either of the canonical forms and a truth table using a standard set of rules. To produce the Sum of Products representation from a truth table, a) Generate a product term for each row where the value of the function is 1. b) The variable is complemented if its value in the row is 0, otherwise it is not. To produce the Product of Sums representation from a truth table, a) Generate a sum term for each row where the value of the function is 0. b) The variable is complemented if its value in the row is 1, otherwise it is not. Row X Y X Y 0 0 0 0 1 0 1 1 2 1 0 1 3 1 1 0 SOP: Terms for rows 1 and 2. Row 1: X Y, Row 2: X Y F = X Y + X Y POS: Terms for rows 0 and 3. Row 0: (X + Y), Row 3: ( X + Y ) F = (X + Y) ( X + Y )

Examples: Conversions between the Three Forms We have three equivalent ways to define a Boolean expression. 1. The Truth Table. 2. The Σ and Π lists. 3. The Canonical Form. In each of these depictions of the expression, we need to know the number of Boolean variables and labels to be assigned these variables. It is easier to consider the SOP and POS cases separately, because the rules for conversion from the truth tables are so different for the two cases. The figure below depicts the translations we shall consider for the SOP case.

Example Truth Table Here is a truth table definition of a Boolean function of three Boolean variables. Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 We shall discuss this function in both of its Sum of Product and Product of Sum representations. We begin with SOP, the form that most students find easier.

Here is the truth table. SOP Example: Truth Table to Σ List Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 Note that the function has value 1 in rows 3, 5, 6, and 7. The function is F2(A, B, C) = Σ(3, 5, 6, 7).

SOP Example: Σ List to Truth Table The function is F2(A, B, C) = Σ(3, 5, 6, 7). Create a truth table and place logic 1 s in rows 3, 5, 6, and 7. Row A B C F2 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 1 4 1 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 Place 0 s in the other rows. Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1

SOP Example: Between Σ List and Π List Any function of N Boolean variables is represented by a truth table having 2 N rows, numbered from 0 through (2 N 1). The function is F2(A, B, C) = Σ(3, 5, 6, 7). There will be 2 3 = 8 rows, numbered 0 through 7, in the truth table for F2. To translate from one list form to the other list form, just pick the numbers in the range 0 (2 N 1) that are not in the source list. F2(A, B, C) = Σ(3, 5, 6, 7). This is missing 0, 1, 2, and 4. So, F2(A, B, C) = Π(0, 1, 2, 4) The translation from the Π list to the Σ list works in the same way.

SOP Example: Truth Table to Canonical Form To produce the Sum of Products representation from a truth table, a) Generate a product term for each row where the value of the function is 1. b) The variable is complemented if its value in the row is 0, otherwise it is not. Here again is the truth table. Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 The term is A B C The term is A B C The term is A B C The term is A B C F2(A, B, C) = A B C + A B C + A B C + A B C

SOP Example: Between Canonical Form and Σ List Given F2(A, B, C) = A B C + A B C + A B C + A B C Write a 0 beneath each complemented variable and a 1 below each that is not. Convert the N bit numbers, assuming unsigned binary. These are the rows of the truth table that have a 1. F2(A, B, C) = A B C + A B C + A B C + A B C 0 1 1 1 0 1 1 1 0 1 1 1 3 5 6 7 F2(A, B, C) = Σ(3, 5, 6, 7) To convert the other way, just reverse the steps.

SOP Example: Between Canonical and Normal Forms Given F2(A, B, C) = A B C + A B C + A B C + A B C To convert this to a simpler normal form, we must first make it more complex. F2(A, B, C) = A B C + A B C + A B C + A B C + A B C + A B C But A B C + A B C = ( A + A) B C = 1 B C = B C A B C + A B C = A (B + B) C = A 1 C = A C A B C + A B C = A B (C + C) = A B 1 = A B So, F2(A, B, C) = B C + A C + A B = A B + A C + B C The more standard notation.

Here is the truth table. POS Example: Truth Table to Π List Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 Note that the function has value 0 in rows 0, 1, 2, and 4. The function is F2(A, B, C) = Π(0, 1, 2, 4).

POS Example: Π List to Truth Table The function is F2(A, B, C) = Π(0, 1, 2, 4). Create a truth table and place logic 0 s in rows 0, 1, 2, and 4. Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 4 1 0 0 0 5 1 0 1 6 1 1 0 7 1 1 1 Place 1 s in the other rows. Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1

POS Example: Truth Table to Canonical Form To produce the Product of Sums representation from a truth table, a) Generate a product term for each row where the value of the function is 0. b) The variable is complemented if its value in the row is 1, otherwise it is not. Here again is the truth table. Row A B C F2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 The term is (A + B + C) The term is (A + B + C ) The term is (A + B + C) The term is ( A + B + C) F2(A, B, C) = (A + B + C) (A + B + C ) (A + B + C) ( A + B + C)

POS Example: Between Canonical Form and Π List F2(A, B, C) = (A + B + C) (A + B + C ) (A + B + C) ( A + B + C) Write a 1 beneath each complemented variable and a 0 below each that is not. Convert the N bit numbers, assuming unsigned binary. F2(A, B, C) = (A + B + C) (A + B + C ) (A + B + C) ( A + B + C) 0 0 0 0 0 1 0 1 0 1 0 0 0 1 2 4 F2(A, B, C) = Π(0, 1, 2, 4) To convert the other way, just reverse the steps.

POS Example: Between Canonical and Normal Forms F2(A, B, C) = (A + B + C) (A + B + C ) (A + B + C) ( A + B + C) To convert this to a simpler normal form, we must first make it more complex. F2(A, B, C) = (A + B + C) (A + B + C ) (A + B + C) (A + B + C) (A + B + C) ( A + B + C) But (A + B + C) (A + B + C ) = (A + B) (A + B + C) (A + B + C) = (A + C) (A + B + C) ( A + B + C) = (B + C) So, F2(A, B, C) = (A + B) (A + C) (B + C)