-1
\$\begingroup\$

I have the following 15 sets of binary outputs:

A B C D E b c d e f
1         1
1           1
1             1
1               1
1                 1
  1         1
  1           1
  1             1
  1               1
    1         1
    1           1
    1             1
      1         1
      1           1
        1         1

I want to create a logic circuit that turns each 4 bit input value into a different 10-bit output row. (There will be one 4 bit value unused, whose output I do not care about, as there are only 15 rows.)

The rows can be numbered in any order, provided there is an input which will generate each row.

How can I go about finding the optimal logic circuit and numbering scheme for the rows, to use the least gates?

\$\endgroup\$

put on hold as unclear what you're asking by Elliot Alderson, Dave Tweed Sep 12 at 13:14

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ Do you really mean outputs or do you mean inputs to your logic circuit? I think you may have 12 outputs and 15 inputs? What about the zeros? \$\endgroup\$ – Andy aka Sep 12 at 12:21
  • \$\begingroup\$ Four bits of input (not shown) 15 outputs A-F and a-f. Zeros not shown because they obscured the pattern in the output. \$\endgroup\$ – fadedbee Sep 12 at 12:36
  • \$\begingroup\$ Welcome to EE.SE! This appears to be a homework question. As such, you need to show us your work so far, and explain which part of the question you're having trouble with. For future reference: Homework questions on EE.SE enjoy/suffer a special treatment. We don't provide complete answers, we only provide hints or Socratic questions, and only when you have demonstrated sufficient effort of your own. Otherwise, we would be doing you a disservice, and getting swamped by homework questions at the same time. See also here. \$\endgroup\$ – Dave Tweed Sep 12 at 12:46
  • 1
    \$\begingroup\$ So, what have you tried so far? You've offered us no clues about your level of skill in this area, and there's no way we're going to be able to give you a complete course in logic minimization in the space provided here. Also, you've provided no context around this problem, including the implementation technology you're using, or the timing constraints that you need to meet. \$\endgroup\$ – Dave Tweed Sep 12 at 13:01
  • 1
    \$\begingroup\$ So the question is find an ordering of the input space that minimizes the number of gates required to implement the 10 output functions so defined, that's kind of interesting, and sounds like a search problem to me (but don't they all?). Only 16! possible orderings, better get cranking :-). \$\endgroup\$ – vicatcu Sep 12 at 13:28
2
\$\begingroup\$

I will give you a couple of hints to get you started.

  1. By neglecting to show the four bit inputs to the left of each row you have made your question somewhat confusing.
  2. Since you have 10 outputs you will need to create 10 separate truth tables or Karnaugh maps.
  3. After you have found a set of mimimized logic equations for each of the 10 outputs it will likely be a manual process determine where there are common logic terms that can be shared.
  4. Trying to find the minimal overall logic solution will require iterative solving of the 10 truth tables with the different 4-bit input codes rotated among the rows.
  5. There are tools available for solving truth tables or Karnaugh maps. Some are online and some are downloadable apps such as one I have seen in the Microsoft store.
\$\endgroup\$
  • \$\begingroup\$ I've failed to make clear that you can choose which four-bit input value generates each 10-bit output row. \$\endgroup\$ – fadedbee Sep 12 at 13:04
  • \$\begingroup\$ @fadedbee - No "you" can choose. It's your design problem. \$\endgroup\$ – Michael Karas Sep 12 at 13:07
  • \$\begingroup\$ I'm guessing that some mappings of inputs to outputs may require less logic than others. The 4-bit input value is part of the instruction coding, and can be arbitrary to reduce this logic. \$\endgroup\$ – fadedbee Sep 12 at 13:09
  • \$\begingroup\$ Thanks for your hints, I will write some code to evaluate all 15! mappings. \$\endgroup\$ – fadedbee Sep 12 at 13:10
  • \$\begingroup\$ @fadedbee - Exactly my point #4. \$\endgroup\$ – Michael Karas Sep 12 at 13:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.