Системы логических уравнений
Системы логических уравнений
Достоинством таблицы истинности является простота ее построения, особенно при описании нескольких логических функций одновременно. В ней отображается их связь с реальными сигналами, так как каждый столбец и строка имеют определенное реальное значение.
Другой чрезвычайно полезной формой описания логических функций является логическое уравнение. Логическое уравнение позволяет описать всего лишь одну функцию, так что, например, для каждой выходной функций (а — g) таблицы истинности, приведенной на рис. 1.2, г, должно быть записано отдельное логическое уравнение. Так как между логическими уравнениями и структурой дискретных вентильных схем имеется внешнее сходство, то они оказываются чрезвычайно удобными при реализации логических схем на базе логических вентилей. Многие задачи начинаются с того, что необходимые логические уравнения непосредственно составляются по словесному описанию задачи.
Булева алгебра является чрезвычайно простой алгеброй, в которой переменные имеют одно из двух значений. Эти значения могут быть названы 0 или 1, истинное или ложное, высокое или низкое и т. п. В булевой алгебре существуют только лишь три математические операции: НЕ, ИЛИ и И. Эти операции являются математическим выражением дополнения (отрицание),суммирования и умножения, однако их значения точнее соответствуют использованным выше словесным выражениям. Поэтому описание многих логических функций в словесной форме может быть непосредственно использовано в качестве булевых логических уравнений. Как видно из рис. 1.2, б, сегмент е рассматриваемого семисегментного индикатора должен находиться во включенном состоянии при отображении цифр 0 или 2, или 6, или 8. Если для обозначения операций НЕ, ИЛИ, И соответственно использовать символы « ' », « + » и « • », то можно записать логическое уравнение для переменной е в следующем виде:
е = 0 + 2 + 6 + 8. (1.4)
В данной форме записи уравнения используются обозначения отображаемых цифр, однако, в действительности нам необходимо уравнение, записанное с помощью входных переменных А, В, С и D. Цифре 0 соответствует входной код «не — A И не — В И не — С И не—D» (см. рис. 1.2,г), поэтому можно записать следующие выражения:
Цифра 0 = A' &B' &C' &D' = A' B' C' D' ;
Цифра 2 = A'B'CD';
Цифра 6 = A' BCD' ;
Цифра 8 = AB' C' D'. (1.5)
Рекомендуемые материалы
Подставим приведенные выражения для цифр, записанные через входные переменные, в основное уравнение для е, которое принимает вид
е = А'В'С'D' + А'В'С D' + A'BCD' + AB' C' D'. (1.6)
Таким образом, мы получим логическое уравнение для выходной переменной е, выраженное через входные переменные А, В, С и D.
Можно записать аналогичные уравнения и для остальных выходных переменных в следующем виде:
а = A'B'C'D' + A'B'CD' + A'B'CD + А'ВС'D +
+ A'BCD + AB'C'D' + AB'C'D;
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;
с = 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;
d = A'B'C'D' + A'B'CD' + A'B'CD + A'BC'D + A'BCD' +
+ AB'C'D';
f = A'B'C'D' + A'BC'D' + A'BC'D + A'BCD' +
+ AB'C'D'+ AB'C'D;
g = A'B'C'D' + A'B'CD + A'BC'D' + A'BC'D +
+ A'BCD' + AB'C'D. (1.7)
Очевидно, что таблица истинности, приведенная на рис. 1.2, г, является более компактным описанием для данного типа логических функций.
Однако другие виды задач лучше описываются непосредственно с помощью логических уравнений. Например, система блокировки привязных ремней для автомобиля запрещает движение до тех пор, пока все пассажиры не пристегнули привязные ремни. Стартер двигателя должен включаться при условии, что включен ключ зажигания И пристегнут привязной ремень водителя И все остальные привязные ремни застегнуты ИЛИ нет никакого груза на сидениях. Логическое уравнение может быть непосредственно записано на основании данного утверждения. Прежде всего обозначим каждый сигнал датчика в системе следующим образом:
(набрать текстом)
теперь запишем логическое уравнение, непосредственно пользуясь приведенным выше утверждением:
Вам также может быть полезна лекция "32 Западноевропейская социал-демократия".
Пуск = SS • SBl • (SB2 + W2') • (SB3 + W3') • (S54 + WV). (1.8)
Так как в данном случае имеется восемь входных переменных, то таблица истинности должна была бы содержать 2* = 256 строк для того, чтобы охватить все возможные комбинации входных переменных. Не вызывает сомнения тот факт, что в данном случае логическое уравнение является более удобной формой описания функции.
Таким образом, существует 2 основных способа представления булевых функций - с помощью логических уравнений и таблицы истинности. От одного способа легко можно перейти к другому.
Для построения таблицы истинности по логическому уравнению необходимо в столбцах для входных переменных записать все возможные комбинации их значений по строкам, и подставляя в уравнения значения входных переменных каждой строки, записывать результат в столбцы для выходных переменных. Обратное задание - запись логической формулы по данной таблице истинности решается на основе стандартных форм.
Так в совершенной дизъюнктивной нормальной форме каждому набору значений переменных, при котором функция равняется единице, отвечает своя конъюнкция (логическое произведение всех переменных), причем те переменные, которые в данном наборе имеют значение нуль, входят в произведение с инверсией, а те, которые имеют значение единица - без инверсии. Дизъюнкция (логическая сумма) этих конъюнкций и будет логическим уравнением для исходной переменной таблицы истинности. Примером может служить таблица на рис.1.2.г и полученные на основании ее уравнения 1.6 и 1.7.
Полученные уравнения затем можно упростить, используя последовательность эквивалентных преобразований, основанных на свойствах булевой алгебры [ ] .