Перейти к содержанию

Как составить логическую схему по таблице истинности?

Обновлено Редакция GAW

Таблица истинности полностью описывает функцию, и по ней всегда можно построить схему. Kuphaldt в главе о булевой алгебре описывает метод в два шага: сначала выражение в форме суммы произведений (ДНФ), потом упрощение.

Пример

Функция трёх входов задана таблицей:

ABCFПроизведение для строки с F = 1
0000—
0011A'B'C
0100—
0111A'BC
1000—
1010—
1101ABC'
1111ABC

Шаг 1. ДНФ. Каждое произведение равно 1 только в своей строке: переменная, равная 0, входит с инверсией. Складываем:

F=A′B′C+A′BC+ABC′+ABC.F = A'B'C + A'BC + ABC' + ABC.

Шаг 2. Упрощение (наш вывод по правилам Kuphaldt):

F=A′C(B′+B)+AB(C′+C)=A′C+AB.F = A'C(B' + B) + AB(C' + C) = A'C + AB.

Шаг 3. Схема. Инвертор для A, элемент И для A'C, элемент И для AB и элемент ИЛИ, который их складывает, — четыре элемента вместо восьми в исходной ДНФ.

Как не ошибиться

  1. Для трёх и больше переменных группы удобнее искать на карте Карно: это та же таблица, переставленная так, что соседние клетки отличаются одной переменной.
  2. Проверьте упрощённое выражение таблицей — её построит калькулятор таблиц истинности, — а правила упрощения разобраны в ответе «Как упростить логическое выражение».
  3. Соберите схему в симуляторе логических схем и сравните её таблицу с исходной построчно.

Похожие вопросы

Когда удобнее произведение сумм (КНФ), а не ДНФ?

Когда единиц в таблице больше, чем нулей: КНФ строится по строкам с нулём, и выражение получается короче. Для каждой такой строки записывают сумму, где переменная без инверсии стоит при 0, а с инверсией — при 1, и перемножают суммы.

Как нарисовать ту же схему только на элементах И-НЕ?

Двухуровневая ДНФ переводится в И-НЕ напрямую: каждое произведение — элемент И-НЕ, а сумма — ещё один И-НЕ, на входы которого идут их выходы. Это следует из закона де Моргана: (X'·Y')' = X + Y. Инверсии входов делают элементами И-НЕ с объединёнными входами.

Что делать со строками, где выход не важен?

Пометить их как безразличные и на карте Карно включать в группы, только если это делает группу больше. В исходную ДНФ такие строки не выписывают.

Источники

  1. Kuphaldt T. R. Lessons In Electric Circuits, Vol. IV — Digital, ch. 7 «Boolean Algebra», разд. «Converting truth tables into Boolean expressions» (CC BY) — форма «сумма произведений» (SOP) получается из таблицы: для каждой строки с выходом 1 записывают произведение, равное 1 только при этих значениях входов, и складывают их; форма «произведение сумм» (POS) — по строкам с выходом 0; полученное выражение упрощают правилами булевой алгебры и реализуют элементами И и ИЛИ
  2. Kuphaldt T. R. Lessons In Electric Circuits, Vol. IV — Digital, ch. 8 «Karnaugh Mapping» (CC BY) — карта Карно — переставленная таблица истинности, в которой соседние клетки отличаются одной переменной; группы единиц дают упрощённые произведения

Нашли ошибку?