Encoder

Discussion in 'Homework Help' started by digitalize, Apr 16, 2015.

  1. digitalize

    Thread Starter New Member

    Apr 15, 2015
    9
    0
    I'm currently working on an assignment where a 3-input encoder that assigns a 2-bit code to each of the three input combinations. Here I'm trying to figure out how many implementations I could have. So, for example I have 2^3, which is 8 possibilities.
    Here is my current three input combinations:
    |X|Y|Z | A|B|
    |0|0|1 | 0|1|
    |0|1|0 | 1|0|
    |1|0|0 | 1|1|

    My question is, if there are a total of 8 total possibilities and 5 of them are don't care, is it possible to have more than three implementations? I feel as though I'm confusing myself with implementation and possibilities.
     
  2. ericgibbs

    AAC Fanatic!

    Jan 29, 2010
    2,504
    380
    hi,
    Are you sure that your table includes all the combinations.?
    E
     
  3. digitalize

    Thread Starter New Member

    Apr 15, 2015
    9
    0
    These are the only cases i'm currently aware of where either a or b equals 1
     
  4. WBahn

    Moderator

    Mar 31, 2012
    17,777
    4,805
    Not sure what you are asking. Where does the "three implementations" come from to begin with?

    Let's simply things and use two inputs and say that I'm only interested in having the output, Y, follow the following two states for the inputs, A and B (with all the others being don't cares):

    |A|B|Y|
    |1|0|0|
    |1|1|1|

    I could implement this a number of ways, including just setting Y=B. But I could also use an AND gate or an XNOR gate. I could also implement it using a circuit that has ten thousand gates, which gets into the distinction between a logic function and an implementation of that function.

    In this case, I have two Boolean inputs so I have four possible combinations. Since two of those combinations are don't cares, those two lines could take on any of four possible combination of output values. Hence there are four Boolean functions on those two inputs that will give me what I want. But each of those functions can be implemented in an infinite number of ways.

    As an example, consider the function Y = A+B. I can implement that direction using an OR gate. But I can also implement it as Y=(A'B')'. It's a different implementation of the exact same function.
     
  5. digitalize

    Thread Starter New Member

    Apr 15, 2015
    9
    0
    I actually meant 4 implementations. Here are the four:
    a=z'
    b=y'
    a=x'yz'+xy'z'
    b=x'y'z +xy'z'

    I was wondering if more were were possible?
     
  6. WBahn

    Moderator

    Mar 31, 2012
    17,777
    4,805
    Sure more are possible.

    Take your first function for A, namely A=Z'. Enumerate the truth table for it. Now flip the state of any on of the "don't care" rows and you have a different function that, if implemented, gives you the correct output for the three rows you happen to care about.

    How many different ways can I change the function outputs for five rows? That's how many different functions there are that will produce the correct output for the three rows you care about -- and that's just for the A output. You have the same for the B output. Now consider that you get to mix and match A and B outputs.
     
  7. digitalize

    Thread Starter New Member

    Apr 15, 2015
    9
    0
    Ok, I think I get it, so if I have 5 don't care states, then couldn't I just take 2^5=32, which give me possible implementations for A only? Then I would have to do the same for B.
     
  8. WBahn

    Moderator

    Mar 31, 2012
    17,777
    4,805
    That will give you the number of unique functions for each output. But there are literally in infinite number of implementations.

    Consider the function Y=A+B. I could implement that as

    Y = A+B
    Y = A'B + AB' + AB (canonical SOP)
    Y = (A'B')'

    and the list could keep going.
     
Loading...