boolean-expressionkarnaugh-map

K-map ( karnaugh map ) 8,4,-2,-1 to binary code conversion


I'm taking computer science courses and some digital design knowledge is required, so I'm taking digital design 101.

http://i.imgur.com/jQRbLsc.png

Image above is representing the conversion process of 8,4,-2,-1 to binary using K-map (Karnaugh map).

I have no idea why 0001, 0011, 0010, 1100, 1101, 1110 are marked as 'X'.

For 0001, 0011, 0010, they could be expressed as 8,4,-2,-1 as 0111, 0110, 0101. And for 1100, 1101, 1110, 1110 can still be expressed as 1100 in 8,4,-2,-1 form as 1100. rests cannot be expressed in 8,4,-2,-1 since 1100 is the biggest amount of number in 8,4,-2,-1 binary form (I think).

Is there something I'm missing?

I understand the excess-3 to binary code conversion provided from my textbook example ( m10-m15 are marked as 'X' since excess-3 were used to express only 0-9.)


Solution

  • According to the definition of BCD, 1 decimal digit (NOT one number) is represented by 4 bits.

    The 4 given inputs can therefore represent only values from interval from 0 to 9.

    The corresponding and complete truth-table looks like this:

     decimal | 8  4 -2 -1 |  decimal  || BCD
     /index  | A  B  C  D |   result  || W X Y Z
    ----------------------------------||---------
         0   | 0  0  0  0 |     0     || 0 0 0 0 ~ 0
         1   | 0  0  0  1 |    -1     || X X X X
         2   | 0  0  1  0 |    -2     || X X X X
         3   | 0  0  1  1 |  -2-1=-3  || X X X X
         4   | 0  1  0  0 |     4     || 0 1 0 0 ~ 4
         5   | 0  1  0  1 |   4-1=3   || 0 0 1 1 ~ 3
         6   | 0  1  1  0 |   4-2=2   || 0 0 1 0 ~ 2
         7   | 0  1  1  1 |  4-2-1=1  || 0 0 0 1 ~ 1
         8   | 1  0  0  0 |     8     || 1 0 0 0 ~ 8
         9   | 1  0  0  1 |   8-1=7   || 0 1 1 1 ~ 7
        10   | 1  0  1  0 |   8-2=6   || 0 1 1 0 ~ 6
        11   | 1  0  1  1 |  8-2-1=5  || 0 1 0 1 ~ 5
        12   | 1  1  0  0 |   8+4=12  || X X X X
        13   | 1  1  0  1 | 8+4-1=11  || X X X X
        14   | 1  1  1  0 | 8+4-2=10  || X X X X
        15   | 1  1  1  1 | 8+4-2-1=9 || 1 0 0 1 ~ 9
    

    The K-maps then match the truth-table by its indexes:

    K-maps for the truth-table

    Using the K-maps, it can be indeed simplified to these boolean expressions:

    W = A·B + A·¬C·¬D
    X = ¬B·C + ¬B·D + B·¬C·¬D
    Y = ¬C·D + C·¬D
    Z = D