ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 2 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering
Boolean Algebra
Boolean Algebra A Boolean algebra is defined with: A set of elements S A set of operators A number of unproved axioms or postulates A set is a collection of objects S={,} S={,2,3,4} We will focus on a two-valued Boolean algebra.
Boolean Algebra (cont.) A binary operator: Defined on a set S of elements A rule that assigns to each pair of elements from S a unique element from S Example a b=c a S and b S it must hold that a b S A set S is closed with respect to a binary operator if for every two elements of S, the binary operator specifies a unique element of S
Definition of Boolean Algebra Boolean algebra is an algebraic structure, defined by a set of elements S and two binary operators, +, and, with the following postulates:. The structure is closed with respect to + and 2. Element is an identity element for + Element is an identify element for x+=+x=x x = x=x
Definition of Boolean Algebra (cont.) 3. The structure is commutative with respect to + and : a + b = b + a a b = b a 4. The operator is distributive over + The operation + is distributive over a ( b + c ) = ( a b ) + ( a c ) a + ( b c ) = ( a + b ) ( a + c )
Definition of Boolean Algebra (cont.) 5. For every element a S there exists an element a S such that a+ a = a a = 6. There exist at least two elements a,b S such that a b
Associative Law Note that the postulates do not include the associative law a + (b + c) = (a + b) + c a (b c) = (a b) c However, the associative law holds and can be derived from the postulates
Comparison with ordinary algebra The distributive law of + over is not valid for regular algebra a + ( b c ) = ( a + b ) ( a + c ) Boolean algebra does not have additive or multiplicative inverses; therefore there are no subtraction or division operations Postulate 5 ( a+ a =, a a =) is not available in ordinary algebra
Two-valued Boolean Algebra Is defined on a set of two elements B={,}, with the rules for two operators + and as shown below: x y x + y
Two-valued Boolean Algebra (cont.) It can be easily shown that postulates -6 are valid for the set S={,} and two operators + and For postulate 5 we use the following complement operator: x
Two-valued Boolean Algebra (cont.) The validity can be checked by means of truth tables. In truth tables, both sides of the relation are checked to have identical results for all possible combinations of variables Ex, for the distributive law: a ( b + c ) = ( a b ) + ( a c )
Duality The principle of duality is an important concept. This says that if an expression is valid in Boolean algebra, the dual of that expression is also valid. To form the dual of an expression, replace all + operators with operators, all operators with + operators, all ones with zeros, and all zeros with ones. Follows from the structure of the posulates
Duality Form the dual of the expression a + (bc) = (a + b)(a + c) Following the replacement rules a(b + c) = ab + ac Take care not to alter the location of the parentheses if they are present.
DeMorgan s Theorem A key theorem in simplifying Boolean algebra expression is DeMorgan s Theorem. It states: (a + b) = a b (ab) = a + b Complement the expression a(b + z(x + a )) and simplify. (a(b+z(x + a ))) = a + (b + z(x + a )) = a + b (z(x + a )) = a + b (z + (x + a ) ) = a + b (z + x a ) = a + b (z + x a)
Postulates and Basic Theorems
Theorem (a) This theorem states: x+x= x Proof:
Theorem (b) This theorem states: x x= x Proof:
Theorem 2(a) This theorem states: x += Proof:
Theorem 2(b) This theorem states: x = Proof (hint - use the duality property):
Consensus Properties This theorem states: x y + x z= xy + yz + x z The dual is also valid.
CIRCUIT REPRESENTATIONS
Overview Expressing Boolean functions Relationships between algebraic equations, symbols, and truth tables Simplification of Boolean expressions Minterms and Maxterms AND-OR representations Product of sums Sum of products
Boolean Functions Boolean algebra deals with binary variables and logic operations. Function results in binary or x y z F F = x(y+z ) x y z z y+z F = x(y+z )
Boolean Functions x y z xy x y z G = xy +yz yz xy We will learn how to transition between equation, symbols, and truth table. yz G
Representation Conversion Need to transition between boolean expression, truth table, and circuit (symbols). Circuit Boolean Expression Truth Table
Truth Table to Expression Converting a truth table to an expression Each row with output of becomes a product term Sum product terms together. x y z G xyz + xyz + x yz Any Boolean Expression can be represented in sum of products form!
Equivalent Representations of Circuits All three formats are equivalent Number of s in truth table output column equals AND terms for Sum-of-Products (SOP) x y z x y z G G = xyz + xyz + x yz G x x x x x x x x x
Reducing Boolean Expressions Is this the smallest possible implementation of this expression? No! G = xyz + xyz + x yz Use Boolean Algebra rules to reduce complexity while preserving functionality. Step : Use Theorem (a + a = a) So xyz + xyz + x yz = xyz + xyz + xyz + x yz Step 2: Use distributive rule a(b + c) = ab + ac So xyz + xyz + xyz + x yz = xy(z + z ) + yz(x + x ) Step 3: Use Postulate 3 (a + a = ) So xy(z + z ) + yz(x + x ) = xy + yz Step 4: Use Postulate 2 (a = a) So xy + yz = xy + yz = xyz + xyz + x yz
Reduced Hardware Implementation Reduced equation requires less hardware! Same function implemented! x y z x y z G G = xyz + xyz + x yz = xy + yz G x x x x
Minterms and Maxterms Each variable in a Boolean expression is a literal Boolean variables can appear in normal (x) or complement form (x ) Each AND combination of terms is a minterm Each OR combination of terms is a maxterm For example: Minterms x y z Minterm x y z m x y z m xy z m 4 xyz m 7 For example: Maxterms x y z Maxterm x+y+z M x+y+z M x +y+z M 4 x +y +z M 7
Representing Functions with Minterms Minterm number same as row position in truth table (starting from top from ) Shorthand way to represent functions x y z G G = xyz + xyz + x yz G = m 7 + m 6 + m 3 = Σ(3, 6, 7)
Complementing Functions Minterm number same as row position in truth table (starting from top from ) Shorthand way to represent functions x y z G G = xyz + xyz + x yz G = (xyz + xyz + x yz) = G Can we find a simpler representation?
Complementing Functions Step : assign temporary names b + c z (a + z) = G Step 2: Use DeMorgans Law G = a + b + c G = (a + b + c) (a + z) = a z Step 3: Resubstitute (b+c) for z a z = a (b + c) Step 4: Use DeMorgans Law a (b + c) = a (b c ) Step 5: Associative rule a (b c ) = a b c G = a + b + c G = a b c = a b c
Conversion Between Canonical Forms Easy to convert between minterm and maxterm representations For maxterm representation, select rows with s x y z G G = xyz + xyz + x yz G = m 7 + m 6 + m 3 = Σ(3, 6, 7) G = M M M 2 M 4 M 5 = Π(,,2,4,5) G = (x+y+z)(x+y+z )(x+y +z)(x +y+z)(x +y+z )
Representation of Circuits All logic expressions can be represented in 2-level format Circuits can be reduced to minimal 2-level representation Sum of products representation most common in industry.
Venn Diagrams
Venn Diagram: A+B
Venn Diagram: A.B
Containment
Venn Diagram: A B
Venn Diagram: A+B
Venn Diagram: (A+B ) = A.B
Venn Diagram: A +B =?
Venn Diagram: A +B = (AB)
Venn Diagram: 3 Variables
Summary Truth table, circuit, and boolean expression formats are equivalent Easy to translate truth table to SOP and POS representation Boolean algebra rules can be used to reduce circuit size while maintaining function Venn Diagrams can be used to represent Boolean expressions. All logic functions can be made from AND, OR, and NOT
Codes
Binary Coded Decimal Digit BCD Code Digit BCD Code 5 6 2 7 3 8 4 9 Binary coded decimal (BCD) represents each decimal digit with four bits Ex = 329 3 2 9 This is NOT the same as 2 Why do this? Because people think in decimal.
Putting It All Together BCD not very efficient. Used in early computers (4s, 5s). Used to encode numbers for sevensegment displays. Easier to read?
Gray Code Digit Binary Gray Code 2 3 4 5 6 7 8 9 2 3 4 5 Gray code is not a number system. It is an alternate way to represent four bit data Only one bit changes from one decimal digit to the next Useful for reducing errors in communication. Can be scaled to larger numbers.
ASCII Code American Standard Code for Information Interchange ASCII is a 7-bit code, frequently used with an 8 th bit for error detection. Character ASCII (bin) ASCII (hex) Decimal Octal A 4 65 B 42 66 2 C 43 67 3 Z a
ASCII Codes and Data Transmission ASCII Codes A Z (26 codes), a z (26 codes) -9 ( codes), others (@#$%^&* )