СХЕМОТЕХНИКА ЭВМ_18.2.17 (855859), страница 8
Текст из файла (страница 8)
Рис.2.4. УГО и таблица истинности одноразрядного сумматора.
Если использовать СДНФ для описания логической функции двоичного сумматора в терминах Булевской алгебры, то надо представить каждый выходной сигнал( S, Ci ) как дизъюнкцию( ИЛИ) конъюнкций (термов- И) входных сигналов всех строк таблицы истинности ( см.рис. 2.4), в которых выходной сигнал равен 1. Одноразрядный двоичный сумматор описывают следующие формулы СДНФ ( булевские уравнения) в которых операция И обозначена символом &, ИЛИ символом | , НЕ символом ~ ,которые более удобны при наборе в word текста :
Формулы 1
S= (A & ~B&~C) | ( ~A&B &~C ) | ( ~A&~B &C) | (A&B&C)
Ci= (~A&B&C) | ( A&~B&C) | ( A&B &~C) | ( A&B &C)
Если без минимизации, прямо по формулам 1 строить схему сумматора и использовать экзотический элементный базис, включающий вентили 3И с различными инверсными входами( они реализуют коньюнкции с тремя входами ,часть из которых инвертирует входной сигнал) и 4ИЛИ( они реализуют четырехвходовую дизьюнкцию), то получится двухкаскадная схема (общее для S и Ci выражение ( A&B &C) в схеме не дублируется в целях минимизации оборудования) , состоящая из семи вентилей 3И( некоторые их входы инверсны ) и двух 4ИЛИ.
Можно немного пожертвовать быстродействием схемы, увеличив число каскадов до трех и перейти к обычному элементному базису из вентилей 3И, 4ИЛИ, НЕ. Непосредственное воспроизведение формул 1 в трехкаскадной схеме потребует применения 3-х вентилей НЕ, 7-и вентилей 3И, 2-х вентилей 4ИЛИ (всего 12 вентилей).
Читателю предлагается самостоятельно, используя информацию, представленную в табл. 2.4 и 2.5 , минимизировать формулу для переноса Ci на базе СДНФ, представленной в Формулах 1. Например, вынося за скобки общие множитель B&C ( используется свойство дистрибутивности-( см.табл 2.5.-соотношение 3) ) для первой и последней коньюнкций СДНФ и вынося общий множитель А из второй и третьей , получим следующую последовательность преобразований первого уравнения из Формул 1.
Ci= (~A&B&C) | ( A&~B&C) | ( A&B &~C) | ( A&B &C) – исходная СДНФ
Сi=(В&C& (~A |A)) | ( A&((~B&C) | ( B&~C))) -вынос общих множителей
Учитывая, что (~A |A)=1 в результате получаем меньшее число операций
И-&( не 8, а 4 операции) и ИЛИ - | ( не 4 , а 3 операции).
Ci=(B& C) |( A&((~B&C) | (B&~C))) .
В данном простом случае проектирования одноразрядного сумматора , нетрудно заметить( см.таблицу истинности рис.2.4), что перенос Ci в сумматоре возникает только при наличии значений любых двух входных сигналов, равных 1. Сумма S равна 1 только тогда, когда отсутствует перенос и только один из входных сигналов равен 1, или все входные сигналы равны 1 или либо только один из входов равен 1, либо все три входа равны 1.Формулы 2 отражают эти выводы.
Формулы 2
Ci= (B&C) | (A&C ) | (A&B )
S=~Ci & ( A|B|C) | (A&B&С).
Схема, реализующая уравнения Формулы 2 представлена на рис.2.5.
Для реализации минимизированного описания сумматора ( Формулы 2) в элементном базисе НЕ,2И,2ИЛИ потребуется использовать один вентиль НЕ, 6 вентилей 2И, 5 вентилей 2ИЛИ. Схема будет иметь 5 каскадов - при вычислении значения Ci сигнал проходит через 3 элемента-(2И,2ИЛИ,2ИЛИ), а при вычислении S дополнительно еще через элемент НЕ и элемент 2И. В элементном базисе 2-2-2И-ИЛИ-НЕ и 3-3-3-3И-ИЛИ-НЕ для инверсных выходов сумматора (~Ci,~S) согласно формулам 2 имеем двухкаскадную схему рис.2.5.
Рис. 2.5. Двухкаскадная схема сумматора на элементах И-ИЛИ-НЕ
Использование других элементных базисов часто позволяет получать более экономные по аппаратуре и быстродействующие решения. Например, в базисе «трехвходовое исключающее ИЛИ »- 3XOR имеем S=A ^ B^ C , т.е. достаточно одного трехвходового вентиля «Исключающее ИЛИ-3XOR» или двух вентилей 2XOR для получения суммы S.
В реальной жизни кроме традиционных критериев типа минимизации затрат аппаратуры и максимизации быстродействия схем системами автоматизации проектирования учитываются критерии минимизации используемой схемой площади кристалла, минимизации мощности потребляемой от источника питания, достижения максимальной регулярности схемы и т.п. Исходной информацией для САПР в этой работе является представленное проектировщиком HDL-описание проекта, критерии оптимизации и заданный им логический базис.
2.2.4. Реализация логической функции F
Рассмотрим третий пример схемной реализации логической функции F от трех переменных с аргументами X0, X1, X2 и значением Y, заданной в виде таблицы истинности, приведенной в таб. 2.2.
Таблица 2.2. Таблица истинности логической функции F.
Запишем логическую функцию F, соответствующую этой таблице в виде СДНФ,используя для обозначения операции коньюнкции символ *, дизьюнкции +,отрицания- символ надчеркивания.
Схемотехническая реализация функции F на элементах НЕ, И и ИЛИ.
Каждому набору коньюнкцй (минитерму) ставим в соответствие логический элемент И с необходимым числом входов. Выходы этих элементов объединяем при помощи логических элементов ИЛИ. Инверсию входных сигналов обеспечивают инверторы. Такая трехуровневая реализация логической функции не оптимальна. В ней, во-первых, применяется излишнее число элементов И. Во-вторых, задержка распространения сигналов в элементах И и ИЛИ обычно больше, чем в элементах И-НЕ и ИЛИ-НЕ.
Схемотехническая реализация логической функции F, соответствующей табл. 2.2, на элементах НЕ, И и ИЛИ представлена на рис. 2.6.
Рис. 2.6. Схемотехническая реализация логической функции F, соответствующей табл. 2.2, на элементах НЕ, И и ИЛИ
-
Схемотехническая реализация логической функции F на логических элементах НЕ, И и ИЛИ на основе ее минимизированного представления
Минимизация обычно преследует цель уменьшить количество операций и вхождений аргументов.
После минимизации получим следующую логическую функцию.
В результате получим следующую комбинационную схему рис.2.7.
Рис. 2.7. Схемотехническое описание минимизированной логической функции на элементах И и ИЛИ, заданной в табл. 2.2.
Новая минимизированная схема более экономична, так как имеет на 3 логических элемента меньше, хотя максимальная задержка сигнала от входа до выхода схемы осталась неизменной.
Однако и эта схемотехническая реализация не оптимальна, так как время задержки распространения сигналов в логических элементах И и ИЛИ обычно больше, чем в логических элементах И-НЕ и ИЛИ-НЕ.
Применение этих элементов позволяет сделать схему с меньшими задержками.
-
Формальная реализация логических функций на элементах И-НЕ и ИЛИ-НЕ.
Преобразуем логическую функцию F( табл.2.2) по теореме Де Моргана. Получим [поэтапное упрощение]
Это представление логической функции позволяет осуществить ее схемотехническую реализацию на элементах И-НЕ и ИЛИ-НЕ. Очевидным и очень полезным свойством этого преобразования является следующий простой факт: необходимо в схеме на рис. 2.7. формально заменить элементы И и ИЛИ на элементы И-НЕ.
-
Реализация функции F(см. табл.2.2) на логических элементах И-НЕ и ИЛИ-НЕ на основе ее минимизированного представления
. Преобразуем минимизированную логическую функцию на основе теоремы Де Моргана. Получим
[не хватает поэтапного упрощения]
Схемотехническая реализация этой логической функции приведена на рис. 2.8.
Рис. 2.8. Схемотехническая реализация заданной в табл. 2.2. минимизированной логической функции F на элементах И-НЕ.
Замечание. Также просто проводится схемотехническая реализация логических выражений, заданных в конъюнктивной нормальной форме. В этом случае в первом слое схемы используются логические элементы ИЛИ, а объединение их выходов проводится на логических элементах И.
Замечание. Очень часто таблицы истинности комбинационной схемы являются неполными. Это случается, когда часть входных комбинаций логической функции никогда не встречается на практике. Этот факт можно использовать для упрощения схемотехнической реализации логической функции.
Замечание. Не следует тратить больших усилий на минимизацию функций с большим числом переменных вручную. Если выполнить описание логической функции на VHDL , то имеется возможность с помощью САПР автоматически минимизировать заданную логическую функцию и реализовать ее в заданном элементном базисе.
Приведем описание на VHDL узла(рис.2.9), соответствующего логической функции F, заданной в табл. 2.2.
Рис. 2.9. Условное графическое обозначение устройства Log_F_1.
entity Log_F_1 is
port(X0 : in BIT;
X1 : in BIT;
X2 : in BIT;
Y : out BIT);
end Log_F_1;
Устройство с именем Log_F_1 имеет входы X0, X1, X2 и выход Y.
Логическая функция устройства описана в виде СДНФ в разделе Архитектура с именем Log_F_ARC.
architecture Log_F_ARC of Log_F_1 is
begin
Y<=(not (X0) and not (X1) and X2) or (not (X0) and X1 and not (X2))
or (X0 and not (X1) and X2) or (X0 and X1 and not (X2));
end Log_F_ARC;
Описание логической функции выполнено при помощи логических операций языка VHDL and, or и not. Логическая функция не минимизирована, так как при автоматизированном проектировании предполагается, что это сделает САПР.
2.2.5. Реализация схем в логических базисах И-НЕ и ИЛИ –НЕ
Хотя традиционные методы представления и минимизации логических функций базируются на базисе И,ИЛИ,НЕ , следует учитывать, что логические базисы И-НЕ и ИЛИ-НЕ являются полными и многие функции реализуются в этих базисах проще, чем в традиционном базисе И,ИЛИ,НЕ. Ниже представлен один из способов преобразования схем из традиционного логического базиса в базис И-НЕ или ИЛИ-НЕ с использованием теоремы Де Моргана.
|
-
-
.
-
Рис. 2.10. Преобразование схем с применением теоремы Де Моргана
-
Первые два столбца иллюстрируют теорему Де Моргана при реализации в базисе И-НЕ, третий столбец иллюстрирует реализацию в базисе ИЛИ-НЕ.[не понятно]
-
Последовательность действий по переводу схемы в нетрадиционный логический базис И-НЕ примерно следующая.
-
На базе Таблицы истинности логической функции составляется ее описание в СДНФ, которое минимизируется , после чего рисуется схема в традиционном логическом базисе И,ИЛИ,НЕ.
-
Применяется теорема Де Моргана.( см.предыдущий рисунок ). При переводе в И-НЕ используется средняя колонка, при переводе в ИЛИ-НЕ правая.
-
Исключаются избыточные инверторы( цепочки из двух последовательно соединенных инверторов.)..
-
4.Оставшиеся инверторы замещаются Эквивалентными И-НЕ и ИЛИ
-
Ниже иллюстрирующий пример преобразования в базис И-НЕ.
-
А) Исходная Схема в традиционном базисе И,ИЛИ,НЕ
-
В) Промежуточная Схема ( в пунктирных прямоугольниках подсхемы, заменяемые эквивалентными И-НЕ),
-
С) Окончательная Схема в базисе И-НЕ.
.
Рис. 2.11. Пример преобразования схемы в логический базис И-НЕ( пунктиром выделены фрагменты И-НЕ)