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

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

CHAPTER III BOOLEAN ALGEBRA

CHAPTER III BOOLEAN ALGEBRA

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

Chapter 2 Combinational Logic Circuits

Midterm1 Review. Jan 24 Armita

Chapter 2 : Boolean Algebra and Logic Gates

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

UNIT 5 KARNAUGH MAPS Spring 2011

Combinational Logic. Review of Combinational Logic 1

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

Chapter 2 Combinational Logic Circuits

Combinational Logic Fundamentals

2 Application of Boolean Algebra Theorems (15 Points - graded for completion only)

CHAPTER 5 KARNAUGH MAPS

Administrative Notes. Chapter 2 <9>

Number System conversions

Chapter 2 Boolean Algebra and Logic Gates

CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

Fundamentals of Boolean Algebra

DIGITAL ELECTRONICS & it0203 Semester 3

CHAPTER 2 BOOLEAN ALGEBRA

This form sometimes used in logic circuit, example:

CSE 140, Lecture 2 Combinational Logic CK Cheng CSE Dept. UC San Diego

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

Digital Logic Design. Combinational Logic

Unit 2 Session - 6 Combinational Logic Circuits

T9: Covering. Prove true by: Method 1: Perfect induction Method 2: Using other theorems and axioms. Number Theorem. T9 B (B+C) = B Covering

Chapter 2 Combinational Logic Circuits

UNIT 4 MINTERM AND MAXTERM EXPANSIONS

Combinational Logic Design Principles

Chapter 2: Switching Algebra and Logic Circuits

If f = ABC + ABC + A B C then f = AB C + A BC + AB C + A BC + A B C

Introduction to Digital Logic Missouri S&T University CPE 2210 Boolean Representations

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

Karnaugh Maps Objectives

Logic Design I (17.341) Fall Lecture Outline

EEE130 Digital Electronics I Lecture #4

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

UNIT 3 BOOLEAN ALGEBRA (CONT D)

Gate-Level Minimization

Logic Design. Chapter 2: Introduction to Logic Circuits

Digital Circuit And Logic Design I. Lecture 3

ECE 238L Boolean Algebra - Part I

Chap 2. Combinational Logic Circuits

Logic Gate Level. Part 2

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

Chapter-2 BOOLEAN ALGEBRA

Chapter 2: Boolean Algebra and Logic Gates

CHAPTER 3 BOOLEAN ALGEBRA

Chapter 2 Combinational

ELCT201: DIGITAL LOGIC DESIGN

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

CPE100: Digital Logic Design I

ELC224C. Karnaugh Maps

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

Unit 2 Boolean Algebra

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

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

Optimizations and Tradeoffs. Combinational Logic Optimization

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

Chapter 2. Boolean Algebra and Logic Gates

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

MC9211 Computer Organization

Lecture 2 Review on Digital Logic (Part 1)

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

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

Digital Logic Design. Malik Najmus Siraj

Slides for Lecture 10

CPE100: Digital Logic Design I

Boolean Algebra and Logic Gates

Standard Expression Forms

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

Chapter 2 Combinational Logic Circuits

Karnaugh Map & Boolean Expression Simplification

Chapter 2: Princess Sumaya Univ. Computer Engineering Dept.

CS 226: Digital Logic Design

Chapter 4 BOOLEAN ALGEBRA AND THEOREMS, MINI TERMS AND MAX TERMS

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

Solutions to Assignment No 5 Digital Techniques Fall 2007

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

Chapter 2 Boolean Algebra and Logic Gates

Unit 2 Boolean Algebra

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

Computer Organization I

Minimization techniques

Chapter 2 Combinational logic

Binary logic consists of binary variables and logical operations. The variables are

Total Time = 90 Minutes, Total Marks = 50. Total /50 /10 /18

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

Hardware Design I Chap. 2 Basis of logical circuit, logical expression, and logical function

