boolean algebra [compatibility mode]

Upload: veera-ragavan

Post on 06-Oct-2015

219 views

Category:

Documents


0 download

DESCRIPTION

DIGITAL

TRANSCRIPT

  • 1Boolean Algebra and Logic Gates 1

    1.3.5.7.9.

    11.13.15.17.

    CommutativeAssociativeDistributiveDeMorgans

    2.4.6.8.

    X . 1 X=X . 0 0=X . X X=

    0=X . X

    Boolean Algebra

    10.12.14.16.

    X + Y Y + X=(X + Y) Z+ X + (Y Z)+=X(Y + Z) XY XZ+=X + Y X . Y=

    XY YX=(XY)Z X(YZ)=X + YZ (X + Y) (X + Z)=X . Y X + Y=

    X + 0 X=

    +X 1 1=X + X X=

    1=X + XX = X

    Invented by George Boole in 1854 An algebraic structure defined by a set B = {0, 1}, together with two

    binary operators (+ and ) and a unary operator ( )

    IdempotenceComplement

    Involution

    Identity element

    Boolean Algebra and Logic Gates 2

    Some Properties of Boolean Algebra

    Boolean Algebra is defined in general by a set B that can have more than two values

    A two-valued Boolean algebra is also know as Switching Algebra. The Boolean set B is restricted to 0 and 1. Switching circuits can be represented by this algebra.

    The dual of an algebraic expression is obtained by interchanging + and and interchanging 0s and 1s.

    The identities appear in dual pairs. When there is only one identity on a line the identity is self-dual, i. e., the dual expression = the original expression.

    Sometimes, the dot symbol (AND operator) is not written when the meaning is clear

  • 2Boolean Algebra and Logic Gates 3

    Example: F = (A + C) B + 0dual F = (A C + B) 1 = A C + B

    Example: G = X Y + (W + Z)dual G =

    Example: H = A B + A C + B Cdual H =

    Unless it happens to be self-dual, the dual of an expression does not equal the expression itself

    Are any of these functions self-dual?(A+B)(A+C)(B+C)=(A+BC)(B+C)=AB+AC+BC

    Dual of a Boolean Expression

    (X+Y) (W Z) = (X+Y) (W+Z)

    (A+B) (A+C) (B+C)

    H is self-dual

    Boolean Algebra and Logic Gates 4

    Boolean Operator Precedence The order of evaluation is:

    1. Parentheses2. NOT3. AND4. OR

    Consequence: Parentheses appeararound OR expressions

    Example: F = A(B + C)(C + D)

  • 3Boolean Algebra and Logic Gates 5

    Boolean Algebraic Proof Example 1

    A + A B = A (Absorption Theorem)Proof Steps Justification

    A + A B= A 1 + A B Identity element: A 1 = A= A ( 1 + B) Distributive= A 1 1 + B = 1= A Identity element

    Our primary reason for doing proofs is to learn: Careful and efficient use of the identities and theorems of

    Boolean algebra, and How to choose the appropriate identity or theorem to apply

    to make forward progress, irrespective of the application.

    Boolean Algebra and Logic Gates 6

    AB + AC + BC = AB + AC (Consensus Theorem)Proof Steps Justification= AB + AC + BC= AB + AC + 1 BC Identity element= AB + AC + (A + A) BC Complement= AB + AC + ABC + ABC Distributive= AB + ABC + AC + ACB Commutative= AB 1 + ABC + AC 1 + ACB Identity element= AB (1+C) + AC (1 + B) Distributive= AB . 1 + AC . 1 1+X = 1= AB + AC Identity element

    Boolean Algebraic Proof Example 2

  • 4Boolean Algebra and Logic Gates 7

    Useful Theorems

    MinimizationX Y + X Y = Y

    AbsorptionX + X Y = X

    SimplificationX + X Y = X + Y

    DeMorgans X + Y = X Y

    Minimization (dual)(X+Y)(X+Y) = Y

    Absorption (dual)X (X + Y) = X

    Simplification (dual)X (X + Y) = X Y

    DeMorgans (dual) X Y = X + Y

    Boolean Algebra and Logic Gates 8

    Truth Table to Verify DeMorgans

    X Y XY X+Y X Y X+Y X Y XY X+Y0 0 0 0 1 1 1 1 1 10 1 0 1 1 0 0 0 1 11 0 0 1 0 1 0 0 1 11 1 1 1 0 0 0 0 0 0

    X + Y = X Y X Y = X + Y

    Generalized DeMorgans Theorem:X1 + X2 + + Xn = X1 X2 XnX1 X2 Xn = X1 + X2 + + Xn

  • 5Boolean Algebra and Logic Gates 9

    Complementing Functions

    Use DeMorgan's Theorem:1. Interchange AND and OR operators2. Complement each constant and literal

    Example: Complement F =

    F = (x + y + z)(x + y + z) Example: Complement G = (a + bc)d + e

    G = (a (b + c) + d) e

    x+ zyzyx

    Boolean Algebra and Logic Gates 10

    Expression Simplification An application of Boolean algebra Simplify to contain the smallest number

    of literals (variables that may or may not be complemented)

    = AB + ABCD + A C D + A C D + A B D= AB + AB(CD) + A C (D + D) + A B D= AB + A C + A B D = B(A + AD) +AC = B (A + D) + A C (has only 5 literals)

    ++++ DCBADCADBADCABA

  • 6Boolean Algebra and Logic Gates 11

    Next Canonical Forms

    Minterms and Maxterms

    Sum-of-Minterm (SOM) Canonical Form

    Product-of-Maxterm (POM) Canonical Form

    Representation of Complements of Functions

    Conversions between Representations

    Boolean Algebra and Logic Gates 12

    Minterms Minterms are AND terms with every variable

    present in either true or complemented form. Given that each binary variable may appear

    normal (e.g., x) or complemented (e.g., ), there are 2n minterms for n variables.

    Example: Two variables (X and Y) produce2 x 2 = 4 combinations:

    (both normal)(X normal, Y complemented)(X complemented, Y normal)(both complemented)

    Thus there are four minterms of two variables.

    YXXY

    YXYX

    x

  • 7Boolean Algebra and Logic Gates 13

    Maxterms

    Maxterms are OR terms with every variable in true or complemented form.

    Given that each binary variable may appear normal (e.g., x) or complemented (e.g., x), there are 2n maxterms for n variables.

    Example: Two variables (X and Y) produce2 x 2 = 4 combinations:

    (both normal)(x normal, y complemented)(x complemented, y normal)(both complemented)

    YX +YX +YX +YX +

    Boolean Algebra and Logic Gates 14

    Two variable minterms and maxterms.

    The minterm mi should evaluate to 1 for each combination of x and y.

    The maxterm is the complement of the minterm

    Minterms & Maxterms for 2 variables

    x y Index Minterm Maxterm0 0 0 m0 = x y M0 = x + y0 1 1 m1 = x y M1 = x + y1 0 2 m2 = x y M2 = x + y1 1 3 m3 = x y M3 = x + y

  • 8Boolean Algebra and Logic Gates 15

    Minterms & Maxterms for 3 variables

    M3 = x + y + zm3 = x y z3110M4 = x + y + zm4 = x y z4001M5 = x + y + zm5 = x y z5101M6 = x + y + zm6 = x y z6011

    1

    100y

    1

    000x

    1

    010z

    M7 = x + y + zm7 = x y z7

    M2 = x + y + zm2 = x y z2M1 = x + y + zm1 = x y z1M0 = x + y + zm0 = x y z0

    MaxtermMintermIndex

    Maxterm Mi is the complement of minterm miMi = mi and mi = Mi

    Boolean Algebra and Logic Gates 16

    Purpose of the Index Minterms and Maxterms are designated with an index The index number corresponds to a binary pattern The index for the minterm or maxterm, expressed as a

    binary number, is used to determine whether the variable is shown in the true or complemented form

    For Minterms: 1 means the variable is Not Complemented and 0 means the variable is Complemented.

    For Maxterms: 0 means the variable is Not Complemented and 1 means the variable is Complemented.

  • 9Boolean Algebra and Logic Gates 17

    Standard Order All variables should be present in a minterm or

    maxterm and should be listed in the same order(usually alphabetically)

    Example: For variables a, b, c: Maxterms (a + b + c), (a + b + c) are in standard order

    However, (b + a + c) is NOT in standard order

    (a + c) does NOT contain all variables

    Minterms (a b c) and (a b c) are in standard order

    However, (b a c) is not in standard order

    (a c) does not contain all variables

    Boolean Algebra and Logic Gates 18

    Sum-Of-Minterm (SOM) Sum-Of-Minterm (SOM) canonical form:

    Sum of minterms of entries that evaluate to 1x y z F Minterm0 0 0 00 0 1 1 m1 = x y z0 1 0 00 1 1 01 0 0 01 0 1 01 1 0 1 m6 = x y z1 1 1 1 m7 = x y z

    F = m1 + m6 + m7 = (1, 6, 7) = x y z + x y z + x y z

    Focus on the 1 entries

  • 10

    Boolean Algebra and Logic Gates 19

    + a b c d

    Sum-Of-Minterm Examples

    F(a, b, c, d) = (2, 3, 6, 10, 11)

    F(a, b, c, d) = m2 + m3 + m6 + m10 + m11

    G(a, b, c, d) = (0, 1, 12, 15)

    G(a, b, c, d) = m0 + m1 + m12 + m15

    + a b c da b c d + a b c d+ a b c d + a b c d

    + a b c da b c d + a b c d

    Boolean Algebra and Logic Gates 20

    Product-Of-Maxterm (POM) Product-Of-Maxterm (POM) canonical form:

    Product of maxterms of entries that evaluate to 0x y z F Maxterm0 0 0 10 0 1 10 1 0 0 M2 = (x + y + z)0 1 1 11 0 0 0 M4 = (x + y + z)1 0 1 11 1 0 0 M6 = (x + y + z)1 1 1 1

    Focus on the 0 entries

    F = M2M4M6 = (2, 4, 6) = (x+y+z) (x+y+z) (x+y+z)

  • 11

    Boolean Algebra and Logic Gates 21

    F(a, b, c, d) = (1, 3, 6, 11)

    F(a, b, c, d) = M1 M3 M6 M11

    G(a, b, c, d) = (0, 4, 12, 15)

    G(a, b, c, d) = M0 M4 M12 M15

    Product-Of-Maxterm Examples

    (a+b+c+d) (a+b+c+d) (a+b+c+d) (a+b+c+d)

    (a+b+c+d) (a+b+c+d) (a+b+c+d) (a+b+c+d)

    Boolean Algebra and Logic Gates 22

    Observations We can implement any function by "ORing" the minterms

    corresponding to the 1 entries in the function table. A minterm evaluates to 1 for its corresponding entry.

    We can implement any function by "ANDing" the maxterms corresponding to 0 entries in the function table. A maxterm evaluates to 0 for its corresponding entry.

    The same Boolean function can be expressed in two canonical ways: Sum-of-Minterms (SOM) and Product-of-Maxterms (POM).

    If a Boolean function has fewer 1 entries then the SOM canonical form will contain fewer literals than POM. However, if it has fewer 0 entries then the POM form will have fewer literals than SOM.

  • 12

    Boolean Algebra and Logic Gates 23

    Converting to Sum-of-Minterms Form

    A function that is not in the Sum-of-Minterms form can be converted to that form by means of a truth table

    Consider F = y + x z

    x y z F Minterm0 0 0 1 m0 = x y z0 0 1 1 m1 = x y z0 1 0 1 m2 = x y z0 1 1 01 0 0 1 m4 = x y z1 0 1 1 m5 = x y z1 1 0 01 1 1 0

    F = (0, 1, 2, 4, 5) =

    m0 + m1 + m2 + m4 + m5 =

    x y z + x y z + x y z +

    x y z + x y z

    Boolean Algebra and Logic Gates 24

    Converting to Product-of-Maxterms Form

    A function that is not in the Product-of-Minterms form can be converted to that form by means of a truth table

    Consider again: F = y + x z

    x y z F Minterm0 0 0 10 0 1 10 1 0 10 1 1 0 M3 = (x+y+z)1 0 0 11 0 1 11 1 0 0 M6 = (x+y+z)1 1 1 0 M7 = (x+y+z)

    F = (3, 6, 7) =

    M3 M6 M7 =

    (x+y+z) (x+y+z) (x+y+z)

  • 13

    Boolean Algebra and Logic Gates 25

    Conversions Between Canonical Forms

    F = m1+m2+m3+m5+m7 = (1, 2, 3, 5, 7) = x y z + x y z + x y z + x y z + x y zF = M0 M4 M6 = (0, 4, 6) =

    (x+y+z)(x+y+z)(x+y+z)

    x y z F Minterm Maxterm0 0 0 0 M0 = (x + y + z)0 0 1 1 m1 = x y z0 1 0 1 m2 = x y z0 1 1 1 m3 = x y z1 0 0 0 M4 = (x + y + z)1 0 1 1 m5 = x y z1 1 0 0 M6 = (x + y + z)1 1 1 1 m7 = x y z

    Boolean Algebra and Logic Gates 26

    Algebraic Conversion to Sum-of-Minterms

    Expand all terms first to explicitly list all minterms AND any term missing a variable v with (v + v) Example 1: f = x + x y (2 variables)

    f = x (y + y) + x yf = x y + x y + x yf = m3 + m2 + m0 = (0, 2, 3)

    Example 2: g = a + b c (3 variables)g = a (b + b)(c + c) + (a + a) b cg = a b c + a b c + a b c + a b c + a b c + a b cg = a b c + a b c + a b c + a b c + a b cg = m1 + m4 + m5 + m6 + m7 = (1, 4, 5, 6, 7)

  • 14

    Boolean Algebra and Logic Gates 27

    Algebraic Conversion to Product-of-Maxterms

    Expand all terms first to explicitly list all maxterms OR any term missing a variable v with v v Example 1: f = x + x y (2 variables)

    Apply 2nd distributive law:f = (x + x) (x + y) = 1 (x + y) = (x + y) = M1

    Example 2: g = a c + b c + a b (3 variables)g = (a c + b c + a) (a c + b c + b) (distributive)g = (c + b c + a) (a c + c + b) (x + x y = x + y)g = (c + b + a) (a + c + b) (x + x y = x + y)g = (a + b + c) (a + b + c) = M5 . M2 = (2, 5)

    Boolean Algebra and Logic Gates 28

    Function Complements

    The complement of a function expressed as a sum of minterms is constructed by selecting the minterms missing in the sum-of-minterms canonical form

    Alternatively, the complement of a function expressed by a Sum of Minterms form is simply the Product of Maxterms with the same indices

    Example: Given F(x, y, z) = (1, 3, 5, 7)F(x, y, z) = (0, 2, 4, 6)

    F(x, y, z) = (1, 3, 5, 7)

  • 15

    Boolean Algebra and Logic Gates 29

    Summary of Minterms and Maxterms

    There are 2n minterms and maxterms for Boolean functions with n variables.

    Minterms and maxterms are indexed from 0 to 2n 1

    Any Boolean function can be expressed as a logical sum of minterms and as a logical product of maxterms

    The complement of a function contains those minterms not included in the original function

    The complement of a sum-of-minterms is a product-of-maxterms with the same indices

    Boolean Algebra and Logic Gates 30

    Standard Sum-of-Products (SOP) form:equations are written as an OR of AND terms

    Standard Product-of-Sums (POS) form:equations are written as an AND of OR terms

    Examples: SOP: POS:

    These mixed forms are neither SOP nor POS

    Standard Forms

    BCBACBA ++C)CB(AB)(A +++

    C)(AC)B(A ++B)(ACACBA ++

  • 16

    Boolean Algebra and Logic Gates 31

    Standard Sum-of-Products (SOP)

    A sum of minterms form for n variables can be written down directly from a truth table. Implementation of this form is a two-level

    network of gates such that:

    The first level consists of n-input AND gates

    The second level is a single OR gate

    This form often can be simplified so that the corresponding circuit is simpler.

    Boolean Algebra and Logic Gates 32

    A Simplification Example:

    Writing the minterm expression:F = A B C + A B C + A B C + ABC + ABC

    Simplifying:F = A B C + A (B C + B C + B C + B C)F = A B C + A (B (C + C) + B (C + C))F = A B C + A (B + B)F = A B C + AF = B C + A

    Simplified F contains 3 literals compared to 15

    Standard Sum-of-Products (SOP)

    )7,6,5,4,1()C,B,A(F S=

  • 17

    Boolean Algebra and Logic Gates 33

    AND/OR Two-Level Implementation

    The two implementations for F are shown below

    F

    ABC

    ABC

    ABC

    ABC

    ABC

    F

    BC

    A

    It is quite apparent which

    is simpler!

    Boolean Algebra and Logic Gates 34

    SOP and POS Observations The previous examples show that:

    Canonical Forms (Sum-of-minterms, Product-of-Maxterms), or other standard forms (SOP, POS) differ in complexity

    Boolean algebra can be used to manipulate equations into simpler forms

    Simpler equations lead to simpler implementations

    Questions: How can we attain a simplest expression?

    Is there only one minimum cost circuit?

    The next part will deal with these issues

  • 18

    Boolean Algebra and Logic Gates 35

    Terms of Use All (or portions) of this material 2008 by Pearson

    Education, Inc. Permission is given to incorporate this material or

    adaptations thereof into classroom presentations and handouts to instructors in courses adopting the latest edition of Logic and Computer Design Fundamentals as the course textbook.

    These materials or adaptations thereof are not to be sold or otherwise offered for consideration.

    This Terms of Use slide or page is to be included within the original materials or any adaptations thereof.

    Boolean Algebra and Logic Gates 36

    Binary Logic and Gates

    Binary variables take on one of two values. Logical operators operate on binary values and

    binary variables. Basic logical operators are the logic functions

    AND, OR and NOT. Logic gates implement logic functions. Boolean Algebra: a useful mathematical system

    for specifying and transforming logic functions. We study Boolean algebra as a foundation for

    designing and analyzing digital systems!

  • 19

    Boolean Algebra and Logic Gates 37

    Binary Variables Recall that the two binary values have

    different names: True/False On/Off Yes/No 1/0

    We use 1 and 0 to denote the two values. Variable identifier examples:

    A, B, y, z, or X1 for now RESET, START_IT, or ADD1 later

    Boolean Algebra and Logic Gates 38

    Logical Operations The three basic logical operations are:

    AND OR NOT

    AND is denoted by a dot (). OR is denoted by a plus (+). NOT is denoted by an overbar ( ), a

    single quote mark (') after, or (~) before the variable.

  • 20

    Boolean Algebra and Logic Gates 39

    Examples: is read Y is equal to A AND B. is read z is equal to x OR y. is read X is equal to NOT A.

    Notation Examples

    Note: The statement: 1 + 1 = 2 (read one plus one equals two)

    is not the same as1 + 1 = 1 (read 1 or 1 equals 1).

    = BAY yxz +=

    AX =

    Boolean Algebra and Logic Gates 40

    Operator Definitions

    Operations are defined on the values "0" and "1" for each operator:

    AND0 0 = 00 1 = 01 0 = 01 1 = 1

    OR

    0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 1

    NOT

    10 =01 =

  • 21

    Boolean Algebra and Logic Gates 41

    0110

    XNOT

    XZ=

    Truth Tables Tabular listing of the values of a function for all

    possible combinations of values on its arguments Example: Truth tables for the basic logic operations:

    111001010000

    Z = XYYXAND OR

    X Y Z = X+Y0 0 00 1 11 0 11 1 1

    Boolean Algebra and Logic Gates 42

    Truth Tables Contd

    Used to evaluate any logic function Consider F(X, Y, Z) = X Y + Y Z

    X Y Z X Y Y Y Z F = X Y + Y Z0 0 0 0 1 0 00 0 1 0 1 1 10 1 0 0 0 0 00 1 1 0 0 0 01 0 0 0 1 0 01 0 1 0 1 1 11 1 0 1 0 0 11 1 1 1 0 0 1

  • 22

    Boolean Algebra and Logic Gates 43

    Logic Gate Symbols and Behavior

    Logic gates have special symbols:

    And waveform behavior in time as follows:

    X 0 0 1 1

    Y 0 1 0 1

    X Y(AND) 0 0 0 1

    X + Y(OR) 0 1 1 1

    (NOT) X 1 1 0 0

    OR gate

    XY

    Z = X + YX

    YZ = X Y

    AND gate

    X Z = X

    NOT gate orinverter

    Boolean Algebra and Logic Gates 44

    Logic Diagrams and Expressions

    Boolean equations, truth tables and logic diagrams describe the same function!

    Truth tables are unique, but expressions and logic diagrams are not. This gives flexibility in implementing functions.

    X

    Y F

    Z

    Logic Diagram

    Logic Equation

    ZYX F +=

    Truth Table

    11 1 111 1 011 0 111 0 000 1 100 1 010 0 100 0 0

    X Y Z ZYX F +=