Мне было дано задание реализовать mux2:1
, используя только эти заданные гейты: XNOR
NAND
OR
.
Входные данные будут a
, b
и sel
(выбрать).
Выход должен быть z
(нет входа включения).
Максимальное количество используемых ворот — 4 (и только эти 3 врата).
Моя идея заключалась в следующем:
Создала таблицу истинности для MUX
:
a b sel z
-------------
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Затем создал karnaugh map
:
sel\ab 00 01 11 10
----------------------
0 | 0 0 1 1
1 | 0 1 1 0
Функция как сумма произведений:
z=c'a+cb
И с этого момента я попытался использовать [тег: булева алгебра], чтобы расширить функцию, чтобы она соответствовала алгебраической записи, которая соответствует заданным воротам.
Кроме того, я знаю, что для создания c'
я могу использовать NAND(c,c)
, а для AND
я могу использовать 2 NANDS
, но если я применю это к этому выражению, я получу 6 логических вентилей, а максимум 4.