# What type of Boolean logic circuit is this?

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.
-
Yeah, that definitely looks like a 2-1 multiplexer. It passes A or C to the output, depending on the value of B. –  ajs410 Apr 29 '10 at 21:25
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. –  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

-