I need help confirming some hunches. I'm trying to figure out what type of circuit this is:


Any ideas?
Also, I think the logic expression for this is: D = (A AND B) OR (NOT(B) AND C)


There are only two intermediate signals, so it's relatively easy to break down. We'll call the left input to the bottom OR gate X and the right input Y.

I'm going to use some shorthand here - NOT = !, AND = &, OR = |.

X = A & B

Y = !B & C

Those two lead into the OR gate that produces D:

D = (A & B) | (!B & C)

Which is the result you came up with, so you are correct.

One application of this logic circuit is to act as a selector:

  • When B is asserted, then A is output on D, and C is ignored.
  • When B is de-asserted, then C is output on D, and A is ignored.
| improve this answer | |
  • 1
    \$\begingroup\$ Yeah, that definitely looks like a 2-1 multiplexer. It passes A or C to the output, depending on the value of B. \$\endgroup\$ – ajs410 Apr 29 '10 at 21:25
  • 3
    \$\begingroup\$ It's a multiplexer, but it's not a hazard-free one. Even if A and C are true, a rising or falling edge may generate a glitch on the output. A hazard-free multiplexer would include "A and C" as an extra term on the output "or" gate. \$\endgroup\$ – supercat Jun 16 '11 at 2:12

Its a 2:1 multiplexer, the select input being B. A and C are inputs, D is the output

| improve this answer | |

Your Answer

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