Среди полных систем функций алгебры-логики (наборов функций с помощью которых можно за
конечное число шагов реализовать все остальные функции) наиболее простыми, удобными и
экономичными являются функции Шеффера {|} и Пирса {↓}. Для реализации этих
функций в микросхемах требуется по одному транзистору.
Сложные функции анализируют и минимизируют в базисе {И, ИЛИ, НЕ}, а затем переводят для
схемной реализации в базис И-НЕ, либо ИЛИ-НЕ.
Для перевода сложных логических выражений в базис И-НЕ, надо получить МДНФ, охватить все
элементарные конъюнкции скобками, дважды инвертировать логическое выражение, внести одно
из отрицаний внутрь скобок (по формуле де Моргана) и записать полученное выражение в
базисе И-НЕ
Пример: МДНФ функции f(a,b,c,d) = a ¬ c bcd
¬ a ¬ bc = (a¬c)
(bcd)
(¬a¬bc) = ¬¬((a¬c)
(bcd)
(¬a¬bc)) = ¬(¬(a¬c) &
¬(bcd) & ¬(¬a¬bc)) = (a|¬c) | (b|c|d) | (¬a|¬b|c).
Т. о. для перевода логического выражения в базис И-НЕ надо в МДНФ охватить
скобками все элементарные конъюнкции, и записать выражение такого же вида,
в котором все отрицания остаются при тех же аргументах функции, а все
знаки & и заменяются Штрихом Шеффера |. Если
какая-то из элементарных конъюнкций представлена в МДНФ всего одной переменной,
то при переходе в базис И-НЕ эта переменная инвертируется
Пример: МДНФ функции f(a,b,c,d) = a bcd
¬a¬bc = (a)
(bcd)
(¬a¬bc) = ¬¬((a)
(bcd)
(¬a¬bc)) = ¬(¬(a) & ¬(bcd)
& ¬(¬a¬bc)) = (¬a) | (b|c|d) | (¬a|¬b|c).
Для перевода сложных логических выражений в базис ИЛИ-НЕ, надо получить МКНФ,
дважды инвертировать логическое выражение, внести одно из отрицаний внутрь
скобок (по формуле де Моргана) и записать полученное выражение
в базисе ИЛИ-НЕ
Пример: МКНФ функции f(a,b,c,d) = (a¬c) & (b
c
d) &
(¬a
¬b
c) = ¬¬((a
¬c) & (b
c
d) & (¬a
¬b
c)) = ¬(¬(a
¬c)
¬(b
c
d)
¬(¬a
¬b
c)) = (a↓¬c) ↓ (b↓c↓d) ↓
(¬a↓¬b↓c).
Т. о. для перевода логического выражения в базис ИЛИ-НЕ надо для МКНФ
записать выражение такого же вида, в котором все отрицания остаются при
тех же аргументах функции, а все знаки & и
заменяются стрелкой Пирса ↓.
Если какая-то из элементарных дизъюнкций представлена в МКНФ всего одной
переменной, то при переходе в базис ИЛИ-НЕ эта переменная инвертируется
Пример: МКНФ функции f(a,b,c,d) = (¬c) & (bc
d) &
(¬a
¬b
c) = ¬¬((¬c) & (b
c
d) & (¬a
¬b
c)) = ¬(¬(¬c)
¬(b
c
d)
¬(¬a
¬b
c)) = (c) ↓ (b↓c↓d) ↓ (¬a↓¬b↓c).
Примечание |
---|
Инверторы в базисе И-НЕ (ИЛИ-НЕ) реализуются подачей одного и того же сигнала на оба входа логического элемента. |
Для перевода полностью заданной логической функции из базиса И-НЕ
в базис ИЛИ-НЕ надо
перейти от базиса И-НЕ к МДНФ, заполнить карту Вейча единицами
в соответствии с полученным выражением, заполнить все оставшиеся
клетки нулями, составить по ним МКНФ и
перейти к базису ИЛИ-НЕ.
Если в базисе И-НЕ имеются вместо скобок одиночные аргументы
функции, то при переходе в базис И, ИЛИ,НЕ они инвертируются.
Пример: функция f(a,b,c,d) = (a|¬b) | ¬d = a¬b d
МКНФ функции f(a,b,c,d) = (¬bd) &
(a
d) = (¬b↓d) ↓ (a↓d)
Для перевода полностью заданной логической функции из базиса
ИЛИ-НЕ в базис И-НЕ надо перейти от базиса ИЛИ-НЕ к МКНФ,
заполнить карту Вейча нулями в соответствии с
полученным выражением, заполнить все оставшиеся клетки единицами,
составить по ним МДНФ и перейти к базису И-НЕ.
Если в базисе ИЛИ-НЕ имеются вместо скобок одиночные аргументы
функции, то при переходе в базис И, ИЛИ,НЕ они инвертируются.