NAND(A,B)=AB¯¯¯¯¯¯¯¯:
Складаючи все це разом, спочатку зазначимо це
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¯¯¯¯
Поєднавши цю останню формулу з результатом, який ми маємо отримати, ми отримуємо:
Зауважте, що це лише найпростіша можливість. Є й інші пари входів, які дали б бажаний результат, оскільки ми не об'єднуємось у вільну алгебру, оскільки 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
NAND(Z,B)=Y
Отже, ми можемо скласти ці чотири ворота, щоб отримати бажаний результат, тобто функцію XOR.