Как составить логическую схему по таблице истинности?
Обновлено Редакция GAW
Таблица истинности полностью описывает функцию, и по ней всегда можно построить схему. Kuphaldt в главе о булевой алгебре описывает метод в два шага: сначала выражение в форме суммы произведений (ДНФ), потом упрощение.
Пример
Функция трёх входов задана таблицей:
| A | B | C | F | Произведение для строки с F = 1 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | — |
| 0 | 0 | 1 | 1 | A'B'C |
| 0 | 1 | 0 | 0 | — |
| 0 | 1 | 1 | 1 | A'BC |
| 1 | 0 | 0 | 0 | — |
| 1 | 0 | 1 | 0 | — |
| 1 | 1 | 0 | 1 | ABC' |
| 1 | 1 | 1 | 1 | ABC |
Шаг 1. ДНФ. Каждое произведение равно 1 только в своей строке: переменная, равная 0, входит с инверсией. Складываем:
Шаг 2. Упрощение (наш вывод по правилам Kuphaldt):
Шаг 3. Схема. Инвертор для A, элемент И для A'C, элемент И для AB и элемент ИЛИ, который их складывает, — четыре элемента вместо восьми в исходной ДНФ.
Как не ошибиться
- Для трёх и больше переменных группы удобнее искать на карте Карно: это та же таблица, переставленная так, что соседние клетки отличаются одной переменной.
- Проверьте упрощённое выражение таблицей — её построит калькулятор таблиц истинности, — а правила упрощения разобраны в ответе «Как упростить логическое выражение».
- Соберите схему в симуляторе логических схем и сравните её таблицу с исходной построчно.
Похожие вопросы
Когда удобнее произведение сумм (КНФ), а не ДНФ?
Когда единиц в таблице больше, чем нулей: КНФ строится по строкам с нулём, и выражение получается короче. Для каждой такой строки записывают сумму, где переменная без инверсии стоит при 0, а с инверсией — при 1, и перемножают суммы.
Как нарисовать ту же схему только на элементах И-НЕ?
Двухуровневая ДНФ переводится в И-НЕ напрямую: каждое произведение — элемент И-НЕ, а сумма — ещё один И-НЕ, на входы которого идут их выходы. Это следует из закона де Моргана: (X'·Y')' = X + Y. Инверсии входов делают элементами И-НЕ с объединёнными входами.
Что делать со строками, где выход не важен?
Пометить их как безразличные и на карте Карно включать в группы, только если это делает группу больше. В исходную ДНФ такие строки не выписывают.
Источники
- 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; полученное выражение упрощают правилами булевой алгебры и реализуют элементами И и ИЛИ
- Kuphaldt T. R. Lessons In Electric Circuits, Vol. IV — Digital, ch. 8 «Karnaugh Mapping» (CC BY) — карта Карно — переставленная таблица истинности, в которой соседние клетки отличаются одной переменной; группы единиц дают упрощённые произведения
Нашли ошибку?
Смотрите также
- Симулятор логических схемВентили и выражения, таблица всех узлов, карта Карно, минимизация, И-НЕ
- Таблица истинностиТаблица, СДНФ и СКНФ, минимальные ДНФ и КНФ
- Сумма произведений (ДНФ)Функция как ИЛИ нескольких произведений: каноническая и минимальная ДНФ
- Карта КарноМинимальная ДНФ и КНФ, группы клеток на карте
- Как упростить логическое выражение?Вынести общий множитель, применить A + AB = A и A + A'B = A + B, проверить таблицей