Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I need help please. For the following figure write down the logic levels of all

ID: 2989360 • Letter: I

Question

I need help please.

For the following figure write down the logic levels of all the inputs and intermediary inputs (i.e. the logic values of all the input and outputs of the 4 encoders) when your output is as follows: Design 8-to-3 Encoder along with priority encoder, where priority of the bits is as follows: 17 has the highest priority 14 has the next highest priority and the rest of the signals are in the following order 16,15,13,12, I1, I0 (with 10 having the least priority) Your answer should include following: Truth table with 17 to 10 eight inputs, and three outputs Y2, Y1, Y0 Equations for each priority encoder output (H7 to H0), with H7 should represent highest priority and H0 the least priority Equation of the final output of the encoder (Y2 to Y0) in terms of H

Explanation / Answer

A regular encoder assumes that exactly one input is 1 (while all other inputs are 0).

Consider this assumption. Normally, we have 8 inputs, which means we have 28 or 256 rows. Only 8 rows satisify the the assumption (i.e., xi = 1 for i ranging from 0 to 7). The remaining rows either have too many 1's or no 1's at all.

With the 3-8 decoder, the inputs were a 3 bit UB bitstring which told us which output to set high. So, now that inputs are outputs, the output of an 8-3 decoder has 3 bits as output. This should indicate which input was set to 1, and output the binary representation (in UB) of the input. THus, if x5 = 1 (and all other inputs are 0), then the output is z2z1z0 = 101, since 101 is interpreted as 5 in UB.

Thus, we can write a simplified truth table with only those 8 rows.

Thus, if x3 = 1, then the 3 output bits, z2z1z0 = 011, since 011 is maps to value 3 in UB.

Suppose we wanted to write the Boolean expression for z2. As before, we identify the rows with 1's as outputs, and create a minterm.

If we do this, we will have very large minterms.

The terms need not be this large. We've assumed that exactly one input is a 1. This is a strong assumption that allows us to simply the expression greatly.

Let's see how this works. Suppose we know that x3 = 1. Then, z2 = 0, since x3 does not appear in the Boolean expression (thus, all other literals are 0). x3 do appear in z1 and z0, so x1 = 1 and x0 = 1.

Therefore, x2x1x0 = 011, which is UB for 3, so that's what we expected. Again, this Boolean expression can be simplified because we assume exactly one input is 1.

Priority Encoder

Since we generally have no control over the inputs, it's not so realistic to expect exactly one input to be 1. We can make an encoder that relaxes this assumption.

Assumption A priority encoder assumes that at least one input is 1

This only excludes one possible input. The input where all bits are 0. We'll talk about what to do in that case.

Picking a Priority Scheme

With a priority encoder, we may have more than one input with a value of 1. How do we decide which input subscript to encode? This is where priority comes in. We need to assign a priority to each of the subscripts.

There are two common ways to do come up with a priority scheme.

You could imagine other ways of prioritizing the inputs.

For now, let's assume that larger subscripts have higher priorities.

The Boolean expressions we came up with for the regular encoder are no longer valid.

To make it a little easier to modify, I've written the expressions with the highest priority input variable first.

So why doesn't this work? Suppose x4 = 1, and x3 = 1. The higher priority is 4, so we should have an output of 100.

However, if we plug into the Boolean expressions, we get an output of 111, which is clearly incorrect. The problem? Our assumption that exactly one input is 1 no longer holds.

For example, x4 appears in the Boolean expression for z2. We assumed, for a regular encoder, that if x4 = 1, then no other input was 1. However, we can no longer assume this.

How can we modify these formulas so that we know that, say, x4 has the highest priority?

Modifying the Product Term

What does it mean to say, for example, that x4 has the highest priority? It means that x4 = 1, and x5 = 0, and x6 = 0, and x7 = 0. That is, every input with higher priority than x4 must be 0. We don't care what happens to inputs with lower priorities.

How can we come up with a Boolean expression to convey this? This looks very much like creating a minterm, except we don't use all input variables. In fact, that's what it is:

We negate all literals with higher priority than the input, and we leave out all literals with smaller priorities.

Priority Encoder Expressions

Thus, the modified Boolean expressions for priority encoders are:

Simplifying Priority Encoders

The equations for the priority encoder can be simplified. For example, look at z1. Even though this Boolean expression is quite long, it still conveys the idea that i

Input Variable Has Value 1 z2 z1 z0 x0 0 0 0 x1 0 0 1 x2 0 1 0 x3 0 1 1 x4 1 0 0 x5 1 0 1 x6 1 1 0 x7 1 1 1
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote