Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 2: Boolean Algebra and Logic Functions CS 3402-- Digital Logic Design CS 3402:A.Berrached 1 Boolean Algebra Algebraic structure consisting of: • a set of elements B • operations {AND, OR} Notation: X AND Y X • Y XY X OR Y X+Y • B contains at least two elements a & b such that a b Note: switching algebra is a subset of Boolean algebra where B={0, 1} Axioms of Boolean Algebra 4. Associative Laws: 1. Closure a,b in B, (i) a + (b+c) = (a+b)+c = a+b+c (ii) a. (b.c) = (a.b).c = a.b.c (i) a + b in B 5. Distributive Laws: (ii) a • b in B (i) a + (b • c) = (a + b) • (a + c) 2. Identities: 0, 1 in B (ii) a • (b + c) = (a • b) + (a • c) (i) a + 0 = a 6. Existence of the Complement: (ii) a • 1 = a exists a’ unique in B 3. Commutative Laws: a,b in B, (i) a + a’ = 1 (i) a + b = b + a (ii) a • a’ = 0 (ii) a • b = b • a a’ is complement of a CS 3402:A.Berrached 2 Principle of Duality Definition of duality: a dual of a Boolean expression is derived by replacing AND operations by ORs, OR operations by ANDs, constant 0s by 1s, and 1s by 0s (everything else is left unchanged). Principle of duality: if a statement is true for an expression, then it is also true for the dual of the expression Example: find the dual of the following equalities 1) 2) XY+Z = 0 a(b+c) = ab + ac CS 3402:A.Berrached 3 Boolean Functions A Boolean function consists of an algebraic expression formed with binary variables, the constants 0 and 1, the logic operation symbols, parenthesis, and an equal sign. Example: F(X,Y,Z) = X + Y’ Z or F = X + Y’ Z X, Y and Z are Boolean variables A literal: The appearance of a variable or its complement in a Boolean expression A Boolean function can be represented with a truth table A Boolean function can be represented with a logic circuit diagram composed of logic gates. CS 3402:A.Berrached 4 From Boolean Expression to Gates More than one way to map an expression to gates E.g., Z = A' • B' • (C + D) = (A' • (B' • (C + D))) A Z B T1 C T D 2 A B Z C D For each Boolean function, there is only one unique truth table representation =>Truth table is CS the3402:A.Berrached unique signature of a Boolean function 5 Boolean Functions Possible Boolean Functions of Two variables X Y 0 0 0 1 1 0 1 1 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 NAND NOR X• Y 1 X Y X+Y Description Z = 1 if X is 0 or Y is 0 Description Z = 1 if both X and Y are 0 Y X Gates X Y Truth T able X Y Z 0 0 1 0 1 1 1 0 1 1 1 0 Z Gates X Y CS 3402:A.Berrached Truth T able Z X 0 0 1 1 Y 0 1 0 1 Z 1 0 0 0 6 Basic Logic Functions: NAND, NOR NAND, NOR gates far outnumber AND, OR in typical designs • easier to construct in the underlying transistor technologies • they are functionally complete Functionally Complete Operation Set: • A set of logic operations from which any Boolean function can be realized (also called universal operation set) • E.g. {AND, OR, NOT} is functionally complete The NAND operation is also functionally complete • => any Boolean function can be realized with one type of gate (the NAND gate). The NOR operation is also functionally complete CS 3402:A.Berrached 7 Basic Logic Functions: XOR, XNOR XOR: X or Y but not both ("inequality", "difference") XNOR: X and Y are the same ("equality", "coincidence") Desc ription Z = 1 if X has a different value than Y Desc ription Z = 1 if X has the s ame value as Y Gates Gates X Z Truth T able X 0 0 1 1 (a) XOR Z Y Y Truth T able X Y 0 1 0 1 Z 0 1 1 0 X 0 0 1 1 Y 0 1 0 1 Z 1 0 0 1 (b) XNOR CS 3402:A.Berrached 8 Logic Functions: Rationale for Simplification Logic Minimization: reduce complexity of the gate level implementation • reduce number of literals (gate inputs, circuit inputs) • reduce number of gates • reduce number of levels of gates fewer inputs implies faster gates in some technologies fan-ins (number of gate inputs) are limited in some technologies Fewer circuit inputs implies fewer I/O pins fewer levels of gates implies reduced signal propagation delays number of gates (or gate packages) influences manufacturing costs In general, need to make tradeoff between circuit delay and reduced gate count. CS 3402:A.Berrached 9 Simplification Using Boolean Algebra Useful Theorems of Boolean Algebra: 1. Idempotency Theorem a. X + X = X b. X • X = X 2. Null elements for + and • operators a. X + 1 = 1 b. X . 0 = 0 3. Involution Theorem (X’)’ = X 4. Absorption Theorem a. X + XY = X b. X.(X+Y) = X 5. Simplification Theorem a. XY + XY’ = X b. (X+Y).(X+Y’) = X 6. Another Simplification Theorem a. X + X’Y = X + Y b. X.(X’ + Y) = X.Y CS 3402:A.Berrached 10 DeMorgan's Theorems 7. DeMorgan’s Theorem a. (X+Y)’ = X’ . Y’ b. (X.Y)’ = X’ + Y’ The complement of the sum is the product of the complements The complement of the product is the sum of the complements In general a. (A+B+….+Z)’ = A’ . B’ . … .Z’ b. (A.B.C….Z)’ = A’ + B’ + ….+Z’ CS 3402:A.Berrached 11 DeMorgan's Theorem (X + Y)' = X' • Y' NOR is equivalent to AND with inputs complemented (X • Y)' = X' + Y' NAND is equivalent to OR with inputs complemented X 0 0 1 1 Y 0 1 0 1 X 1 1 0 0 Y 1 0 1 0 X 0 0 1 1 Y 0 1 0 1 X 1 1 0 0 Y 1 0 1 0 X +Y 1 0 0 0 X•Y 1 0 0 0 X•Y X +Y 1 1 1 1 1 1 0 0 DeMorgan’s Law can be used to get the complement of an expression {F(X1,X2,...,Xn,0,1,+,•)}' = {F(X1',X2',...,Xn',1,0,•,+)} Example: F = A B' C' + A' B' C + A B' C + A B C' F' = (A' + B + C) • (A + B + C') • (A' + B + C') • (A' + B' + C) CS 3402:A.Berrached 12 Function Representations Truth Table (Unique representation) Boolean Expressions Logic Diagrams From Boolean Expression Logic Diagram Boolean Expression Truth Table ==> ==> ==> ==> CS 3402:A.Berrached TO Logic Diagram Boolean Expression Truth Table Boolean Expression 13 Function Representations F(X,Y,Z) = X + Y’Z + X’Y’Z + X’Y’Z’ CS 3402:A.Berrached 14 Deriving Boolean Expression from Truth Table CS 3402:A.Berrached 15 Product and Sum Terms --Definitions Definitions: Literal: A boolean variable or its complement X X’ A B’ Product term: A literal or the logical product (AND) of multiple literals: X XY XYZ X’YZ’ A’BC Note: X(YZ)' Sum term: A literal or the logical sum (OR) of multiple literals: X X’+Y X+Y+Z X’+Y+Z’ A’+B+C Note: X+(Y+Z)' CS 3402:A.Berrached 16 SOP & POS -- Definitions Sum of products (SOP) expression: The logic sum (OR) of multiple product terms: AB + A’C + B’ + ABC AB’C + B’D’ + A’CD’ Product of sums (POS) expression: The logic product (AND) of multiple sum terms: (A+B).( A’+C).B’.( A+B+C) (A’ + B + C).( C’ + D) Note: SOP expressions ==> 2-level AND-OR circuit POS expressions ==> 2-level OR-AND circuit CS 3402:A.Berrached 17 Minterms & Maxterms -- Definitions Definitions A Minterm: for an n variable function, a minterm is a product term that contains each of the n variables exactly one time in complemented or uncomplemented form. Example: if X, Y and Z are the input variables, the minterms are: X’Y’Z’ X’Y’Z X’YZ’ X’YZ XY’Z’ XY’Z XYZ’ XYZ A Maxterm: for an n variable function, a maxterm is a sum term that contains each of the n variables exactly one time in complemented or uncomplemented form Example: if X, Y and Z are the input variables, the maxterms are: X’+Y’+Z’ X’+Y’+Z X’+Y+Z’ X’+Y+Z X+Y’+Z’ X+Y’+Z X+Y+Z’ X+Y+Z CS 3402:A.Berrached 18 Minterms For functions of three variables: X, Y, and Z Minterm Designation X’Y’Z’ m0 X’Y’Z m1 X’YZ’ m2 X’YZ m3 XY’Z’ m4 XY’Z m5 XYZ’ m6 XYZ m7 Bit Combination 000 001 010 011 100 101 110 111 • The bit combination associated with each minterm is the only bit combination for which the minterm is equal to1. •Example: X'Y'Z' = 1 iff X=0, Y=0, and Z=0 • Each bit represents one of the variables ( order is important) : Un-complemented variable ==> 1 Complemented variable CS 3402:A.Berrached ==> 0 19 Maxterms Maxterm Bit Combination Designmation X+Y+Z 000 M0 X + Y + Z’ 001 M1 X + Y’ + Z 010 M2 X + Y’ + Z’ 011 M3 X’ + Y + Z 100 M4 X’ + Y + Z’ 101 M5 X’ + Y’ + Z 110 M6 X’ + Y’ + Z’ 111 M7 • The bit combination associated with each Maxterm is the only bit combination for which the Maxterm is equal to 0. Note: The ith Maxterm is the complement of the ith minterm; That is Mi = mi CS 3402:A.Berrached 20 Standard (Canonical) forms of an expression A switching function can be represented by several different, but equivalent, algebraic expressions. The standard form is a unique algebraic representation of each function. • Standard SOP: sum of minterm form of a switching function • Standard POS: the product of maxterm form ofa switching function Each switching function has a unique standard SOP and a unique standard POS. CS 3402:A.Berrached 21 Deriving Boolean Expression from Truth Table Input AB C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Output F 1 0 0 1 0 0 0 0 Minterm term A’B’C’ A’B’C A’BC’ A’BC AB’C’ AB’C ABC’ ABC designation m0 m1 m2 m3 m4 m5 m6 m7 F is 1 iff (A=0 AND B=0 AND C=0) or (A=0 AND B=1 AND C=1) F is 1 iff (A’=1 AND B’=1 AND C’=1) or (A’=1 AND B=1 AND C=1) F is 1 iff A’.B’.C’ = 1 OR A’.B.C= 1 F is 1 iff A’B’C’ + A’BC = 1 => F = A’B’C’ + A’BC Short-hand notation: CS 3402:A.Berrached => F = m0 + m3 F = m ( 0, 3) 22 Sum of minterms form A Boolean function is equal to the sum of minterms for which the output is one. => the sum of minterms (also called the standard SOP) form Example: F = m ( 0, 3) CS 3402:A.Berrached 23 Deriving Boolean Expression from Truth Table Input AB 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 C 0 1 0 1 0 1 0 1 Output F 1 0 0 1 0 0 0 0 Minterm term Designation A’B’C’ m0 A’B’C m1 A’BC’ m2 A’BC m3 AB’C’ m4 AB’C m5 ABC’ m6 ABC m7 Maxterm term A +B+C A + B + C’ A + B’ + C A + B’ + C’ A’ + B + C A ‘ + B + C’ A’ + B’ + C A’ + B’ + C’ Designation M0 M1 M2 M3 M4 M5 M6 M7 F is 0 iff (A+B+C’) = 0 AND (A+B’+C)=0 AND (A’+B+C)=0 AND (A’+B+C’) =0 AND (A’+B’+C) = 0 AND (A’+B’+C’) = 0 => F = (A+B+C’) . (A+B’+C) . (A’+B+C) AND (A’+B+C’) . (A’+B’+C) . (A’+B’+C’) => F = M1.M2.M4.M5.M6.M7 ==> F = M(1,2,4,5,6,7) CS 3402:A.Berrached 24 Product of Maxterms A Boolean function is equal to the product of Maxterms for which the output is 0. => the product of Maxterms (also called the standard Product of Sums) form Example:F = M(1,2,4,5,6,7) CS 3402:A.Berrached 25 Examples: Find the truth table for the following switching functions: F(A,B,C) = ABC’ + AB’C F(A,B,C) = AB + A’B’ + AC F(X, Z) = X + Z’ F(A,B,C,D) = A(B’ + CD’) + A’BC’ For each of the above functions, find their Standard SOP and POS. CS 3402:A.Berrached 26 Getting Standard Forms of a Switching Function F(A,B,C) = AB + A’B’ + AC get standard SOP and POS forms of F Method 1: 1. Derive Truth Table for F 2. Get SOP and POS from truth table Method 2: Use Shannon’s Expansion Theorem CS 3402:A.Berrached 27 Shannon’s Expansion Theorem a) f(x1,x2,…,xn) = x1.f(1,x2,….,xn) + x1.f(0,x2,…,xn) b) f(x1,x2,…,xn) = [ x1+ f(0,x2,….,xn)] . [ x1.f(1,x2,…,xn)] CS 3402:A.Berrached 28 Incompletely Specified Functions The output for certain input combination is not important (I.e. we don't care about it). Certain input combinations never occur Example: Design a circuit that takes as input a BCD digit and outputs a 1 iff the parity of the input is even. Note: A BCD digit consists of 4 bits CS 3402:A.Berrached 29 Incompletely Specified Functions Block Diagram W X F Y Z CS 3402:A.Berrached 30 Incompletely Specified Functions Truth Table WXYZ F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1 0 0 1 0 1 1 0 0 1 d d d d d d F = m ( 0, 3, 5, 6, 9)+d(10…15) F = M(1,2,4,7, 8)+ d(10…15) CS 3402:A.Berrached 31