I am trying to understand the process of creating combinatorial circuits. I understand that first we document the inputs and outputs, then create minterms and max terms, then push them into a k-map and get a function as an output. This function can then be implemented using logic gates.
The problem I have is, I don't understand the logic behind converting the equation that we got, such that I can implement the same circuit using just NAND or nor logic gates.
The image is from my book for converting a half adder circuit. I understand the steps taken but don't understand the reason why they took them. Thanks for the help.
Best Answer
Start with your equation as normal...
Y = ABC+DEF+GHI+JKL...
Repeatedly apply de'Morgan's Theorem to convert all AND and OR and NOT operations into either NAND or NOR as required.
AND(A,B,C,D...) = NAND(NOT(A),NOT(B),NOT(C),NOT(D)...)
OR(A,B,C,D...) = NOR(NOT(A),NOT(B),NOT(C),NOT(D)...)
NOT(A) = NOR(A,0)
NOT(A) = NOR(A,A)
NOT(A) = NAND(A,1)
NOT(A) = NAND(A,A)