I'm new to this site and I'm pretty "noobish" to electrical engineering coming from a software engineering background I was hoping someone could help me understand this design a bit. I've highlighted two part of the diagram that obviously aren't gates.

I'd like some help understanding what it is and how it could be implemented with gates if possible or if needed.

enter image description here


2 Answers 2


It's a Multiplexer.

Inputs A,B,C select what input goes to output.

Example: ABC = 011 (binary) = 3 (decimal) in that case D3 will be set as output.

  • \$\begingroup\$ Do you know if there's a way to modify the ALU to output the result in binary? \$\endgroup\$ Aug 8, 2013 at 8:43
  • \$\begingroup\$ Or is it already outputting the right value somewhere and I'm just not seeing it? That is, without the multiplexer. \$\endgroup\$ Aug 8, 2013 at 8:56
  • \$\begingroup\$ It always outputs the result in binary on OUT. The multiplexer selects which function is applied to A and B. \$\endgroup\$
    – pjc50
    Aug 8, 2013 at 8:58
  • \$\begingroup\$ What would the Multiplexer look like then in terms of gates? \$\endgroup\$ Aug 8, 2013 at 9:20
  • \$\begingroup\$ @thecodemonsters: in the 74HC151 datasheet a logic diagram is shown in figure 3 \$\endgroup\$
    – Johan.A
    Aug 8, 2013 at 10:09

It's a multiplexer. It selects which function the ALU outputs, by selecting which set of gates gets routed to the output. If OP[2:0] == 0, for example, then OUT = A xor B. If OP == 3, then OUT = A + B + carryin.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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