Lecture 7: Karnaugh Map, Don t Cares

Signals and Systems Digital Logic System

Week-I. Combinational Logic & Circuits

Combinational Logic Design/Circuits

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

COS 140: Foundations of Computer Science

Combinational Logic Circuits Part II -Theoretical Foundations

BOOLEAN ALGEBRA TRUTH TABLE

CSE 140 Midterm I - Solution

Transcription:

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

Today s Topics Boolean algebra applications in logic design Postulates Theorems Boolean functions and equations

Boolean Algebra Notation Operation Logic Design Discrete Math Set Algebra Verilog VHDL OR + ᴠ OR AND ᴧ & AND NOT, ~ NOT XOR NA NA ^ XOR

Majority Function Revisited a b c z 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 z = a bc + ab c + abc + abc [3 NOT, 4 AND3, 1 OR4] = ab + ac + bc [3 AND2, 1 OR3] How can we show that the two equations are logically equivalent? Use Boolean algebra a bc+ab c+abc +abc = abc+a bc+abc+ab c +abc+abc = (a+a )bc + ac(b+b ) +ab(c+c ) = (1)bc + ac(1) + ab(1) = bc + ac + ab = ab + ac + bc

Postulates of Boolean Algebra Postulate 1 (Definition): A Boolean algebra is a closed algebraic system containing a set K of two or more elements and the two operators and +. Postulate 2 (Existence of 1 and 0 element): (a) a + 0 = a (identity for +), (b) a 1 = a (identity for ) Postulate 3 (Commutativity): (a) a + b = b + a, Postulate 4 (Associativity): (a) a + (b + c) = (a + b) + c Postulate 5 (Distributivity): (a) a + (b c) = (a + b) (a + c) Postulate 6 (Existence of complement): (a) a a 1 (b) a b = b a (b) a (b c) = (a b) c (b) a (b + c) = a b + a c (b) a a 0 Note that is omitted and that a is often used to represent the complement.

Fundamental Theorems of Boolean Algebra (1) Theorem 1 (Idempotency): (a) a + a = a (b) aa = a Theorem 2 (Null element): (a) a + 1 = 1 (b) a0 = 0 Theorem 3 (Involution) a a

Fundamental Theorems of Boolean Algebra (2) Theorem 4 (Absorption) (a) a + ab = a (b) a(a + b) = a Examples: (X + Y) + (X + Y)Z = X + Y [T4(a)] AB'(AB' + B'C) = AB' [T4(b)] Theorem 5 (a) a + a'b = a + b (b) a(a' + b) = ab Examples: B + AB'C'D = B + AC'D [T5(a)] (X + Y)((X + Y)' + Z) = (X + Y)Z [T5(b)]

Fundamental Theorems of Boolean Algebra (3) Theorem 6 (a) ab + ab' = a (b) (a + b)(a + b') = a Examples: ABC + AB'C = AC [T6(a)] (W' + X' + Y' + Z')(W' + X' + Y' + Z)(W' + X' + Y + Z')(W' + X' + Y + Z) = (W' + X' + Y')(W' + X' + Y + Z')(W' + X' + Y + Z) [T6(b)] = (W' + X' + Y')(W' + X' + Y) [T6(b)] = (W' + X') [T6(b)]

Fundamental Theorems of Boolean Algebra (4) Theorem 7 (a) ab + ab'c = ab + ac (b) (a + b)(a + b' + c) = (a + b)(a + c) Examples: wy' + wx'y + wxyz + wxz' = wy' + wx'y + wxy + wxz' [T7(a)] = wy' + wy + wxz' [T7(a)] = w + wxz' [T7(a)] = w [T7(a)] (x'y' + z)(w + x'y' + z') = (x'y' + z)(w + x'y') [T7(b)]

