Поскольку у вас уже есть ответ на диаграмме, который можно легко получить из
википедии , введя название вопроса в Google в виде диаграммы .png,
идентичной вашей, вам будет легко найти формулу, извлекая ее из этой диаграммы. Учитывая NAND определения , как
NAND(A,B)=AB¯¯¯¯¯¯¯¯:
Крайний левый затвор дает ;C=AB¯¯¯¯¯¯¯¯
Верхние ворота дают ;D1=AC¯¯¯¯¯¯¯¯
Верхний вентиль дает , поскольку NAND коммутативен, как AND;D2=BC¯¯¯¯¯¯¯¯
Крайний правый затвор дает .E=D1D2¯¯¯¯¯¯¯¯¯¯¯¯
Собирая все это вместе, мы сначала отметим, что
C=AB¯¯¯¯¯¯¯¯=A¯¯¯¯+B¯¯¯¯
D1¯¯¯¯¯¯=AC=A(A¯¯¯¯+B¯¯¯¯)=AA¯¯¯¯+AB¯¯¯¯=0+AB¯¯¯¯=AB¯¯¯¯
Аналогично: D2¯¯¯¯¯¯=BA¯¯¯¯
Таким образом,
E=D1D2¯¯¯¯¯¯¯¯¯¯¯¯=D1¯¯¯¯¯¯+D2¯¯¯¯¯¯=AB¯¯¯¯+BA¯¯¯¯
Какое именно определение XOR. Вы можете просто отменить все это, если хотите начать с исходных данных, а не просто проверить ответ.
Поиск ответа без предварительного знания
Это предназначено, чтобы ответить на явный запрос, добавленный как изменение к вопросу, для способа найти решение с нуля. Учитывая, что речь идет о мыслительном процессе, я даю все детали.
AB
XOR(A,B)=AB¯¯¯¯+BA¯¯¯¯,
Таким образом, мы можем попытаться угадать, какой тип ввода для этих элементов даст желаемый результат.
NAND(X,Y)=XY¯¯¯¯¯¯¯¯=X¯¯¯¯+Y¯¯¯¯
Объединяя эту последнюю формулу с результатом, который мы должны получить, мы получаем:
X¯¯¯¯=AB¯¯¯¯X=AB¯¯¯¯¯¯¯¯¯¯¯¯=A¯¯¯¯+B,
Y=A¯¯¯¯B¯¯¯¯¯¯¯¯=A+B¯¯¯¯,
Обратите внимание, что это только самая простая возможность. Существуют и другие пары входных данных, которые дают желаемый результат, потому что мы не объединяемся в свободной алгебре, поскольку NAND обладает эквациональными свойствами. Но мы попробуем это для начала.
XYAB
Мы могли бы попытаться повторить процедуру объединения (я это сделал), но это, естественно, приведет нас к использованию еще четырех ворот, а значит, к решению с 5 воротами.
XYZAB
XYZABAB
AB
Z=NAND(A,B)=AB¯¯¯¯¯¯¯¯=A¯¯¯¯+B¯¯¯¯
ZABXY
AB
Это легко проверить
NAND(Z,A)=ZA¯¯¯¯¯¯¯=AB¯¯¯¯¯¯¯¯A¯¯¯¯¯¯¯¯¯¯¯¯¯=(A¯¯¯¯+B¯¯¯¯)A¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯=A¯¯¯¯A+B¯¯¯¯A¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯=0+B¯¯¯¯A¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯=B¯¯¯¯A¯¯¯¯¯¯¯¯=AB¯¯¯¯¯¯¯¯¯¯¯¯=X
Similarly NAND(Z,B)=Y
Hence we can compose these four gates to get the desired result, i.e.,
the XOR function.