Computer Engineering Chapter 3 Boolean Algebra Hiroaki Kobayashi 5/30/2011 Ver. 06102011 5/30/2011 Computer Engineering 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/30/2011 Computer Engineering 2
Boolean Algebra Mathematical 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/30/2011 Computer Engineering 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 AND OR NOT Boolean/Logical Expression Expression composed of Boolean values and/or variable and their operations X+Y Z 5/30/2011 Computer Engineering 4
Basic Boolean/Logical Operations AND ( ) The AND function is defined as the function that generates the output of true if two (all) 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 = A B " 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/30/2011 Computer Engineering 5 Basic Boolean/Logical Operations (Cont d) OR (+) Generate true if either of two inputs (at least one input) is true E.g. two input OR Z= A,B)=A OR BA B 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/30/2011 Computer Engineering 6
Other Logical Operators Possible Logical Operators for two inputs Meaning 5/30/2011 Computer Engineering 7 Logical Equations/Expressions Logical Expressions/Equations Composed of logical AND/OR/ NOT operations E.g. Z=A+B C Truth table of Z=A+B C?? A B C Z " Priority of logical operators NOT AND OR Use ( ) if you give higher priorities to specific terms/ partial expressions # Z=(A+B) C 5/30/2011 Computer Engineering 8
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 (ORing 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/30/2011 Computer Engineering 9 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/30/2011 Computer Engineering 10
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 # A B only generates 1 for inputs (0,1) A B A B & Generate SUM (OR) of products that generate 1 " Logical expression is obtained in the canonical sum of product form & Z=A B A B 5/30/2011 Computer Engineering 11 Exercise Logical expression of Z?? 5/30/2011 Computer Engineering 12
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 {AND NOT} {OR NOT}, {NAND} {NOR} 5/30/2011 Computer Engineering 13 Laws and Theorems of Boolean Algebra Duality Duality The rules on the one side can be derived from the rules on the other side 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/30/2011 Computer Engineering 14
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/30/2011 Computer Engineering 15 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/30/2011 Computer Engineering 16
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 i +X i ) X 1 X 2 X i-1 X i+1 X M-1 : Xi, Xi removed because of 1=(X i + X i )! 5/30/2011 Computer Engineering 17 Example of Simplification Simplify the following equation XYZ+XYZ+XYZ 4 operations (3 ANDs and 1 OR) XYZ+XYZ+XYZ XYZ 5 operations XY(Z+Z) XZ(Y+Y) 5 operations XY+XZ 3operations X(Y+Z) 2 operations Exercise Simplify the following expressions XY+XYZ+YZ XY+YZ+XZ XYZ+XYZ+XYZ+XYZ 5/30/2011 Computer Engineering 18
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/30/2011 Computer Engineering 19 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/30/2011 Computer Engineering 20
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) ) Find neighboring 1s, and remove an input variable whose 0 and 1 inputs are both related to the neighboring 1s. 5/30/2011 Computer Engineering 21 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/30/2011 Computer Engineering 22
Simplification of an Expression using Karnaugh Map: Three-Variable Case XY+XZ+XZ 5/30/2011 Computer Engineering 23 Simplification of an Expression using Karnaugh Map: 4-Variable Case XW XY ZW 00 01 11 10 00 01 1 1 0 0 0 0 1 0 XYZW YZ 11 10 1 0 0 1 1 1 0 1 XYZW+XYZW+XYZW+XYZW XYZW+XYZW+XYZW+XYZW XW+YZ+XYZW Canonical Sum of products Its simplest form 5/30/2011 Computer Engineering 24
Drive an Expression from a Table with Don t-care outputs Example Carry signals for a BCD operation X Y Z W 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/30/2011 Computer Engineering 25 Exercise 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/30/2011 Computer Engineering 26