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

Таблица истинности

Самый надёжный способ описать, что должна делать логическая схема, — перечислить все комбинации входов и для каждой записать выход. Такая таблица истинности ничего не упускает и служит исходной точкой для упрощения и для проверки готовой схемы.

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

Таблица истинности (truth table) — описание логической функции или схемы перечнем всех возможных комбинаций входных значений с выходным значением для каждой. По Kuphaldt, в таблице столько строк, сколько уникальных комбинаций входов: у инвертора две, у двухвходового элемента четыре, у функции n переменных — 2ⁿ.

Пример: два датчика из трёх

Kuphaldt разбирает мусоросжигатель с тремя датчиками пламени: выход должен включаться, если пламя видят хотя бы два датчика из трёх.

ABCВыход
0000
0010
0100
0111
1000
1011
1101
1111

Четыре строки с единицей дают четыре минтерма: A'BC + AB'C + ABC' + ABC. Это каноническая сумма произведений, после упрощения — AB + BC + AC: три элемента И и один ИЛИ. Строки удобно нумеровать двоичным кодом входов, тогда та же функция записывается как Σm(3, 5, 6, 7).

Зачем таблица нужна

  • Спецификация. Проектирование логики, как пишет Kuphaldt, часто начинается именно с таблицы: она описывает поведение, не навязывая схему.
  • Упрощение. Строки с единицами переносятся в карту Карно или в табличный метод Куайна — Мак-Класки, который и начинается с «таблицы комбинаций».
  • Безразличные комбинации. Строки, которые не могут встретиться, помечают d, X или звёздочкой — их значение выбирают так, чтобы схема стала проще.
  • Проверка. Готовую схему или программу прогоняют по всем строкам таблицы; так проверяют и даташитные таблицы функций микросхем — дешифраторов, мультиплексоров, логических элементов.

Таблицу по выражению строит генератор таблиц истинности, а обратную задачу — от таблицы к минимальной формуле и схеме — решает симулятор логических схем.

Частые вопросы

Почему в таблице истинности 2ⁿ строк?

2ⁿ, где n — число входов: у инвертора 2 строки, у элемента с двумя входами 4, с тремя — 8, с четырьмя — 16. Каждый новый вход удваивает таблицу, поэтому для функций больше чем от пяти-шести переменных таблицей пользуются программы, а не человек.

В каком порядке записывать строки таблицы истинности?

Принято перечислять комбинации как двоичные числа по возрастанию: 000, 001, 010 и так далее до 111. Тогда номер строки равен двоичному коду входов, и функцию можно коротко записать списком номеров строк с единицей, например Σm(3, 5, 6, 7).

Как по таблице истинности записать логическое выражение?

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

Источники

  1. Kuphaldt T. R. Lessons In Electric Circuits, Vol. IV — Digital, ch. 3 «Logic Gates» (CC BY) — таблица истинности показывает все комбинации входных логических уровней и соответствующий выход; строк столько, сколько уникальных комбинаций: у инвертора две, у двухвходового элемента четыре
  2. Kuphaldt T. R. Lessons In Electric Circuits, Vol. IV — Digital, ch. 7 «Boolean Algebra», разд. «Converting truth tables into Boolean expressions» (CC BY) — проектирование часто начинается с таблицы истинности; пример: датчики пламени мусоросжигателя, выход при двух из трёх — A'BC + AB'C + ABC' + ABC = AB + BC + AC; рассогласование датчиков — в форме произведения сумм (A + B + C)(A' + B' + C')
  3. E. J. McCluskey. Minimization of Boolean functions. The Bell System Technical Journal, 1956, vol. 35, no. 6, p. 1417 — разд. 1: функция задаётся таблицей комбинаций (table of combinations), где для каждой комбинации входов указан выход; для комбинаций, которые не могут возникнуть, ставится d

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