Top Banner
EE207: Digital Systems I, Semester I 2003/2004 CHAPTER 2-i: Combinational Logic Circuits (Sections 2.1 – 2.5)
66
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • EE207: Digital Systems I, Semester I 2003/2004

    CHAPTER 2-i:Combinational Logic Circuits

    (Sections 2.1 2.5)

  • Overview

    Binary logic and Gates Boolean Algebra

    Basic Properties Algebraic Manipulation

    Standard and Canonical Forms Minterms and Maxterms (Canonical forms) SOP and POS (Standard forms)

    Karnaugh Maps (K-Maps) 2, 3, 4, and 5 variable maps Simplification using K-Maps

    K-Map Manipulation Implicants: Prime, Essential Dont Cares

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    226-Mar-10

  • Binary Logic

    Deals with binary variables that take 2 discrete values (0 and 1), and with logic operations

    Three basic logic operations: AND, OR, NOT

    Binary/logic variables are typically represented as letters: A,B,C,,X,Y,Z

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    326-Mar-10

  • Binary Logic Function

    F(vars) = expression

    Example: F(a,b) = ab + bG(x,y,z) = x(y+z)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    426-Mar-10

    set of binaryset of binaryvariablesvariables

    nnOperators ( +, Operators ( +, , ), )nnVariablesVariablesnnConstants ( 0, 1 )Constants ( 0, 1 )nnGroupings (parenthesis)Groupings (parenthesis)

  • Basic Logic Operators

    1-bit logic AND resembles binary multiplication:

    0 0 = 0, 0 1 = 0,1 0 = 0, 1 1 = 1

    1-bit logic OR resembles binary addition, except for one operation:

    0 + 0 = 0, 0 + 1 = 1,1 + 0 = 1, 1 + 1 = 1 ( 102)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    526-Mar-10

  • Truth Tables for logic operators

    Truth table: tabular form that uniquely represents the relationship between the input variables of a function and its output

    AA BB F=AF=ABB00 00 0000 11 0011 00 0011 11 11

    26-Mar-10

    6Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2-Input ANDAA BB F=AF=A++BB00 00 0000 11 1111 00 1111 11 11

    2-Input OR

    AA F=AF=A00 1111 00

    NOT

  • Truth Tables (cont.)

    Q: Let a function F() depend on nvariables. How many rows are there in the truth table of F() ?

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    726-Mar-10

    A: 2n rows, since there are 2n possible binary patterns/combinations for the n variables

  • Logic Gates

    Logic gates are abstractions of electronic circuit components that operate on one or more input signals to produce an output signal.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    826-Mar-10

    2-Input AND 2-Input OR NOT (Inverter)

    A A AB BF G H

    F = AF = ABB G = A+BG = A+B H = AH = A

  • Timing Diagram

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    926-Mar-10

    A

    B

    F=AB

    G=A++B

    H=A

    1

    1

    1

    1

    10

    0

    0

    0

    0

    t0 t1 t2 t3 t4 t5 t6

    Inputsignals

    GateOutputSignals

    Basic Assumption:Zero time forsignals topropagate Through gates

    Transitions

  • Combinational Logic Circuitfrom Logic Function

    Consider function F = A + BC + AB A combinational logic circuit can be constructed to implement F, by

    appropriately connecting input signals and logic gates: Circuit input signals from function variables (A, B, C) Circuit output signal function output (F) Logic gates from logic operations

    26-Mar-10

    10Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    A

    B

    C

    F

  • Combinational Logic Circuitfrom Logic Function (cont.)

    In order to design a cost-effective and efficient circuit, we must minimize the circuits size (area) and propagation delay (time required for an input signal change to be observed at the output line)

    Observe the truth table of F=A + BC + AB and G=A + BC

    Truth tables for F and G are identical same function

    Use G to implement the logic circuit (less components)

    AA BB CC FF GG00 00 00 11 1100 00 11 11 1100 11 00 11 1100 11 11 11 1111 0 0 00 00 0011 00 11 00 0011 11 00 11 1111 11 11 00 00

    26-Mar-10

    11Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

  • Circuitfrom Logic Function

    (cont.)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1226-Mar-10

    A

    B

    C

    F

    ABC

    G

  • Boolean Algebra

    VERY nice machinery used to manipulate (simplify) Boolean functions

    George Boole (1815-1864): An investigation of the laws of thought

    Terminology: Literal: A variable or its complement Product term: literals connected by Sum term: literals connected by +

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1326-Mar-10

  • Boolean Algebra Properties

    Let X: boolean variable, 0,1: constants

    1. X + 0 = X -- Zero Axiom2. X 1 = X -- Unit Axiom3. X + 1 = 1 -- Unit Property4. X 0 = 0 -- Zero Property

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1426-Mar-10

  • Boolean Algebra Properties (cont.)

    Let X: boolean variable, 0,1: constants

    5. X + X = X -- Idepotence6. X X = X -- Idepotence7. X + X = 1 -- Complement8. X X = 0 -- Complement9. (X) = X -- Involution

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1526-Mar-10

    Unchanged in value following

    multiplication by itself

  • The Duality Principle

    The dual of an expression is obtained by exchanging ( and +), and (1 and 0) in it, provided that the precedence of operations is not changed.

    Cannot exchange x with x Example:

    Find H(x,y,z), the dual of F(x,y,z) = xyz + xyz H = (x+y+z) (x+y+ z)

    Dual does not always equal the original expression

    If a Boolean equation/equality is valid, its dual is also valid

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1626-Mar-10

  • The Duality Principle (cont.)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1726-Mar-10

    With respect to duality, Identities 1 8 have the following relationship:

    1. X + 0 = X 2. X 1 = X (dual of 1)3. X + 1 = 1 4. X 0 = 0 (dual of 3)5. X + X = X 6. X X = X (dual of 5)7. X + X = 1 8. X X = 0 (dual of 8)

  • More Boolean Algebra Properties

    Let X,Y, and Z: boolean variables

    10. X + Y = Y + X 11. X Y = Y X -- Commutative12. X + (Y+Z) = (X+Y) + Z 13. X(YZ) = (XY)Z -- Associative14. X(Y+Z) = XY + XZ 15. X+(YZ) = (X+Y) (X+Z)

    -- Distributive16. (X + Y) = X Y 17. (X Y) = X + Y -- DeMorgans

    In general,( X1 + X2 + + Xn ) = X1X2 Xn, and ( X1X2 Xn ) = X1 + X2 + + Xn

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1826-Mar-10

  • Absorption Property (Covering)

    1. x + xy = x2. x(x+y) = x (dual) Proof:

    x + xy = x1 + xy= x(1+y) = x1= x

    QED (2 true by duality)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    1926-Mar-10

  • Consensus Theorem

    1. xy + xz + yz = xy + xz2. (x+y)(x+z)(y+z) = (x+y)(x+z) -- (dual) Proof:

    xy + xz + yz = xy + xz + (x+x)yz= xy + xz + xyz + xyz= (xy + xyz) + (xz + xzy)= xy + xz

    QED (2 true by duality).

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2026-Mar-10

  • Truth Tables (revisited)

    Enumerates all possible combinations of variable values and the corresponding function value

    Truth tables for some arbitrary functions F1(x,y,z), F2(x,y,z), and F3(x,y,z) are shown to the right.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2126-Mar-10

    xx yy zz FF11 FF22 FF3300 00 00 00 11 1100 00 11 00 00 1100 11 00 00 00 1100 11 11 00 11 1111 00 00 00 11 0011 00 11 00 11 0011 11 00 00 00 0011 11 11 11 00 11

  • Truth Tables (cont.)

    Truth table: a unique representation of a Boolean function

    If two functions have identical truth tables, the functions are equivalent (and vice-versa).

    Truth tables can be used to prove equality theorems.

    However, the size of a truth table grows exponentially with the number of variables involved, hence unwieldy. This motivates the use of Boolean Algebra.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2226-Mar-10

  • Boolean expressions-NOT unique

    Unlike truth tables, expressions representing a Boolean function are NOT unique.

    Example: F(x,y,z) = xyz + xyz + xyz G(x,y,z) = xyz + yz

    The corresponding truth tables for F() and G() are to the right. They are identical!

    Thus, F() = G()

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2326-Mar-10

    xx yy zz FF GG00 00 00 11 1100 00 11 00 0000 11 00 11 1100 11 11 00 0011 00 00 00 0011 00 11 00 0011 11 00 11 1111 11 11 00 00

  • Algebraic Manipulation

    Boolean algebra is a useful tool for simplifying digital circuits.

    Why do it? Simpler can mean cheaper, smaller, faster.

    Example: Simplify F = xyz + xyz + xz.F = xyz + xyz + xz

    = xy(z+z) + xz= xy1 + xz= xy + xz

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2426-Mar-10

  • Algebraic Manipulation (cont.)

    Example: Provexyz + xyz + xyz = xz + yz

    Proof:xyz+ xyz+ xyz

    = xyz + xyz + xyz + xyz= xz(y+y) + yz(x+x)= xz1 + yz1= xz + yz

    QED.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2526-Mar-10

  • Complement of a Function

    The complement of a function is derived by interchanging ( and +), and (1 and 0), and complementing each variable.

    Otherwise, interchange 1s to 0s in the truth table column showing F.

    The complement of a function IS NOT THE SAME as the dual of a function.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2626-Mar-10

  • Complementation: Example

    Find G(x,y,z), the complement ofF(x,y,z) = xyz + xyz

    G = F = (xyz + xyz)= (xyz) (xyz) DeMorgan= (x+y+z) (x+y+z) DeMorgan again

    Note: The complement of a function can also be derived by finding the functions dual, and then complementing all of the literals

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2726-Mar-10

  • Canonical and Standard Forms

    We need to consider formal techniques for the simplification of Boolean functions. Minterms and Maxterms Sum-of-Minterms and Product-of-Maxterms Product and Sum terms Sum-of-Products (SOP) and Product-of-Sums

    (POS)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2826-Mar-10

  • Definitions

    Literal: A variable or its complement Product term: literals connected by Sum term: literals connected by + Minterm: a product term in which all the

    variables appear exactly once, either complemented or uncomplemented

    Maxterm: a sum term in which all the variables appear exactly once, either complemented or uncomplemented

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    2926-Mar-10

  • Minterm

    Represents exactly one combination in the truth table.

    Denoted by mj, where j is the decimal equivalent of the minterms corresponding binary combination (bj).

    A variable in mj is complemented if its value in bjis 0, otherwise is uncomplemented.

    Example: Assume 3 variables (A,B,C), and j=3. Then, bj = 011 and its corresponding minterm is denoted by mj = ABC

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3026-Mar-10

  • Maxterm

    Represents exactly one combination in the truth table.

    Denoted by Mj, where j is the decimal equivalent of the maxterms corresponding binary combination (bj).

    A variable in Mj is complemented if its value in bjis 1, otherwise is uncomplemented.

    Example: Assume 3 variables (A,B,C), and j=3. Then, bj = 011 and its corresponding maxterm is denoted by Mj = A+B+C

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3126-Mar-10

  • Truth Table notation for Minterms and Maxterms

    Minterms and Maxterms are easy to denote using a truth table.

    Example: Assume 3 variables x,y,z (order is fixed)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3226-Mar-10

    xx yy zz MintermMinterm MaxtermMaxterm00 00 00 xyz = mxyz = m00 x+y+z = Mx+y+z = M0000 00 11 xyz = mxyz = m11 x+y+z = Mx+y+z = M1100 11 00 xyz = mxyz = m22 x+y+z = Mx+y+z = M2200 11 11 xyz = mxyz = m33 x+y+z= Mx+y+z= M3311 00 00 xyz = mxyz = m44 x+y+z = Mx+y+z = M4411 00 11 xyz = mxyz = m55 x+y+z = Mx+y+z = M5511 11 00 xyz = mxyz = m66 x+y+z = Mx+y+z = M6611 11 11 xyz = mxyz = m77 x+y+z = Mx+y+z = M77

  • Canonical Forms (Unique)

    Any Boolean function F( ) can be expressed as a unique sum of minterms and a unique product of maxterms (under a fixed variable ordering).

    In other words, every function F() has two canonical forms: Canonical Sum-Of-Products (sum of

    minterms) Canonical Product-Of-Sums (product of

    maxterms)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3326-Mar-10

  • Canonical Forms (cont.)

    Canonical Sum-Of-Products:The minterms included are those mj such that F( ) = 1 in row j of the truth table for F( ).

    Canonical Product-Of-Sums:The maxterms included are those Mj such that F( ) = 0 in row j of the truth table for F( ).

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3426-Mar-10

  • Example

    Truth table for f1(a,b,c) at right The canonical sum-of-products form for

    f1 isf1(a,b,c) = m1 + m2 + m4 + m6

    = abc + abc + abc + abc The canonical product-of-sums form for

    f1 isf1(a,b,c) = M0 M3 M5 M7

    = (a+b+c)(a+b+c) (a+b+c)(a+b+c).

    Observe that: mj = Mj

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3526-Mar-10

    aa bb cc ff1100 00 00 0000 00 11 1100 11 00 1100 11 11 0011 00 00 1111 00 11 0011 11 00 1111 11 11 00

  • Shorthand: and

    f1(a,b,c) = m(1,2,4,6), where indicates that this is a sum-of-products form, and m(1,2,4,6) indicates that the minterms to be included are m1, m2, m4, and m6.

    f1(a,b,c) = M(0,3,5,7), where indicates that this is a product-of-sums form, and M(0,3,5,7) indicates that the maxterms to be included are M0, M3, M5, and M7.

    Since mj = Mj for any j, m(1,2,4,6) = M(0,3,5,7) = f1(a,b,c)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3626-Mar-10

  • Conversion Between Canonical Forms

    Replace with (or vice versa) and replace those js that appeared in the original form with those that do not.

    Example:f1(a,b,c) = abc + abc + abc + abc

    = m1 + m2 + m4 + m6= (1,2,4,6)= (0,3,5,7)= (a+b+c)(a+b+c)(a+b+c)(a+b+c)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3726-Mar-10

  • Standard Forms (NOT Unique)

    Standard forms are like canonical forms, except that not all variables need appear in the individual product (SOP) or sum (POS) terms.

    Example:f1(a,b,c) = abc + bc + acis a standard sum-of-products form

    f1(a,b,c) = (a+b+c)(b+c)(a+c)is a standard product-of-sums form.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3826-Mar-10

  • Conversion of SOP from standard to canonical form

    Expand non-canonical terms by inserting equivalent of 1 in each missing variable x:(x + x) = 1

    Remove duplicate minterms f1(a,b,c) = abc + bc + ac

    = abc + (a+a)bc + a(b+b)c= abc + abc + abc + abc + abc= abc + abc + abc + abc

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    3926-Mar-10

  • Conversion of POS from standard to canonical form

    Expand noncanonical terms by adding 0 in terms of missing variables (e.g., xx = 0) and using the distributive law

    Remove duplicate maxterms f1(a,b,c) = (a+b+c)(b+c)(a+c)

    = (a+b+c)(aa+b+c)(a+bb+c)= (a+b+c)(a+b+c)(a+b+c)

    (a+b+c)(a+b+c)= (a+b+c)(a+b+c)(a+b+c)(a+b+c)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4026-Mar-10

  • Karnaugh Maps

    Karnaugh maps (K-maps) are graphicalrepresentations of boolean functions.

    One map cell corresponds to a row in the truth table.

    Also, one map cell corresponds to a minterm or a maxterm in the boolean expression

    Multiple-cell areas of the map correspond to standard terms.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4126-Mar-10

  • Two-Variable Map

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4226-Mar-10

    m3m21

    m1m00

    10x1x2

    0 1

    2 3

    NOTE: ordering of variables is IMPORTANT for f(x1,x2), x1 is the row, x2 is the column.

    Cell 0 represents x1x2; Cell 1 represents x1x2; etc. If a minterm is present in the function, then a 1 is placed in the corresponding cell.

    m3m11

    m2m00

    10x2x1

    0 2

    1 3OR

  • Two-Variable Map (cont.)

    Any two adjacent cells in the map differ by ONLY one variable, which appears complemented in one cell and uncomplemented in the other.

    Example:m0 (=x1x2) is adjacent to m1 (=x1x2) and m2 (=x1x2) but NOT m3 (=x1x2)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4326-Mar-10

  • 2-Variable Map -- Example

    f(x1,x2) = x1x2+ x1x2 + x1x2 = m0 + m1 + m2= x1 + x2

    1s placed in K-map for specified minterms m0, m1, m2

    Grouping (ORing) of 1s allows simplification

    What (simpler) function is represented by each dashed rectangle? a1 = m0 + m1 a2 = m0 + m2

    Note m0 covered twice

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4426-Mar-10

    xx11 00 11

    00 11 11

    11 11 00

    x2

    0 1

    2 3

  • Minimization as SOP using K-map

    Enter 1s in the K-map for each product term in the function

    Group adjacent K-map cells containing 1s to obtain a product with fewer variables. Groups must be in power of 2 (2, 4, 8, )

    Handle boundary wrap for K-maps of 3 or more variables.

    Realize that answer may not be unique

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4526-Mar-10

  • Three-Variable Map

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4626-Mar-10

    m6m7m5m41

    m2m3m1m00

    10110100yz

    x0 1 3 2

    4 5 7 6

    -Note: variable ordering is (x,y,z); yz specifies column, x specifies row.-Each cell is adjacent to three other cells (left or right or top or bottom or edge wrap)

  • Three-Variable Map (cont.)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4726-Mar-10

    The types of structures The types of structures that are either minterms or that are either minterms or are generated by repeated are generated by repeated application of the application of the minimization theorem on a minimization theorem on a three variable map are three variable map are shown at right. shown at right. Groups of 1, 2, 4, 8 are Groups of 1, 2, 4, 8 are possible.possible.

    minterm

    group of 2 terms

    group of 4 terms

  • Simplification

    Enter minterms of the Boolean function into the map, then group terms

    Example: f(a,b,c) = ac + abc + bc Result: f(a,b,c) = ac+ b

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4826-Mar-10

    11 11 1111 11

    abc

    11 11 1111 11

    00 01 10 11

    0

    1

    00 01 10 11

    0

    1

  • More Examples

    f1(x, y, z) = m(2,3,5,7)

    f2(x, y, z) = m (0,1,2,3,6)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    4926-Mar-10

    nn ff11(x, y, z) = xy + xz(x, y, z) = xy + xz

    nnff22(x, y, z) = x+yz(x, y, z) = x+yz

    yzyzXX 0000 0101 1111 1010

    00 11 1111 11 11

    11 11 11 1111

  • Four-Variable Maps

    Top cells are adjacent to bottom cells. Left-edge cells are adjacent to right-edge cells.

    Note variable ordering (WXYZ).

    26-Mar-10

    50Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    m11m10m9m810

    m14m15m13m1211

    m6m7m5m401

    m2m3m1m000

    10110100WXYZ

  • Four-variable Map Simplification

    One square represents a minterm of 4 literals. A rectangle of 2 adjacent squares represents a

    product term of 3 literals. A rectangle of 4 squares represents a product

    term of 2 literals. A rectangle of 8 squares represents a product

    term of 1 literal. A rectangle of 16 squares produces a function

    that is equal to logic 1.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5126-Mar-10

  • Example

    Simplify the following Boolean function (A,B,C,D) = m(0,1,2,4,5,7,8,9,10,12,13).

    First put the function g( ) into the map, and then group as many 1s as possible.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5226-Mar-10

    cdab

    111

    11

    111

    111

    g(A,B,C,D) = c+bd+abdg(A,B,C,D) = c+bd+abd

    111

    11

    111

    111

    00 01 11 10

    00

    01

    11

    10

    00 01 11 10

  • 5-Variable K-Map

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5326-Mar-10

    101198

    13 141512

    5 674

    1 230

    BCDE

    26272524

    30312928

    22232120

    18191716

    BCDE

    A=0

    A=1

    ABCDE

    ABCDE

  • Implicants and Prime Implicants (PIs)

    An Implicant (P) of a function F is a product term which implies F, i.e., F(P) = 1.

    An implicant (PI) of F is called a Prime Implicant of F if any product term obtained by deleting a literal of PI is NOT an implicant of F

    Thus, a prime implicant is not contained in any larger implicant.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5426-Mar-10

  • Example

    Consider function f(a,b,c,d) whose K-map is shown at right.

    ab is not a prime implicant because it is contained in b.

    acd is not a prime implicant because it is contained in ad.

    b, ad, and acd are prime implicants.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5526-Mar-10

    111

    111

    111

    11

    b

    cd abad

    acd

    ab

    acd

  • Essential Prime Implicants (EPIs)

    If a minterm of a function F is included in ONLY one prime implicant p, then p is an essential prime implicant of F.

    An essential prime implicant MUST appear in all possible SOP expressions of a function

    To find essential prime implicants: Generate all prime implicants of a function Select those prime implicants that contain at least one

    1 that is not covered by any other prime implicant. For the previous example, the PIs are b, ad,

    and acd; all of these are essential.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5626-Mar-10

    11111111111

    bad

    acd

  • Another Example

    Consider f2(a,b,c,d), whose K-map is shown below.

    The only essential PI is bd.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5726-Mar-10

    11

    11 11 11

    11 11

    11 11 11

    cdab

  • Systematic Procedure for Simplifying Boolean Functions

    1. Generate all PIs of the function.2. Include all essential PIs.3. For remaining minterms not included in

    the essential PIs, select a set of other PIs to cover them, with minimal overlap in the set.

    4. The resulting simplified function is the logical OR of the product terms selected above.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5826-Mar-10

  • Example

    f(a,b,c,d) = m(0,1,2,3,4,5,7,14,15).

    Five grouped terms, not all needed.

    3 shaded cells covered by only one term

    3 EPIs, since each shaded cell is covered by a different term.

    F(a,b,c,d) = ab + ac + ad + abc

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    5926-Mar-10

    11

    111

    1111ab

    cd

  • Product of Sums Simplification

    Use sum-of-products simplification on the zeros of the function in the K-map to get F.

    Find the complement of F, i.e. (F) = F Recall that the complement of a boolean

    function can be obtained by (1) taking the dual and (2) complementing each literal.

    OR, using DeMorgans Theorem.

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    6026-Mar-10

  • POS Example

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    6126-Mar-10

    0000

    1100

    0111

    1111ab

    cd

    F(a,b,c,d) = ab + ac + abcd Find dual of F, dual(F) = (a+b)(a+c)(a+b+c+d) Complement of literals in dual(F) to get F

    F = (a+b)(a+c)(a+b+c+d) (verify that this is the same as in slide 60)

  • Don't Care Conditions

    There may be a combination of input values which will never occur if they do occur, the output is of no concern.

    The function value for such combinations is called a don't care.

    They are usually denoted with x. Each x may be arbitrarily assigned the value 0 or 1 in an implementation.

    Dont cares can be used to further simplify a function

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    6226-Mar-10

  • Minimization using Dont Cares

    Treat don't cares as if they are 1s to generate PIs.

    Delete PI's that cover only don't care minterms.

    Treat the covering of remaining don't care minterms as optional in the selection process (i.e. they may be, but need not be, covered).

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    6326-Mar-10

  • Example

    Simplify the function f(a,b,c,d) whose K-map is shown at the right.

    f = acd+ab+cd+abc or

    f = acd+ab+cd+abd The middle two terms are EPIs, while

    the first and last terms are selected tocover the minterms m1, m4, and m5.

    (Theres a third solution!)

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    6426-Mar-10

    xx11xx0010111010

    xx11xx0010111010

    00 11 00 1111 11 00 1100 00 xx xx11 11 xx xx

    abcd

    000111 10

    00 01 11 10

  • Another Example

    Simplify the function g(a,b,c,d) whose K-map is shown at right.

    g = ac+ abor

    g = ac+bd

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    6526-Mar-10

    xx 11 00 0011 xx 00 xx11 xx xx 1100 xx xx 00

    xx 11 00 0011 xx 00 xx11 xx xx 1100 xx xx 00

    xx 11 00 0011 xx 00 xx11 xx xx 1100 xx xx 00

    abcd

  • Algorithmic minimization

    What do we do for functions with more than 4-5 variables?

    You can code up a minimiser (Computer-Aided Design, CAD) Quine-McCluskey algorithm Iterated consensus

    We wont discuss these techniques here

    Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5)

    6626-Mar-10