Question

Can anyone help me to simplify this boolean function into two logic gates?

C(out) = AC(in) + BC(in) + AB
Was it helpful?

Solution

This expression represents what is commonly known as a three input majority gate - the output is TRUE only when the majority of inputs are true (2 or 3 inputs must be true for the 3 input case). In general it takes 4 basic logic gates to implement this (5 if you you are restricted to 2-input gates).

If you Google for "majority gate" you will find a variety of implementations, e.g. on this page I found the following, which I think matches your criteria (other than the unfeasible requirement of doing it with only 2 gates):

enter image description here

OTHER TIPS

About majority function with n boolean variables. for n variables, f(x1,x2,...xn) there will be total nC[n/2] terms for OR operation. Each term contains [n/2] variables for AND operation.

ex: f(00111)= OR{ and(0,0,1) and(0,0,1) and(0,0,1) and(0,1,1) and(,0,1,1) and(0,1,1,) and(0,1,1) and (0,1,1,) and(0,1,1,) and(1,1,1 )

=0 OR 0 OR 0 OR...... OR 1=1=majority of ones is true.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top