I am trying to make a 3x8 encoder with the additional feature of keeping the old value in the output when all the input are 0.
Truth table:
Inputs...............................Outputs
I7| I6| I5| I4| I3| I2| I1| I0|O0|O1|O2|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |O0|O1|O2| <<<<<< O0, O1, O2 are the previous outputs
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
It's obvious you must implement d flip flops or d latches inside the encoder, but the way I thought did not work.
Thanks for any help~
Truth table:
Inputs...............................Outputs
I7| I6| I5| I4| I3| I2| I1| I0|O0|O1|O2|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |O0|O1|O2| <<<<<< O0, O1, O2 are the previous outputs
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
It's obvious you must implement d flip flops or d latches inside the encoder, but the way I thought did not work.
Thanks for any help~
Last edited: