Синтез комбинационных схем Краткие теоретические сведения Под комбинационными схемами понимают логические устройства, сигналы на выходе которых зависят только от входных сигналов. Их работу можно описать логическими уравнениями в которые входят только входные сигналы вида где x 1 , x 2 , ... , x n y 1=f ( x 1 , x 2 , ... , x n ) , y 2=f (x 1 , x 2 , ... , x n ) , … y m=f (x 1 , x 2 ,... , x n) - выходные сигналы (переменные), y 1 , y 2 ,... , y m - выходные сигналы. (1) В отличие от последовательностных, комбинационные схемы не содержат внутренних обратных связей и, как следствие, не обладают эффектом памяти или, говоря иначе, они не имеют устойчивых внутренних состояний. Комбинационная схема, с учетом сказанного выше, однозначно определяется таблицей истинности, содержащей все возможные комбинации входных сигналов и соответствующие им значения выходных сигналов. Количество строк в таблице будет равно 2n , где n количество входных сигналов. Логические функции, связывающие выходные сигналы с входными, удобно представить в виде так называемых нормальных форм. Дизъюнктивная нормальная форма (ДНФ) представляет собой логическую сумму логических произведений входных величин или их отрицаний, например y=x 1⋅x 2⋅x 3+ x 1⋅x 2⋅x 3 . (2) Конъюнктивная нормальная форма (КНФ) представляет собой логическое произведение логических сумм входных величин или их отрицаний, например y=(x 1+ x 2 + x 3)+( x1 + x 2 + x 3) . (3) Любая логическая функция может быть записана в форме ДНФ или КНФ при использовании законов алгебры логики. Совершенной формой (СДНФ, СКНФ) называют такие формы, при которых 1) схема не содержит двух одинаковых конъюнкцией (дизъюнкций); 2) ни одна конъюнкция (дизъюнкция) не содержит двух одинаковых переменных; 3) ни одна конъюнкция (дизъюнкция) не содержит переменную вместе с ее отрицанием. 4) Все конъюнкции (дизъюнкции) содержат одинаковое количество переменных. Логические выражения в СДНФ или СКНФ могут быть получены по её таблице истинности. Пусть функция задана следующей таблицей истинности (Табл.1). Табл.1 x1 x2 x3 y 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 Для получения СДНФ для каждой из строк таблицы содержащих 1 следует записать логическое произведение входных величины, в котором входные переменные равные 1 записываются как есть, а равные 0 входят с инверсией (см. Табл.2). Табл.2 x1 x2 x3 y ДНФ 0 0 0 1 x 1⋅x2⋅x 3 0 0 1 1 x 1⋅x2⋅x 3 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 x 1⋅x2⋅x 3 x 1⋅x2⋅x 3 Для получения выражения в СДНФ достаточно лишь логически сложить полученные выражения y=x 1⋅x 2⋅x 3+ x 1⋅x 2⋅x 3 + x1⋅x 2⋅x 3 + x 1⋅x2⋅x 3 . (4) Для получения СКНФ для каждой из строк таблицы содержащих 0 следует записать логическую сумму входных величины, в котором входные переменные равные 0 записываются как есть, а равные 1 входят с инверсией (см. Табл.2). Табл.2 x1 x2 x3 y 0 0 0 1 0 0 1 1 0 1 0 0 x 1+ x 2 + x 3 0 1 1 0 x 1+ x 2 + x 3 1 0 0 0 x 1+ x 2 + x 3 1 0 1 1 1 1 0 0 1 1 1 1 КНФ x 1+ x 2 + x 3 Для получения выражения в СКНФ достаточно лишь логически перемножить полученные выражения y=(x 1+ x 2 + x 3)⋅( x 1+ x 2 + x 3)⋅(x 1+ x2 + x 3)⋅( x 1+ x2 + x 3 ) . (5) Подставляя в выражения (4) и (5) значения входных переменных нетрудно убедиться в их правильности. Следует отметить, что выражения полученные таким способом обладают избыточностью, особенно в случае большого количества входных переменных, и должны быть минимизированы тем или иным способом перед аппаратной реализацией. Построим в программе logisim схемы, реализующие выражения (4) и (5) и убедимся в их работоспособности. Соберем схему, согласно выражению (4), представленную на рис. 2. Выполним анализ схем ы с помощью пункта меню «Проект»-«Анализировать схему» и выберем вкладку «Таблица». Как видно из таблицы (см. рис. 2), схема работает правильно. Рис. 1. Схема реализующая логическую функцию в СДНФ Рис. 2. Результат анализа схемы Проделаем аналогичные действия для СКНФ. Результаты приведены на рис. 3, 4, как видно таблицы на рис. 2 и 4 одинаковые. Рис. 3. Схема реализующая логическую функцию в СКНФ Рис. 4. Результат анализа схемы Порядок выполнения 1. Нарисовать таблицу, аналогичную Табл. 3 x1 x2 x3 x4 1 0 0 0 0 2 0 0 0 1 3 0 0 1 0 4 0 0 1 1 5 6 0 1 0 0 0 1 0 1 7 0 1 1 0 8 0 1 1 1 9 1 0 0 0 10 1 0 0 1 11 12 1 0 1 0 1 0 1 1 13 1 1 0 0 14 1 1 0 1 15 1 1 1 0 16 1 1 1 1 y1 y2 y3 Табл. 3 y4 2. Получить у преподавателя индивидуальное задание в виде значений четырех правых столбцов таблицы. 3. Для каждого из выходных сигналов получить выражение в виде СДНФ и СКНФ. 4. Собрать схему в соответствие с полученными формулами в logisim. 5. Убедиться в правильности работы схем. 6. Включить в отчет схемы, реализованные с помощью программы logisim, и результаты их анализа средствами той же программы. 7. Показать отчет преподавателю.