how do i derive an equation from a function table?

Discussion in 'Homework Help' started by player123, May 25, 2007.

  1. player123

    Thread Starter New Member

    May 25, 2007
    4
    0
    hi! i am trying to deduce a boolean expression from a function table. For example how would you derive function from this table:

    A B C Result
    0 0 0 0
    0 0 1 1
    0 1 0 1
    0 1 1 0
    1 0 0 1
    1 0 1 0
    1 1 0 0
    1 1 1 1


    thanks!
     
  2. hgmjr

    Moderator

    Jan 28, 2005
    9,030
    214
    Two things you might want to look into are "exclusive or gates" and the technique called "parity" bit generation.

    hgmjr
     
  3. recca02

    Senior Member

    Apr 2, 2007
    1,211
    0
    if i m reading the question correctly,
    u want a function in terms of sop or pos form to produce above result,
    in such cases kernaugh map is very hand try reading about it.
    the solution of such problems is very easy with the use of kernaugh map.
    or else you can identify the minterms for whic o/p is high (for sop)
    and try using and logic to get the minterms in form of product of three variable such that o/p is high for the combination then join them by or function.
    in case u are confused.
    example
    o/p is high when a b c read 1,2,4 and 7 (see table) in binary form.
    since for one input shud be A'.B'.C (low inputs are complimented)
    for 4 A.B'.C' etc add them all and simplify using boolean algebra
    like op = a.b'.c' + a'.b'.c + ......
    u wil get the req function.
     
  4. Papabravo

    Expert

    Feb 24, 2006
    10,152
    1,793
    You simply read off the terms by inspection.
    For each row where the result is a one read the inputs from left to right saying not<variable> for a zero and <variable> for a one with AND as the connective. Then OR all of these terms together.

    Not-A .AND. Not-B .AND. C .OR.
    Not-A .AND. B .AND. Not-C .OR.
    A .AND. Not-B .AND. Not-C .OR.
    A .AND. B .AND. C

    Four ones in the result column implies four terms connected with .OR.
    Each term has three factors connected with .AND.
    It is the same story for all the truth tables you will ever see, besides all the one you won't, no matter how many inputs there are.
     
  5. Dave

    Retired Moderator

    Nov 17, 2003
    6,960
    145
    Further to Papabravo's answer, you could/should then look at simplifying the expression to obtain it in its simplest (in terms of required gates) form.

    Dave
     
  6. player123

    Thread Starter New Member

    May 25, 2007
    4
    0
    ok thanks alot guys! :))
     
  7. Dave

    Retired Moderator

    Nov 17, 2003
    6,960
    145
    No problems. If when you have derived your expression if want to post it we can check it for you.

    Dave
     
  8. player123

    Thread Starter New Member

    May 25, 2007
    4
    0
    oh its ok i just put this example on the forum so someone could show me the method of derriving a function. now i am trying to apply this method to real example. but it kinda gets complicated. can u just have a quick look at the question:
    -------------------------------------------------------------------------
    A certain committee has four officers; Chair, Deputy, Secretary and Treasurer, each of whom is provided with a voting 'button'; being a switch which gives:
    '0' = "Against" or '1' = "For" a resolution.
    The rules of Simple Majority Voting apply except that, in the event of a tie, the Chair's vote is "casting" (i.e. the vote, for or against, is that of the Chair).

    A combinational logic circuit is required to accept the four switch values as its inputs and generate the overall Vote as a single output; V.
    (You may assume that each voting switch gives true and complement outputs; i.e. C and C, D and D etc., are all available directly.)

    4.1 Incorporate these voting rules into a Function Table and hence, derive an equation which expresses V in terms of C, D, S and T.

    4.2 Hence draw a circuit of logic gates which will deliver the required voting signal output; V.

    ------------------------------------------------------------------------

    i have done the function table which is:

    C D S T Vote
    0 0 0 0 0
    0 0 0 1 0
    0 0 1 0 0
    0 0 1 1 0
    0 1 0 0 0
    0 1 0 1 0
    0 1 1 0 0
    0 1 1 1 1
    1 0 0 0 0
    1 0 0 1 1
    1 0 1 0 1
    1 0 1 1 1
    1 1 0 0 1
    1 1 1 0 1
    1 1 1 1 1

    using your method with AND and OR that papabravo suggested i came to the function:

    C.D.S.T +
    notC.D.S.T +
    C.notD.notS.notT +
    C.notD.S.notT +
    C.notD.S.T +
    C.D.notS.notT +
    C.D.notS.T +
    C.D.S.notT

    but think that a bit too complicated and i am sure there was a simpler solution using XOR when our teacher showed us, but i cant really remember. so any suggestions? thanks again!
     
  9. Papabravo

    Expert

    Feb 24, 2006
    10,152
    1,793
    Step 1. Your table has 15 rows instead of 16
    Step 2. Adjacent rows may imply a simpler expression. Example, the last two rows reveal that if C=D=S=1, then T is a don't care because the function is a 1 regardless of the value.
    Step 3. It can be hard to see what is going on with XOR in a function of four variables. Stick to the AND/OR formulation until you gain some confidence. It is hard to make a mistake and the results are obvious by inspection.
     
  10. player123

    Thread Starter New Member

    May 25, 2007
    4
    0
    ok thanks!
     
  11. Dave

    Retired Moderator

    Nov 17, 2003
    6,960
    145
    Correct, the 1-1-0-1 row is missing.

    The simplification process will eliminate these conditions, for example:

    1-1-1-0 = 1
    1-1-1-1 = 1

    As an expression:

    C.D.S.T' + C.D.S.T = (C.D.S)(T'+T) = C.D.S

    Since T'+T = 1 where ' implies NOT

    Dave
     
Loading...