2
\$\begingroup\$

I have an ALU that performs 6 functions, each function provides a 4 bit result. I want to multiplex these outputs so they can be selected with an op-code (selector bits of the mux). The only problem is there are no 24 in 4 out multiplexers, so how can I achieve this?

Thanks

\$\endgroup\$
  • 3
    \$\begingroup\$ Four 8-to-1 multiplexers? Is this an ALU built in 74 logic? \$\endgroup\$ – pjc50 Sep 25 '15 at 9:37
  • \$\begingroup\$ In what technology? TTL? \$\endgroup\$ – Brian Drummond Sep 25 '15 at 9:42
  • \$\begingroup\$ The ALU uses CMOS chips and produces 6 x 4 bit outputs, each output a unique function. How do I mux between these outputs? \$\endgroup\$ – Eddie Sep 25 '15 at 9:55
  • \$\begingroup\$ @Eddie Four 8-to-1 multiplexers? \$\endgroup\$ – immibis Sep 25 '15 at 11:42
2
\$\begingroup\$

You can use 6 - 4 bit tri-state buffers - like the 74HC125

each of your ALU outputs goes into a separate 4 bit - tri-state buffer - with the buffer enables commoned-up on each group of 4 bits. The outputs of the tristate buffers can simply be wired together onto a 'bus' and you then use the 6 buffer enable lines to select which of the ALU outputs is selected onto the bus.

you could also add a 74HC138 to convert a 3 bit selection into the 6 buffer enable lines

\$\endgroup\$
0
\$\begingroup\$

Three quad 2:1 multiplexers: HC257

Here's the circuit and its truth table, with the '161 used to simulate the control signals to the muxers,

enter image description here

here's the plot,

enter image description here

and here's a link to the files you'll need to run the simulation. Put them all in the same folder and left click on the .asc file to get started. if you don't have LTspice its free, here.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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