03-BooleanAlgebra (3)

Embed Size (px)

Citation preview

  • 8/11/2019 03-BooleanAlgebra (3)

    1/47

    Boolean Algebra and Logic Gates 1

    Binary Logic and Gates

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

    Basic logical operators are the logic functionsAND, OR and NOT.Logic gates implement logic functions. Boolean Algebra: a useful mathematical systemfor specifying and transforming logic functions. We study Boolean algebra as a foundation fordesigning and analyzing digital systems!

  • 8/11/2019 03-BooleanAlgebra (3)

    2/47

    Boolean Algebra and Logic Gates 2

    Binary Variables

    Recall that the two binary values havedifferent 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 X 1 for now RESET, START_IT, or ADD1 later

  • 8/11/2019 03-BooleanAlgebra (3)

    3/47

    Boolean Algebra and Logic Gates 3

    Logical Operations

    The three basic logical operations are: AND OR

    NOTAND is denoted by a dot ().OR is denoted by a plus (+).

    NOT is denoted by an overbar ( ), asingle quote mark (') after, or (~) beforethe variable.

  • 8/11/2019 03-BooleanAlgebra (3)

    4/47

    Boolean Algebra and Logic Gates 4

    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).

    = B A Y y x z =

    A X =

  • 8/11/2019 03-BooleanAlgebra (3)

    5/47

    Boolean Algebra and Logic Gates 5

    Operator Definitions

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

    AND 0 0 = 0 0 1 = 0

    1 0 = 0 1 1 = 1

    OR

    0 + 0 = 00 + 1 = 1

    1 + 0 = 11 + 1 = 1

    NOT

    1 0 0 1

  • 8/11/2019 03-BooleanAlgebra (3)

    6/47

    Boolean Algebra and Logic Gates 6

    01

    10X

    NOTX Z

    Truth Tables

    Tabular listing of the values of a function for allpossible combinations of values on its argumentsExample: Truth tables for the basic logic operations:

    111001010

    000Z = XYYX

    AND ORX Y Z = X+Y0 0 0

    0 1 11 0 11 1 1

  • 8/11/2019 03-BooleanAlgebra (3)

    7/47 Boolean Algebra and Logic Gates 7

    Truth Tables Cont d

    Used to evaluate any logic functionConsider 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

  • 8/11/2019 03-BooleanAlgebra (3)

    8/47

  • 8/11/2019 03-BooleanAlgebra (3)

    9/47 Boolean Algebra and Logic Gates 9

    Example: Logic Using Switches

    Light is on (L = 1) forL(A, B, C, D) =

    and off (L = 0), otherwise.Useful model for relay and CMOS gate circuits,the foundation of current digital logic circuits

    Logic Function Implementation cont d

    B

    A

    D

    C

    A (B C + D) = A B C + A D

  • 8/11/2019 03-BooleanAlgebra (3)

    10/47 Boolean Algebra and Logic Gates 10

    Logic Gates

    In the earliest computers, switches were openedand closed by magnetic fields produced byenergizing coils in relays . The switches in turn

    opened and closed the current paths.Later, vacuum tubes that open and closecurrent paths electronically replaced relays.

    Today, transistors are used as electronicswitches that open and close current paths.

  • 8/11/2019 03-BooleanAlgebra (3)

    11/47 Boolean Algebra and Logic Gates 11

    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

    X Y

    Z = X + Y X Y

    Z = X Y

    AND gate

    X Z = X

    NOT gate or inverter

  • 8/11/2019 03-BooleanAlgebra (3)

    12/47 Boolean Algebra and Logic Gates 12

    Logic Diagrams and Expressions

    Boolean equations, truth tables and logic diagrams describethe same function!Truth tables are unique, but expressions and logic diagramsare not. This gives flexibility in implementing functions.

    X

    Y F

    Z

    Logic Diagram

    Logic Equation

    Z Y XF

    Truth Table

    11 1 1

    11 1 011 0 111 0 000 1 1

    00 1 010 0 100 0 0

    X Y Z Z Y XF

  • 8/11/2019 03-BooleanAlgebra (3)

    13/47 Boolean Algebra and Logic Gates 13

    Gate Delay

    In actual physical gates, if an input changes thatcauses the output to change, the output changedoes not occur instantaneously. The delay between an input change and theoutput change is the gate delay denoted by t G:

    tG tGInput

    Output

    Time (ns)

    0

    0

    1

    1

    0 0.5 1 1.5

    tG = 0.3 ns

  • 8/11/2019 03-BooleanAlgebra (3)

    14/47 Boolean Algebra and Logic Gates 14

    1.

    3.

    5.

    7.

    9.

    11.

    13.

    15.

    17.

    CommutativeAssociative

    Distributive

    DeMorgan s

    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 (Y Z )=X + YZ (X + Y ) (X + Z )=X . Y X + Y=

    X + 0 X =

    +X 1 1=X + X X =

    1=X + X X = X

    Invented by George Boole in 1854An algebraic structure defined by a set B = {0, 1}, together with twobinary operators (+ and ) and a unary operator ( )

    Idempotence

    Complement

    Involution

    Identity element

  • 8/11/2019 03-BooleanAlgebra (3)

    15/47 Boolean Algebra and Logic Gates 15

    Some Properties of Boolean Algebra

    Boolean Algebra is defined in general by a set B that canhave more than two valuesA two-valued Boolean algebra is also know as SwitchingAlgebra. 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 byinterchanging + and and interchanging 0 s and 1 s. The identities appear in dual pairs. When there is only

    one identity on a line the identity is self-dual, i. e., thedual expression = the original expression.Sometimes, the dot symbol (AND operator) is notwritten when the meaning is clear

  • 8/11/2019 03-BooleanAlgebra (3)

    16/47 Boolean Algebra and Logic Gates 16

    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 anexpression does not equal the expression itselfAre 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

  • 8/11/2019 03-BooleanAlgebra (3)

    17/47

    Boolean Algebra and Logic Gates 17

    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)

  • 8/11/2019 03-BooleanAlgebra (3)

    18/47

    Boolean Algebra and Logic Gates 18

    Boolean Algebraic Proof Example 1

    A + A B = A (Absorption Theorem)Proof Steps JustificationA + 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 ofBoolean algebra, and

    How to choose the appropriate identity or theorem to applyto make forward progress, irrespective of the application.

  • 8/11/2019 03-BooleanAlgebra (3)

    19/47

    Boolean Algebra and Logic Gates 19

    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

  • 8/11/2019 03-BooleanAlgebra (3)

    20/47

  • 8/11/2019 03-BooleanAlgebra (3)

    21/47

    Boolean Algebra and Logic Gates 21

    Truth Table to Verify DeMorgan s

    X Y XY X+Y X Y X+Y X Y XY X+Y

    0 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 DeMorgan s Theorem: X1 + X 2 + + X n = X 1 X 2 X n

    X1 X 2 X n = X 1 + X 2 + + X n

  • 8/11/2019 03-BooleanAlgebra (3)

    22/47

    Boolean Algebra and Logic Gates 22

    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 z y z y x

  • 8/11/2019 03-BooleanAlgebra (3)

    23/47

  • 8/11/2019 03-BooleanAlgebra (3)

    24/47

    Next Canonical Forms

    Minterms and MaxtermsSum-of-Minterm (SOM) Canonical Form

    Product-of-Maxterm (POM) Canonical Form

    Representation of Complements of Functions

    Conversions between Representations

  • 8/11/2019 03-BooleanAlgebra (3)

    25/47

    Boolean Algebra and Logic Gates 25

    Minterms

    Minterms are AND terms with every variablepresent in either true or complemented form.Given that each binary variable may appearnormal (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.

    Y X XY

    Y X Y X

    x

  • 8/11/2019 03-BooleanAlgebra (3)

    26/47

    Maxterms

    Max terms are OR terms with every variable intrue or complemented form.Given that each binary variable may appearnormal (e.g., x) or complemented (e.g., x), there

    are 2 n max terms 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)

    Y X Y X Y X Y X

  • 8/11/2019 03-BooleanAlgebra (3)

    27/47

    Two variable minterms and maxterms.

    The minterm m i should evaluate to 1 for eachcombination 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 + y

    0 1 1 m1 = x y M1 = x + y 1 0 2 m2 = x y M2 = x + y 1 1 3 m3 = x y M3 = x + y

  • 8/11/2019 03-BooleanAlgebra (3)

    28/47

    Minterms & Maxterms for 3 variables

    M3 = x + y + zm3 = x y z3110M4 = x + y + zm4 = x y z4001M5 = x + y + zm5 = x y z5101

    M6 = x + y + zm6 = x y z6011 1

    100y

    1

    000x

    1

    010z

    M7 = x + y + z m7 = x y z7

    M2 = x + y + z m2 = x y z2M1 = x + y + z m1 = x y z1M0 = x + y + zm0 = x y z0

    MaxtermMintermIndex

    Maxterm M i is the complement of minterm mi

    M i = mi and mi = M i

  • 8/11/2019 03-BooleanAlgebra (3)

    29/47

    Boolean Algebra and Logic Gates 29

    Purpose of the Index

    Minterms and Maxterms are designated with an indexThe index number corresponds to a binary patternThe index for the minterm or maxterm, expressed as abinary number, is used to determine whether the variable

    is shown in the true or complemented formFor 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.

  • 8/11/2019 03-BooleanAlgebra (3)

    30/47

    Boolean Algebra and Logic Gates 30

    Standard Order

    All variables should be present in a minterm ormaxterm 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

  • 8/11/2019 03-BooleanAlgebra (3)

    31/47

    Sum-Of-Minterm (SOM)

    Sum-Of-Minterm (SOM) canonical form:Sum of minterms of entries that evaluate to 1

    x y z F Minterm0 0 0 0

    0 0 1 1 m1 = x y z0 1 0 00 1 1 01 0 0 0

    1 0 1 01 1 0 1 m6 = x y z1 1 1 1 m7 = x y z

    F = m 1 + m 6 + m 7 = (1, 6, 7) = x y z + x y z + x y z

    Focus on the1 entries

  • 8/11/2019 03-BooleanAlgebra (3)

    32/47

    + 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

  • 8/11/2019 03-BooleanAlgebra (3)

    33/47

    Product-Of-Maxterm (POM)Product-Of-Maxterm (POM) canonical form:Product of maxterms of entries that evaluate to 0

    x y z F Maxterm0 0 0 1

    0 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 the0 entries

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

  • 8/11/2019 03-BooleanAlgebra (3)

    34/47

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

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

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

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

    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 )

  • 8/11/2019 03-BooleanAlgebra (3)

    35/47

  • 8/11/2019 03-BooleanAlgebra (3)

    36/47

    Converting to Sum-of-Min terms Form

    A function that is not in the Sum-of-Minterms formcan be converted to that form by means of a truth tableConsider F = y + x z

    x y z F

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

    F = (0, 1, 2, 4, 5) = m0 + m 1 + m 2 + m 4 + m 5 =

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

    x y z + x y z

  • 8/11/2019 03-BooleanAlgebra (3)

    37/47

    Converting to Product-of-Maxterms Form

    A function that is not in the Product-of-Minterms formcan be converted to that form by means of a truth tableConsider 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 M 6 M 7 =

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

  • 8/11/2019 03-BooleanAlgebra (3)

    38/47

  • 8/11/2019 03-BooleanAlgebra (3)

    39/47

    Boolean Algebra and Logic Gates 39

    Algebraic Conversion to Sum-of-Minterms

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

    f = x ( y + y) + x y f = x y + x y + x yf = m 3 + m 2 + m 0 = (0, 2, 3) Example 2: g = a + b c (3 variables)

    g = a (b + b)(c + c) + ( a + a) b c g = a b c + a b c + a b c + a b c + a b c + a b c g = a b c + a b c + a b c + a b c + a b c g = m 1 + m 4 + m 5 + m 6 + m 7 = (1, 4, 5, 6, 7)

  • 8/11/2019 03-BooleanAlgebra (3)

    40/47

    Boolean Algebra and Logic Gates 40

    Algebraic Conversion to Product-of-Maxterms

    Expand all terms first to explicitly list all maxtermsOR any term missing a variable v with v v Example 1: f = x + x y (2 variables)Apply 2 nd distributive law:

    f = ( x + x) ( x + y) = 1 ( x + y) = ( x + y) = M 1Example 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) = M 5 . M 2 = (2, 5)

  • 8/11/2019 03-BooleanAlgebra (3)

    41/47

    Boolean Algebra and Logic Gates 41

    Function Complements

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

    Alternatively, the complement of a functionexpressed by a Sum of Minterms form is simplythe 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)

  • 8/11/2019 03-BooleanAlgebra (3)

    42/47

  • 8/11/2019 03-BooleanAlgebra (3)

    43/47

    Boolean Algebra and Logic Gates 43

    Standard Sum-of-Products (SOP) form:equations are written as an OR of AND termsStandard Product-of-Sums (POS) form:equations are written as an AND of OR termsExamples: SOP: POS:

    These mixed forms are neither SOP nor POS

    Standard Forms

    BCBACBAC)CB(AB)(A

    C)(AC)B(AB)(ACACBA

    f

  • 8/11/2019 03-BooleanAlgebra (3)

    44/47

    Boolean Algebra and Logic Gates 44

    Standard Sum-of-Products (SOP)

    A sum of minterms form for n variables canbe 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 thecorresponding circuit is simpler.

  • 8/11/2019 03-BooleanAlgebra (3)

    45/47

    Boolean Algebra and Logic Gates 45

    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 + ASimplified F contains 3 literals compared to 15

    Standard Sum-of-Products (SOP)

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

  • 8/11/2019 03-BooleanAlgebra (3)

    46/47

    Boolean Algebra and Logic Gates 46

    AND/OR Two-Level Implementation

    The two implementations for F are shown below

    F

    ABC

    A

    BC

    ABC

    A

    BC

    BC

    F

    B

    C

    A

    It is quite

    apparent whichis simpler!

  • 8/11/2019 03-BooleanAlgebra (3)

    47/47

    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 intosimpler 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