Fundamental Theorems of Boolean Algebra (5) Theorem 8 (DeMorgan's Theorem) (a) (a + b)' = a'b' (b) (ab)' = a' + b' Generalized DeMorgan's Theorem (a) (a + b + z)' = a'b' z' (b) (ab z)' = a' + b' + z' Examples: (a + bc)' = (a + (bc))' = a'(bc)' [T8(a)] = a'(b' + c') [T8(b)] = a'b' + a'c' [P5(b)] Note: (a + bc)' a'b' + c'

Fundamental Theorems of Boolean Algebra (6) More Examples for DeMorgan's Theorem (a(b + z(x + a')))' = a' + (b + z(x + a'))' [T8(b)] = a' + b' (z(x + a'))' [T8(a)] = a' + b' (z' + (x + a')') [T8(b)] = a' + b' (z' + x'(a')') [T8(a)] = a' + b' (z' + x'a) [T3] = a' + b' (z' + x') [T5(a)] (a(b + c) + a'b)' = (ab + ac + a'b)' [P5(b)] = (b + ac)' [T6(a)] = b'(ac)' [T8(a)] = b'(a' + c') [T8(b)]

Fundamental Theorems of Boolean Algebra (7) Theorem 9 (Consensus) (a) ab + a'c + bc = ab + a'c (b) (a + b)(a' + c)(b + c) = (a + b)(a' + c) Examples: AB + A'CD + BCD = AB + A'CD [T9(a)] (a + b')(a' + c)(b' + c) = (a + b')(a' + c) [T9(b)] ABC + A'D + B'D + CD = ABC + (A' + B')D + CD [P5(b)] = ABC + (AB)'D + CD [T8(b)] = ABC + (AB)'D [T9(a)] = ABC + (A' + B')D [T8(b)] = ABC + A'D + B'D [P5(b)]

Switching (Logic) Functions Switching algebra: Boolean algebra with the set of elements K = {0, 1} If there are n variables, we can define switching functions. Sixteen functions of two variables (Table 2.3): AB f 0 f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 15 00 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 01 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 10 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 11 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A switching function can be represented by a table as above, or by a switching expression as follows: f 0 (A,B)= 0, f 6 (A,B) = AB' + A'B, f 11 (A,B) = AB + A'B + A'B' = A' + B,... Value of a function can be obtained by plugging in the values of all variables, e.g., the value of f 6 when A = 1 and B = 0 is: 1 0 +1 0 = 0 + 1 = 1. 2 2n

Algebraic Forms of Switching Functions (1) Literal: A variable, complemented or uncomplemented. Product term: A literal or literals ANDed together. Sum term: A literal or literals ORed together. SOP (Sum of Products): ORing product terms f(a, B, C) = ABC + A'C + B'C POS (Product of Sums) ANDing sum terms f (A, B, C) = (A' + B' + C')(A + C')(B + C')

Algebraic Forms of Switching Functions (2) A minterm is a product term in which all the variables appear exactly once either complemented or uncomplemented. Canonical Sum of Products (canonical SOP): Represented as a sum of minterms only. Example: f 1 (A,B,C) = A'BC' + ABC' + A'BC + ABC (2.1) Minterms of three variables: Minterm Minterm Code Minterm Number A'B'C' 000 m 0 A'B'C 001 m 1 A'BC' 010 m 2 A'BC 011 m 3 AB'C' 100 m 4 AB'C 101 m 5 ABC' 110 m 6 ABC 111 m 7

Algebraic Forms of Switching Functions (3) Compact form of canonical SOP form: f 1 (A,B,C) = m 2 + m 3 + m 6 + m 7 (2.2) A further simplified form: f 1 (A,B,C) = S m (2,3,6,7) (minterm list form) (2.3) The order of variables in the functional notation is important. Deriving truth table of f 1 (A,B,C) from minterm list: Row No. (i) Inputs ABC Outputs f 1 (A,B,C)= Sm(2,3,6,7) 0 000 0 1 m 0 1 001 0 1 m 1 2 010 1 m 2 0 3 011 1 m 3 0 4 100 0 1 m 4 5 101 0 1 m 5 6 110 1 m 6 0 7 111 1 m 7 0 Complement f 1 '(A,B,C)= Sm(0,1,4,5)

Algebraic Forms of Switching Functions (4) Example: Given f(a,b,q,z) = A'B'Q'Z' + A'B'Q'Z + A'BQZ' + A'BQZ, express f(a,b,q,z) and f '(A,B,Q,Z) in minterm list form. f(a,b,q,z) = A'B'Q'Z' + A'B'Q'Z + A'BQZ' + A'BQZ = m 0 + m 1 + m 6 + m 7 = S m(0, 1, 6, 7) f '(A,B,Q,Z) = m 2 + m 3 + m 4 + m 5 + m 8 + m 9 + m 10 + m 11 + m 12 + m 13 + m 14 + m 15 = S m(2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15) m i 1 (2.6) i 0 AB + (AB)' = 1 and AB + A' + B' = 1, but AB + A'B' 1. n 2 1

Algebraic Forms of Switching Functions (5) A maxterm is a sum term in which all the variables appear exactly once either complemented or uncomplemented. Canonical Product of Sums (canonical POS): Represented as a product of maxterms only. Example: f 2 (A,B,C) = (A+B+C)(A+B+C')(A'+B+C)(A'+B+C') (2.7) Maxterms of three variables: Maxterm Maxterm Code Maxterm Number A+B+C 000 M 0 A+B+C' 001 M 1 A+B'+C 010 M 2 A+B'+C' 011 M 3 A'+B+C 100 M 4 A'+B+C' 101 M 5 A'+B'+C 110 M 6 A'+B'+C' 111 M 7

Algebraic Forms of Switching Functions (6) f 2 (A,B,C) = M 0 M 1 M 4 M 5 (2.8) = PM(0,1,4,5) (maxterm list form) (2.9) The truth table for f 2 (A,B,C): Rwo No. (i) M 0 M 1 Inputs ABC A+B+C A+B+C' A'+B+C A'+B+C' 0 000 0 1 1 1 0 1 001 1 0 1 1 0 2 010 1 1 1 1 1 3 011 1 1 1 1 1 4 100 1 1 0 1 0 5 101 1 1 1 0 0 6 110 1 1 1 1 1 7 111 1 1 1 1 1 M 4 M 5 Outputs f 2 (A,B,C)

Algebraic Forms of Switching Functions (7) Truth tables of f 1 (A,B,C) of Eq. (2.3) and f 2 (A,B,C) of Eq. (2.7) are identical. Hence, f 1 (A,B,C) = S m (2,3,6,7) = f 2 (A,B,C) = PM(0,1,4,5) (2.10) Example: Given f(a,b,c) = ( A+B+C')(A+B'+C')(A'+B+C')(A'+B'+C'), construct the truth table and express in both maxterm and minterm form. f(a,b,c) = M 1 M 3 M 5 M 7 = PM(1,3,5,7) = S m (0,2,4,6) Row No. (i) Inputs ABC 0 000 1 m 0 1 001 0 M 1 2 010 1 m 2 3 011 0 M 3 4 100 1 m 4 5 101 0 M 5 6 110 1 m 6 7 111 0 M 7 Outputs f(a,b,c)= P M(1,3,5,7) = Sm(0,2,4,6)

Algebraic Forms of Switching Functions (8) Relationship between minterm m i and maxterm M i : For f(a,b,c), (m 1 )' = (A'B'C)' = A + B + C' = M 1 In general, (m i )' = M i (2.11) (Mi)' = ((m i )')' = m i (2.12) Example: Relationship between the maxterms of a function and its complement. For f(a,b,c) = ( A+B+C')(A+B'+C')(A'+B+C')(A'+B'+C'), the truth table is Row No. (i) Inputs ABC Outputs f (A,B,C) 0 000 1 0 M 0 1 001 0 1 2 010 1 0 M 2 3 011 0 1 4 100 1 0 M 4 5 101 0 1 6 110 1 0 M 6 7 111 0 1 Outputs f '(A,B,C)= P M(0,2,4,6)

Algebraic Forms of Switching Functions (9) From the truth table f '(A,B,C) = PM(0,2,4,6) and f(a,b,c) = PM(1,3,5,7) Since f(a,b,c) f '(A,B,C) = 0, (M 0 M 2 M 4 M 6 )(M 1 M 3 M 5 M 7 ) = 0 or 2 1 M i i 0 n 2 1 In general, M i 0 (2.13) i 0 Another observation from the truth table: f(a,b,c) = S m (0,2,4,6) = PM(1,3,5,7) f '(A,B,C) = S m (1,3,5,7) = PM(0,2,4,6) 3 0

Derivation of Canonical Forms (1) Derive canonical SOP or POS forms using switching algebra. Theorem 10. Shannon's expansion theorem (a). f(x 1, x 2,, x n ) = x 1 f(1, x 2,, x n ) + (x 1 )' f(0, x 2,, x n ) (b). f(x 1, x 2,, x n ) = [x 1 + f(0, x 2,, x n )] [(x 1 )' + f(1, x 2,, x n )] Example: f(a,b,c) = AB + AC' + A'C f(a,b,c) = AB + AC' + A'C = A f(1,b,c) + A' f(0,b,c) = A(1 B + 1 C' + 1' C) + A'(0 B + 0 C' + 0' C) = A(B + C') + A'C f(a,b,c) = A(B + C') + A'C = B[A(1+C') + A'C] + B'[A(0 + C') + A'C] = B[A + A'C] + B'[AC' + A'C] = AB + A'BC + AB'C' + A'B'C f(a,b,c) = AB + A'BC + AB'C' + A'B'C = C[AB + A'B 1 + AB' 1' + A'B' 1] + C'[AB + A'B 0 + AB' 0' + A'B' 0] = ABC + A'BC + A'B'C + ABC' + AB'C'

Derivation of Canonical Forms (2) Alternative: Use Theorem 6 to add missing literals. Example: f(a,b,c) = AB + AC' + A'C to canonical SOP form. AB = ABC' + ABC = m 6 + m 7 AC' = AB'C' + ABC' = m 4 + m 6 A'C = A'B'C + A'BC = m 1 + m 3 Therefore, f(a,b,c) = (m 6 + m 7 ) + (m 4 + m 6 ) + (m 1 + m 3 ) = Sm(1, 3, 4, 6, 7) Example: f(a,b,c) = A(A + C') to canonical POS form. A = (A+B')(A+B) = (A+B'+C')(A+B'+C)(A+B+C')(A+B+C) = M 3 M 2 M 1 M 0 (A+C')= (A+B'+C')(A+B+C') = M 3 M 1 Therefore, f(a,b,c) = (M 3 M 2 M 1 M 0 )(M 3 M 1 ) = PM(0, 1, 2, 3)

Incompletely Specified Functions A switching function may be incompletely specified. Some minterms are omitted, which are called don't-care minterms. Don't cares arise in two ways: Certain input combinations never occur. Output is required to be 1 or 0 only for certain combinations. Don't care minterms: d i Don't care maxterms: D i Example: f(a,b,c) has minterms m 0, m 3, and m 7 and don't-cares d 4 and d 5. Minterm list is: f(a,b,c) = Sm(0,3,7) + d(4,5) Maxterm list is: f(a,b,c) = PM(1,2,6) D(4,5) f '(A,B,C) = Sm(1,2,6) + d(4,5) = PM(0,3,7) D(4,5) f (A,B,C)= A'B'C' + A'BC + ABC + d(ab'c' + AB'C) = B'C' + BC (use d 4 and omit d 5 )