Computer Engineering Chapter 3 Boolean Algebra Hiroaki Kobayashi 5/19/2008 5/19/2008 1 Agenda in Chapter 3 What is Boolean Algebra Basic Boolean/Logical Operations (Operators) Truth Table to Describe Logical Functions/Expressions Driving Logical Expressions from Truth Tables Simplification of Logical Expressions 5/19/2008 2 1
Boolean AlgebraMathematical Foundation of Computers Computer World Mathematical world: Boolean Algebra ON 1 OFF 0 Define mathematics on values of True /False and their operations Information is represented as a combination of on or off, high voltage or low voltage signal 5/19/2008 3 Terminology in Boolean Algebra Boolean/Logical Values True, 1 (0) or False, 0 (1) Boolean/Logical Variable Variable that takes a Boolean value (true or false) X, Y, Boolean/Logical Operations Operations defined for logic values, true or false and/or logical variables ANDORNOT Boolean/Logical Expression Expression composed of Boolean values and/or variable and their operations X+YZ 5/19/2008 4 2
Basic Boolean/Logical Operations AND () The AND function is defined as the function that generates the output of true if two inputs A and B are both 1, otherwise the output becomes 0. E.g.two input logical AND operation Z=A,B)=A AND B = AB Truth Table Listing of all possible input combinations correlated with the output when a specific operation is applied. Truth table of AND Circuit model of the AND operation 5/19/2008 5 Basic Boolean/Logical Operations (Cont d) OR (+) Generate true if either of two inputs is true E.g. two input OR Z=A,B)=A OR BAB NOT (Negation, ) Negation of input generate 1 if input is 0, 0 if input is 1. one input E.g.Z=A Truth table of OR Circuit model A Truth table & circuit model 5/19/2008 6 3
Other Logical Operators Possible Logical Operators for two inputs Meaning 5/19/2008 7 Completeness What kinds of operators are necessary to represent any logical expressions? Completeness: a set of operators to represent any logical expressions Any logical expressions are derived in canonical sum of products form {AND, OR, NOT} is a set of operators with completeness 5/19/2008 8 4
Logical Equations/Expressions Logical Expressions/Equations Composed of logical AND/OR/ NOT operations E.g. Z=A+BC Truth table of Z=A+BC?? ABCZ Priority of logical operators NOTANDOR Use () if you give higher priorities to specific terms/ partial expressions Z=(A+B)C 5/19/2008 9 How to Derive a Logical Expression from a Truth Table: Canonical Sum of Product Minimum Term Product (AND) of all inputs, in which each variable appears exactly once in either true or its negation Examples of minimum terms ABC,ABC Canonical sum of product Logical expression consisting of minimum terms e.g., ABC+ABC Logical expression can be derived from a truth table in the canonical sum of product form Logical expression of Z?? 5/19/2008 10 5
How to derive a logical expression from a truth table Truth table of exclusive OR True if the two inputs are different. Problem: Drive a logical expression! 5/19/2008 11 How to derive a logical expression from a truth table (Cont d) A rule to derive a logical expression from a truth table Z becomes 1 only if A=0 and B=1 or A=1 and B=0, so Pick up input combinations that generate 1 For each input combination, AND input variables to generate 1 If input is 0, its negation is ANDed E.g., if (A,B)=(0,1), AND of A and B AB only generates 1 for inputs (0,1) AB AB Generate SUM (OR) of products that generate 1 Logical expression is obtained in the canonical sum of product form Z=ABAB 5/19/2008 12 6
Exercise Logical expression of Z?? 5/19/2008 13 Completeness What kinds of operators are necessary to represent any logical expressions? Is it the minimum set??? Completeness: a set of operators to represent any logical expressions Any logical expressions are derived in canonical sum of products form {AND, OR, NOT} is a set of operators with completeness Question:AND,OR,NOT} is the minimum set?? X+Y=X+Y=XY OR can be represented by AND and NOT operations. Not the minimum set!! Minimum set of logical operators with completeness {ANDNOT}{ORNOT}, {NAND}{NOR} 5/19/2008 14 7
Laws and Theorems of Boolean Algebra Duality Duality It is derived from the original by replacing AND operation by OR operations and vice versa, and replacing constant logic 0 s by logic 1 s and vice versa, while leaving the logical variables unchanged 5/19/2008 15 Laws and Theorems of Boolean Algebra(Cont d) Associative Law(11,12)Commutative Law(13, 14), Distributive Law (17,18) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) 5/19/2008 16 8
Laws and Theorems of Boolean Algebra(Cont d) (21) (22) (23) (24) (25) (26) (27) (29) (30) De Morgan s Theorem (31) (31) (20) 5/19/2008 17 Simplification of Logical Expressions Minimize the number of operators in expressions without changing their meaning Motivation Simplified expressions lead to Easy to handle Fast computation and small area if the expression implemented as circuits Basic strategy for simplification Find ORs of logical variable and its negation, i.e., (X+X), terms by applying the distributive law, and reduce them by using (X+X)=1 That is, X 1 X 2 X i X i+1 X M-1 + X 1 X 2 X i X i+1 X M-1 X 1 X 2 X i-1 X i+1 X M-1,X+X) X 1 X 2 X i-1 X i+1 X M-1, 1=(X i + X i ) 5/19/2008 18 9
Example of Simplification Simplify the following equation XYZ+XYZ+XYZ XYZ+XYZ+XYZXYZ XY(Z+Z)XZ(Y+Y) XY+XZ X(Y+Z) 4 operations (3 ANDs and 1 OR) 5 operations 5 operations 3operations 2 operations Exercise Simplify the following expressions XY+XYZ+YZ XY+YZ+XZ XYZ+XYZ+XYZ+XYZ 5/19/2008 19 Karnaugh Map: Schematic Method for Simplification Schematic representation to show the adjacencies of terms Two terms are adjacent if only one variable of them is different e.g., XYZ and XYZ How to represent an expression on Karnaugh Map 1 variable case: Input values outputs X X 5/19/2008 20 10
2-Variable Case: Drive an expression from a Truth Table via Karnaugh Map Karnaugh Map for 2 variables XY+XY+XY Truth Table of f=x+y Karnaugh Map Expression Canonical sum of product form) 5/19/2008 21 Simplification of an Expression using Karnaugh Map Karnaugh map of XY+XY+XY Y (output defined regardless of X) (=Y(X+X)) X+Y X (output defined regardless of Y) (=X(Y+Y) ) 5/19/2008 22 11
Karnaugh Map for Three Variables Truth Table Only one bit differs between neighbors Karnaugh Map XYZ+XYZ +XYZ+XYZ +XYZ Expression Canonical sum of product form) 5/19/2008 23 Simplification of an Expression using Karnaugh Map: Three-Variable Case XY+XZ+XZ 5/19/2008 24 12
Simplification of an Expression using Karnaugh Map: 4-Variable Case XYZW+XYZW+XYZW+XYZW XYZW+XYZW+XYZW+XYZW XW+YZW+XYZ+XYZW Canonical Sum of products Its simplest form 5/19/2008 25 Drive an Expression from a Table with Don t-care outputs Carry signals for a BCD operation XY ZW Range defined for BCD operations Don t care (out of consideration) XY 00 01 11 10 ZW 00 0 0 * 0 01 0 0 * 1 11 0 0 * * 10 0 0 * * We can assume 1 s or 0 s for the simplification!! XYZW XZW XW 5/19/2008 26 13
Exercise (home work) Simplify the following logical expressions by using Karnaugh Maps F(X,Y,Z)=XYZ+ XYZ+ XYZ+ XYZ+ XYZ+ XYZ F(X,Y,Z,W)=XYZW+ XYZW+ XYZW+ XYZW+ XYZW+ XYZW+ XYZW 5/19/2008 27 14