Which of the following sets of component(s) is/are sufficient to implement any arbitrary Boolean function?
View worked solution
Answer: B;C
To determine which sets of components are functionally complete (sufficient to implement any arbitrary Boolean function), we analyze each option:
-
XOR gates, NOT gates:
Both XOR and NOT are linear functions. Any combination of linear functions can only produce linear functions. Since non-linear functions like AND () or OR () cannot be represented, this set is not functionally complete.
-
2-to-1 multiplexers:
The output of a 2-to-1 multiplexer with select line and inputs is given by .
- By setting and , we get (NOT gate).
- By setting , , and , we get (AND gate).
Since we can implement both AND and NOT gates, 2-to-1 multiplexers are functionally complete.
-
AND gates, XOR gates:
Using the constant , we can implement the NOT operation as . Since we have both AND and NOT, we can implement any Boolean function. This is also known as the Reed-Muller expansion. Thus, this set is functionally complete.
-
Three-input gates that output :
The function is a monotonic function (it contains no negations). Any network of purely monotonic gates can only implement monotonic functions. Since the NOT operation is non-monotonic, it is impossible to implement a NOT gate using this component. Thus, it is not functionally complete.
Free practice · Your answers on this page are not saved.
