[Список тем]


Переход к базисам И-НЕ, ИЛИ-НЕ


Среди полных систем функций алгебры-логики (наборов функций с помощью которых можно за конечное число шагов реализовать все остальные функции) наиболее простыми, удобными и экономичными являются функции Шеффера {|} и Пирса {↓}. Для реализации этих функций в микросхемах требуется по одному транзистору.
Сложные функции анализируют и минимизируют в базисе {И, ИЛИ, НЕ}, а затем переводят для схемной реализации в базис И-НЕ, либо ИЛИ-НЕ.

Перевод в базис И-НЕ

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

Перевод логических выражений из базиса И-НЕ в базис ИЛИ-НЕ

Для перевода полностью заданной логической функции из базиса И-НЕ в базис ИЛИ-НЕ надо перейти от базиса И-НЕ к МДНФ, заполнить карту Вейча единицами в соответствии с полученным выражением, заполнить все оставшиеся клетки нулями, составить по ним МКНФ и перейти к базису ИЛИ-НЕ.
Если в базисе И-НЕ имеются вместо скобок одиночные аргументы функции, то при переходе в базис И, ИЛИ,НЕ они инвертируются.

Пример: функция f(a,b,c,d) = (a|¬b) | ¬d = a¬b d

МКНФ функции f(a,b,c,d) = (¬bd) & (ad) = (¬b↓d) ↓ (a↓d)

Перевод логических выражений из базиса ИЛИ-НЕ в базис И-НЕ

Для перевода полностью заданной логической функции из базиса ИЛИ-НЕ в базис И-НЕ надо перейти от базиса ИЛИ-НЕ к МКНФ, заполнить карту Вейча нулями в соответствии с полученным выражением, заполнить все оставшиеся клетки единицами, составить по ним МДНФ и перейти к базису И-НЕ.
Если в базисе ИЛИ-НЕ имеются вместо скобок одиночные аргументы функции, то при переходе в базис И, ИЛИ,НЕ они инвертируются.


[Список тем]