# Basic gate to NAND method? Classic List Threaded 3 messages Open this post in threaded view
|

## Basic gate to NAND method?

 Is there a generic method to find how the NAND- or NOR-only configuration from a certain type of gate can be found? For example can I calculate the NAND-only version of a XNOR?
 Administrator fweyt01 wrote Is there a generic method to find how the NAND- or NOR-only configuration from a certain type of gate can be found? For example can I calculate the NAND-only version of a XNOR? See Book section 1.1.1 Canonical Representation. This gives you an AND-OR equation for the function.  There's a Boolean algebra law called De Morgan's law. It lets you replace the Ands and Or with Nands: De Morgan's laws: ``` ~(x | y) = ~x & ~y ~(x & y) = ~x | ~y x | y = ~(~x & ~y) x & y = ~(~x | ~y) ```Converting AND-OR to NAND-NAND: ``` a&b | c&d = x | y Substitute a&b = x, c&d = y = ~ (~x & ~y) De Morgan's law = ~ (~(a&b) & ~(c&d)) Rev. subst. a&b = x, c&d = y ```There is a problem if you have more than 2 inputs to the function. You may require Nands with more than 2 inputs.  For real hardware you can build wider Nand gates, up to a reasonable number of inputs, but if you want to implement using only 2-input Nands you end up with lots of cascaded Nands to make Nands with more inputs. Reducing to Nor gates involves making a OR-AND representation of the function, which involves making OR terms for the 0 outputs; it's like deriving the normal canonical but all the inputs and outputs are inverted. De Morgan lets you convert the OR-AND to NOR-NOR. The canonical forms for both Nands and Nors can be minimized using Karnaugh Maps. Sometimes there are smaller solutions than the AND-OR or OR-AND forms. For instance the smallest Xor is 4 Nand gates and the smallest Xnor is 4 Nor gates. --Mark