Логические схемы.
РЕАЛИЗАЦИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ.
Убедитесь, что видение процесса экологично
Бывает так, что миссии и цели рождают совершенно противоположное тому, для чего они создавались. Такая ситуация возникает, когда они конфликтуют с другими целями и ценностями. Миссия, заключающаяся, например, в максимизации прибыли, может означать потерю рабочих мест, не самые лучшие условия труда, строгий режим и ущерб окружающей среде. Создавая формулировку видения процесса, команда должна проследить, чтобы она содержала цели, совместимые с другими целями организации, и что достижение видения оказывали положительное, а не отрицательное влияние на другие составляющие компании.
Если команда реинжиниринга в полной мере проанализировала существующий процесс и создала видение того, каков будет новый процесс, она сумеет избежать непонимания, которое так часто связывает руки командам на ранних стадиях реинжиниринга. Теперь команда готова перейти к следующему этапу, состоящему в правильном отражении существующего процесса как прелюдии к разработке нового процесса.
Двоичные переменные, входящие в логические уравнения можно представить двумя различными электрическими сигналами. Путем преобразований этих сигналов получают другие, тоже двоичные, сигналы, которые соответствуют результатам определенных логических операций. Имея запись булевой функции y = F(x1, x2, …, xn), можно составить развернутую электрическую схему, которая будет преобразовывать логические сигналы x1, x2, …, xn согласно указанной функции.
Логические схемы являются моделями цифровых устройств, реализующих логические функции. Они отображают преобразование входных переменных x1, x2, …, xn в выходные у1, у2, …, уm (рис. 3.1, а). Если значения выходных переменных определяются комбинацией значений переменных на входах только в данный момент, то такие схемы называют комбинационными. Если же выход у(v) зависит не только от входа x(v) в данный тактовый момент v, но и от состояния s(v-1) в предыдущий момент, то такие схемы называют последовательностными. Они содержат наряду комбинационными схемами элементы памяти, которые сохраняют предыдущее состояние до следующего такта (рис. 3.1, б).
Рис. 3.1
Оба типа схем объединяются под названием конечные автоматы в предположении, что все переменные принимают значения из конечных алфавитов. Особое значение имеют конечные автоматы с двухзначным структурным алфавитом, зависимости между входами и выходами которых выражаются булевыми функциями. Последовательностные схемы назывются также конечными автоматами с памятью.
Простейшими компонентами комбинационной схемы являются вентили, реализующие элементарные операции. Графические изображения наиболее употребительных вентилей даны в табл. 3.1 (инверсные входы и выходы обозначаются маленькими кружочками).
Устройства, выполняющие в аппаратуре логические операции, называют логическими элементами. Логические элементы различаются между собой характером реализуемой функции, числом входов (по числу одновременно действующих переменных), числом выходов и другими признаками. Работа их оценивается только с точки зрения логики, без учета практического воплощения (технической базы, способа питания и т.п.).
Входы и выходы логических элементов в зависимости от уровня сигнала, при котором воспринимается или вырабатывается определенное значение двоичной переменной, подразделяются на прямые и инверсные. На прямом входе (выходе) двоичная переменная имеет значение логической единицы, когда сигнал на этом входе (выходе) имеет значение, принятое за "1". На инверсном входе (выходе) двоичная переменная имеет значение 1, когда уровень сигнала на этом входе (выходе) соответствует состоянию, принятому за "0".
На логические входы можно подавать постоянные логические уровни "1" и "0" (константы 1 и константы 0) согласно законам универсального и нулевого множества. Входы, равноценные в логическом отношении (которые можно менять местами без ущерба для выполняемой функции), допускают объединение по закону повторения, при этом они действуют как один вход.
На принципиальных схемах логические элементы согласно ГОСТ 2.743-82 "Обозначения условные графические в схемах. Элементы цифровой техники" изображают прямоугольниками (так называемое основное поле), в верхней части которого указывают символ функции: & для И, 1 для ИЛИ.
Таблица 3.1
Название | Графическое обозначение | Булева формула | ||||||||
И (конъюнктор) |
| F = x y = x + y | ||||||||
ИЛИ (дизъюнктор)
| F = x + y =`x`y | |||||||||
НЕ (инвертор) | F =`x | |||||||||
И-НЕ (штрих Шеффера) | F = x y = `x +`y | |||||||||
ИЛИ-НЕ (стрелка Пирса) | F = x + y =`x`y | |||||||||
Исключающее ИЛИ | F = x Å y =`x Å`y = = x`y +`x y | |||||||||
Исключающее ИЛИ-НЕ
| F = x Å y =`x Å y = = x y + x y | |||||||||
Повторитель
| F = x =`x |
Входы показывают с левой стороны прямоугольника, выходы с правой. Допускается другая ориентация прямоугольника, при которой входы располагать сверху, а выходы снизу. Инверсные входы и выходы выделяются индикатором логического отношения - небольшим кружком у вывода. Выводы питания и общий обычно не показываются. Это обстоятельство следует иметь в виду при разборе прохождения токов на входах и выходах микросхем. Когда это нужно, шины, не несущие логической информации (в том числе питания и общие), подводят к левой или правой стороне прямоугольника и помечают звездочкой.
В качестве компонентов могут рассматриваться и некоторые соединений вентилей, образующих подсхемы. Соответственно говорят о логическом моделировании на различных уровнях – вентильном, регистровом и т.д.
Переход от булевой функции к логической схеме в булевом базисе очевиден: достаточно в соответствии с формулой обозначить входы вентилей и соединить их между собой надлежащим образом.
Функции, заданные в нормальной дизъюнктивной или конъюнктивной форме, реализуются двухступенчатыми схемами. Первая ступень реализует произведения или суммы переменных, а вторая соответственно суммы минтермов или произведения макстермов. Двухступенчатые схемы предпочтительны по быстродействию, которое вследствие инерционности логических вентилей пропорционально числу ступеней. Однако в инженерной практике часто используются многоступенчатые схемы.
В виде примера преобразуем на основе законов булевой алгебры функцию y = x1 x2 ( x3 V`x1`x3 ). Раскроем скобки:
y = x1 x2 ( x3 V`x1`x3 ) = х1 х2 х3 V х1 х2`х1`х3
Так как х1`х1 = 0, то y = х1 х2 х3 V 0 = х1 х2 х3.
На рис. 3.2 показано схемное воплощение функции в заданном (рис. 3.2, а) и преобразованном виде (рис. 3.2, б). Варианты а и б логически равноценны.
Проектирование различных устройств осуществляется с помощью специальных методик. Они сводятся к последовательным формальным процедурам, которые могут быть реализованы на ЭВМ.
Рис. 3.2
Различные элементы выпускаются промышленностью в виде самостоятельных изделий, а также как составная часть более сложных устройств. Широко используются логические элементы , совмещающие несколько операций, например И-НЕ, ИЛИ-НЕ, И-НЕ, И-ИЛИ исключающее ИЛИ и др.
Базисы "И-НЕ" и "ИЛИ-НЕ"
Вследствие функциональной полноты функции Шеффера и стрелки Пирса реализующие их вентили И-НЕ или ИЛИ-НЕ могут представлять любую булевую операцию И, ИЛИ, НЕ и таким образом самостоятельно организовывать базис, в котором реализуется любая логическая функция. Это целесообразно с двух точек зрения:
1. При проектировании логических схем можно обойтись одним единственным типом вентиля, что позволяет предельно унифицировать этот процесс
2. Для большинства схем ТТЛ- и КМОП-логик вентильИ-НЕ, как и ИЛИ-НЕ, является базисным и предпочтителен во многих отношениях.
Вследствие этого реализация логических схем в базисах И-НЕ и ИЛИ-НЕ получила широкое распространение в практике.
Булевы операции И, ИЛИ, НЕ выражаются через штрих Шеффера
Отсюда следует, что вентиль И-НЕ, таблица соответствия которого дана на рис. 3.3,а, эквивалентен вентилю НЕ-ИЛИ и позволяет реализовать булевы операции, как показано на рис. 3.3, б-г. Для реализации инверсии имеются два варианта: либо на все входы вентиля И-НЕ подавается переменная х, либо на все входы, кроме входа х, подается единица. Обычно эти особенности на схемам отсутствуют и используется упрощенное представление с одним входом.
Рис. 3.3
Переход к базису И-НЕ осуществляется проще всего для двухуровневых схем И/ИЛИ или при задании функции в стандартной форме суммы минтермов, что видно на простом примере f=ху+zv (рис. 3.4). Исходная схема в булевом базисе (рис. 3.4, а) преобразуется к такому виду (рис.3.4,б), что пары инверторов оказываются соединенными последовательно и выполняют двойную инверсию сигналов. После их удаления схема с вентилями И-НЕ существенно упрощается (рис. 3.4, в) и по своей структуре полностью совпадает с исходной схемой. Таким образом для перехода от двухуровневой схемы И-ИЛИ к схеме в базисе И-НЕ достаточно заменить все вентили вентилями И-НЕ.
Рис. 3.4
В случае произвольных многоступенчатых схем сначала преобразуются по мзложенному выше правилу соседние уровни И-ИЛИ, а остальные вентили И и ИЛИ заменяются их эквивалентами в базисе И-НЕ.
Если исходной является не схема, а заданная функция, то в базисе И-НЕ ее можно реализовать в любой форме последовательным применением соотношений, следующего из закона де Моргана:y = х1х2 =
Как видно из рассмотренных примеров, переход к базису И-НЕ не всегда сопровождается минимальной реализацией.
Операция ИЛИ-НЕ, реализующая стрелку Пирса позволяет выразить булевы функции соотношениями:
Отсюда следует, что вентиль ИЛИ-НЕ, таблица соответствия которого дана на рис. 3.5, а, эквивалентна вентилю НЕ-ИЛИ и позволяет реализовать булевы операции, как показано на рис. 3.5, б-г. Вследствие дуальности операций И-НЕ и ИЛИ-НЕ соответствующие реализации вместе с сопровождающими их комментариями можно получить на основе принципа дуальности.
На рис. 3.6, дуальном рис.3.4, показан переход от двухуровневой схемы ИЛИ/И, которая соответствует конъюнктивной нормальной форме f=(х+у)(z+v), к реализации в базисе ИЛИ-НЕ. Здесь исходная схема (рис. 3.6, а) преобразуется так, что можно устранить последовательно включенные пары инверторов (рис. 3.6, б). После этого получаем схему (рис. 3.6, в), которая по своей структуре полностью совпадает с исходной.
Рис. 3.5
Рис. 3.6