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

Minjae picture Minjae · Jul 4, 2016 · Viewed 14.9k times · Source

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

Answer

Kit Ostrihon picture Kit Ostrihon · Jul 10, 2016

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