SWE 637 Quiz Number 8
March 26, 2012


Consider the following boolean function

   f = ab + bc
   // In Java:  a && b || b && c
  1. Draw two K maps, one for f and one for ~f, the negation of f
      f  \       ab               ~f \       ab
          \ 00  01  11  10            \ 00  01  11  10
           -----------------            -----------------
     c   0 |   |   |   |   |      c   0 |   |   |   |   |
           -----------------            -----------------
         1 |   |   |   |   |          1 |   |   |   |   | 
           -----------------            -----------------
    


    Answer:
    For f:
         \       ab
          \ 00  01  11  10
           -----------------
     c   0 |   |   | t |   |
           -----------------
         1 |   | t | t |   |
           -----------------
    

    For ~f
         \       ab
          \ 00  01  11  10
           -----------------
     c   0 | t | t |   | t |
           -----------------
         1 | t |   |   | t |
           -----------------
    
  2. Find a minimal representation for ~f.
    Answer:
       ~f = ~b + ~a~c
    
  3. For each implicant in f and ~f, find all unique true points (UTPs). List UTPs by implicant.

    Answer:
    For f
       for ab     TTF
       for bc     FTT
    For ~f
       for ~b     TFF, FFT, TFT
       for ~a~c   FTF
    
  4. Find a CUTPNFP test set for f. Hint: There is only one possible answer.
    Answer:
    For implicant ab:
       Select UTP TTF.
       For literal a, select NFP FTF
       For literal b, select NFP TFF
    For implicant bc:
       Select UTP FTT.
       For literal b, select NFP FFT
       For literal c, select NFP FTF
    
    Hence the CUTPNFP set is the two UTPs plus the three NFPs: {TTF, FTT, FTF, TFF, FFT}.
Grading note: I'll accept test inputs identified explicitly, as above, or simply identified on the K-map in some unambigious way.