## Puzzle #1 – Solution

May 23, 2007The key observation to the solution of this puzzle is to note that the *outputs* of components can be connected together given than only one drives a non high-Z value. If you realized that 90% of the way to solving this puzzle is behind you.

The second step is to realize a “NOT” gate using both the “X” and “Y” components. When you know how to do that an “OR” and an “AND” gate realization are quite simple.

The figure below sums up the construction of “NOT”, “OR” and “AND gates from various instances of “X” and “Y”.

The next step is quite straightforward. We combine the gates we constructed and make an “XOR” gate as follows:

This is by no means the most efficient solution in terms of minimum “X” and “Y” components.

why not generate

A'(Y)B’

A(X)B’

A'(X)B

A(Y)B

and then wired-OR their output….

by Aniruddha Santra August 27, 2009 at 5:32 amOr,

by Nik February 5, 2010 at 3:45 amA'(X)B

A(X)B’

(A(X)B)’

A(Y)B

and then wire OR the outputs

OOPS ! Earlier solution will not work as it will give an output of ‘X’ for A=0,B=1 and A=1,B=0 conditions. Aniruddha’s solution is correct.

by Nik February 5, 2010 at 5:36 amexcept that you need to build a 3-input and gates

by Cool Work February 6, 2011 at 5:22 pmI guess all these solutions will work only if z input to X and Y give Z ouput 🙂 . I suppose that should be assumed !

by govinda.keshavdas@gmail.com November 18, 2011 at 7:07 pmHi Nir,

by Aparna January 8, 2014 at 6:00 pmReally appreciate your blog. Recently started reading while preparing for interview