Priority Encoder

Thread Starter

dogadikbayir

Joined Oct 18, 2013
12
Hello guys,

I have to design a priority 8 input encoder which also has a NONE output that is TRUE if all of the inputs are 0. And also have to give a simplified bool equation for every output of the design and draw a schematic. So is this question just a loooooong exercise or does it have some tricky shortcuts?I know the truth table but preparing a 8 variable K-map for simplification is just crazy, am I right? Please help me by giving some hints, I am stuck...
Thank youu :)
 

WBahn

Joined Mar 31, 2012
30,058
Start by describing in works what the outputs of the circuit mean. Be sufficiently complete so that a sixth grader could take a specific set of inputs and, based on your description, tell you what the outputs should be.
 

Thread Starter

dogadikbayir

Joined Oct 18, 2013
12
Ok, so this encoder has 8 inputs (In0,In1,....In7) and 4 outputs (D0,D1,D3 and NONE). The encoder only looks at the most significant bit of the inputs and represents its order number with D0,D1 and D3. For example when the input series is 0010000(from most sign. to least sign.), the outputs will be 101 and NONE=0 or when the input is 01101001 the output will be 100 and NONE=0. NONE will be 1 if and only if all of the inputs are 0.

Now how can I express this circuit in boolean algebra. I've figured it out how to express the standard 8 input encoder: D0=Ʃm(1+3+5+7), D1=Ʃm(2+3+6+7) and D2=Ʃ(4+5+6+7), but I don't know how to express the encoder which has also "don't cares" in it.

Thank you...
 

WBahn

Joined Mar 31, 2012
30,058
When the input is 01101001, why will the outputs be 100 and NONE=0?

I'm not following what you mean by "the standard 8 input encoder". Are you talking about if exactly one input bit is HI?

If so, let's go with that.

Given a pattern:

01101001

Can you see a way to turn this into the pattern:

01000000

Think about it from the perspective of a single bit position. What does it need to know about itself and the group of bits, as a whole, to the left of it in order to decide whether it is HI or LO?
 

Thread Starter

dogadikbayir

Joined Oct 18, 2013
12
Oops I'm sorry when the input is 01101001 for example the output will be 110. However, I've figured it out. I think that the boolean expression for the outputs i like this:
D0= I7 + I6'I5 + I6'I4'I3 + I6'I4'I2'I1
D1= I7 + I6 + I5'I4'I3 + I5'I4'I2
D2= I7 + I6 + I5 + I4
NONE= I7' . I6' . I5' . I4' . I3' . I2' . I1' . I0'

So the output will represent the most significant bit that is 1 without caring the other bits.

Are the equations right?
 

WBahn

Joined Mar 31, 2012
30,058
That was quite a leap from being totally stuck to a fairly elegant solution (which is correct, I'm pretty sure). What was the insight that revealed the path for you?
 

Thread Starter

dogadikbayir

Joined Oct 18, 2013
12
I found out that we have to pay attention to the 0's on the output. For example let's take 01101011 as input the output should be 110 so in the output we have only the least significant bit as 0. Because of this, we look at the boolean equation for the least significant bit which in the standard encoder is D0 = I7 + I5+ I3 + I1 so in the sample input we have I1, I3, I5 = 1(lets just call them nasty bits), the output with the standard encoder will be 111. To prevent this I just ANDed every "nasty bit" with I6'. I applied this approach to all of the bits according to their position of the 0 bit in the outputs. And I think it is the most simplified equation for all three outputs right? Thank you very much...
 
Top