Системы логических уравнений
Достоинством таблицы истинности является простота ее построения, особенно при описании нескольких логических функций одновременно. В ней отображается их связь с реальными сигналами, так как каждый столбец и строка имеют определенное реальное значение.
Другой чрезвычайно полезной формой описания логических функций является логическое уравнение. Логическое уравнение позволяет описать всего лишь одну функцию, так что, например, для каждой выходной функций (а — g) таблицы истинности, приведенной на рис. 3.2, г, должно быть записано отдельное логическое уравнение. Так как между логическими уравнениями и структурой дискретных вентильных схем имеется внешнее сходство, то они оказываются чрезвычайно удобными при реализации логических схем на базе логических вентилей. Многие задачи начинаются с того, что необходимые логические уравнения непосредственно составляются по словесному описанию задачи. Хотя логические уравнения могут быть непосредственно записаны путем анализа изображений, приведенных на рис. 3.2, б, их связь с реальной задачей проектирования может быть весьма абстрактной.
Булева алгебра является чрезвычайно простой алгеброй, в которой переменные имеют одно из двух значений. Эти значения могут быть названы 0 или 1, истинное или ложное, высокое или низкое и т. п. В булевой алгебре существуют только лишь три математические операции: НЕ, ИЛИ и И. Эти операции являются математическим выражением дополнения (отрицание), суммирования и умножения, однако их значения точнее соответствуют использованным выше словесным выражениям. Поэтому описание многих логических функций в словесной форме может быть непосредственно использовано в качестве булевых логических уравнений. Для обозначения операций НЕ, ИЛИ, И соответственно используются математические символы “ ' ”, “ + ” и “ • ”.
Определение | Смысл | Изображение | |
Отрицание (инверсия) | НЕ | ¯ | ' |
Дизъюнкция | И | & | • |
Конъюнкция | ИЛИ | V | + |
Как видно из рис. 3.2, б, сегмент е рассматриваемого семисегментного индикатора должен находиться во включенном состоянии при отображении цифр 0 или 2, или 6, или 8. Поэтому, используя символ “ + “ вместо ИЛИ, можно записать логическое уравнение для переменной е в следующем виде:
(3.1) |
е = 0 + 2 + 6 + 8.
В данной форме записи уравнения используются обозначения отображаемых цифр, однако, в действительности нам необходимо уравнение, записанное с помощью входных переменных А, В, С и D. Цифре 0 соответствует входной код «не А и не — В и не — С и не — D» (см. рис. 3.2,г), поэтому можно записать выражение:
Цифра 0 = A1B1CD'. (3.2).
Аналогично
цифра 2 = A'B'CD', (3.3)
цифра 6 = A'BCD' (3.4)
и цифра 8 = AB'C'D. (3.5)
Подставим приведенные выражения для цифр, записанные через входные переменные, в основное уравнение для е, которое принимает вид
е = А'В'С'D' + А'В'С D' + A'BCD' + AB'C'D'. (3.6)
Таким образом, мы получим логическое уравнение для выходной переменной е, выраженное через входные переменные А, В, С и D. Можно записать аналогичные уравнения и для остальных выходных переменных в следующем виде:
а = A'B'C'D' + A'B'CD' + A'B'CD + А'ВС'D + A'BCD + AB'C'D' + AB'C'D, (3.7)
b = A'B'C'D'+ A'B'C'D + A'B'CD' + A'B'CD' + A'BC'D' + A'BCD + AB'C'D' + A'B'C'D, (3.8)
с = A'B'C'D' + A'B'C'D + A'B'CD + A'BC'D' + A'BC'D + A'BCD' + A'BCD + AB'C'D' + AB'C'D, (3.9)
d = A'B'C'D' + A'B'CD' + A'B'CD + A'BC'D + A'BCD' + AB'C'D', (3.10)
е = A'B'C'D' + A'BC'D' + A'BC'D + A'BCD' + AB'C'D'+ AB'C'D, (3.11)
g = A'B'C'D' + A'B'CD + A'BC'D' + A'BC'D + A'BCD'+AB'C'D. (3.12)
Очевидно, что таблица истинности, приведенная на рис. 3.2, г, является более компактным описанием для данного типа логических функций.
Однако другие виды задач лучше описываются непосредственно с помощью логических уравнений. Например, система блокировки привязных ремней для автомобиля запрещает движение до тех пор, пока все пассажиры не пристегнули привязные ремни. Стартер двигателя должен включаться при условии, что включен ключ зажигания И пристегнут привязной ремень водителя И все остальные привязные ремни застегнуты ИЛИ нет никакого груза на сидениях. Логическое уравнение может быть непосредственно записано на основании данного утверждения. Прежде всего, обозначим каждый сигнал датчика в системе следующим образом:
Теперь запишем логическое уравнение, непосредственно пользуясь приведенным выше утверждением:
Пуск = SS • SBl • (SB2 + W2') . (SB3 + W3')-(S54 + WV) (3.13)
Так как в данном случае имеются восемь входных переменных, то таблица истинности должна была бы содержать 2* = 256 строк для того, чтобы охватить все возможные комбинации входных переменных. Не вызывает сомнения тот факт, что в данном случае логическое уравнение является более удобной формой описания функции.
Проведение экспериментов
Эксперимент 1.