Для полупроводниковых технологий NOT, NOR и NAND - базовые логические элементы которые могут быть реализованны электрически. XNOR, в некоторых случаях XOR тоже могут быть соптимизированны на уровне транзисторной технологии. Другие элементы реализовываются уже комбинационно-логичским путем исходя из них: Практически мы уже рассмотрели как делаются все двухоперандные логические функции кроме импликации и запрета.
Рассмотрим импликацию A->B: ---------- A B | A->B ----+----- 0 0 | 1 0 1 | 1 1 0 | 0 1 1 | 1 ---------- _ Заметим что A->B = A + B -------------------- A A# B | A#+B A->B -------+------------ 0 1 0 | 1 1 0 1 1 | 1 1 1 0 0 | 0 0 1 1 1 | 1 1 -------------------- таким образом получаем импликация A->B - это: IMP
или просто:
Рассмотрим запрет по А (B <- A): ---------- A B | B<-A ----+----- 0 0 | 0 0 1 | 1 1 0 | 0 1 1 | 0 ---------- _ Заметим что B<-A = A * B -------------------- A A# B | A#*B B<-A -------+------------ 0 1 0 | 0 0 0 1 1 | 1 1 1 0 0 | 0 0 1 1 1 | 0 0 -------------------- таким образом: Запрет
или просто:
NOT
NAND
NAND3:
NAND4:
NOR
NOR3:
NOR4:
AND
Реализация на NAND:
x AND y = NOT (x NAND y) Реализация на NOR:
x AND y = (NOT x) NOR (NOT y)
AND3:
AND4:
OR
Реализация на NAND:
x OR y = (NOT x) NAND (NOT y) Реализация на NOR:
x OR y = NOT (x NOR y)
OR3:
OR4:
Реализация на NOT (CMOS-only): Buffer
XOR/XNOR
A (+) B = A#*B + A*B#
A (+) B = A#*B + A*B# = A*A# + A#*B + A*B# + B*B# = = A*(A# + B#) + B*(A#+B#) = = A*(A#*B#) + B*(A#*B#) = = (A + B) * (A*B)#
XOR на NAND:
Помним что самом деле XOR может быть оптимизирован на уровне транзисторов: (Пример для CMOS)
Реализация выглядит как 3 инвертора и один электронный переключатель. XOR с двумя входами на CMOS:
XOR3:
XOR4:
XOR c 4 входами на CMOS:
Собственно говоря любую двухоперандную логическую функцию можно выполнить на структуре типа: *