Искусство схемотехники. Том 2 (Изд.4-е) - Хоровиц Пауль (читать книги бесплатно полностью без регистрации .txt) 📗
Упражнение 8.12. Чему равны следующие соотношения:
а) 0·1, б) 0 + 1, в) 1·1, г) 1 + 1, д) А(А + В), е) А(А' + В), ж) Α А, з) Α Α'.
8.13. Минимизация и карты Карно
Поскольку логическую функцию, даже такую простую, как Исключающее ИЛИ, можно реализовать различными способами, часто бывает нужно найти для нее самое простое решение, или, возможно, наиболее удобное схемное решение. Над этой проблемой бились многие светлые умы и в настоящее время существует несколько способов ее разрешения, включая алгебраические методы, реализуемые с помощью ЭВМ. При числе входов, не превышающем четырех, наилучшим методом является составление карты Карно. Этот метод позволяет также найти логическое выражение (если оно заранее неизвестно) по таблице истинности. Проиллюстрируем этот метод с помощью примера.
Предположим, что требуется построить схему для мажоритарного подсчета голосов при баллотировке. Будем считать, что имеются три входа, работающие в положительной логике (на любом из них может быть 1 или 0) и выход (0 или 1). Выход равен 1, если 1 присутствует не менее чем на двух входах.
Шаг 1. Составим таблицу истинности
Здесь должны быть представлены все возможные сочетания и соответствующие им состояния выхода (или выходов). В том случае, когда состояние входа не оказывает влияния на выход, ставится X (любое значение).
Шаг 2. Составим карту Карно. Она представляет собой нечто очень близкое к таблице истинности, но содержит переменные, которые расположены по двум осям. Переменные должны быть расположены таким образом, чтобы при переходе от каждого квадрата к соседнему менялось бы состояние только одного входа (рис. 8.27).
Рис. 8.27. Карта Карно.
Шаг 3. Отметим на карте группы, содержащие 1 (можно также использовать и группы, содержащие 0). Три овала на рис. 8.27 определяют логические выражения АВ, АС и ВС. Далее получим требуемую функцию
Q = АВ + АС + ВС,
схемная реализация ее показана на рис. 8.28.
Рис. 8.28.
Этот результат кажется очевидным, когда он уже получен. Можно было бы составить выражение для нулей и вместо этого получить
Q = А'В' + А'С + В'С.
Это выражение может оказаться полезным для случая, когда в каких-либо точках схемы имеются дополнения А', В' и С.
Некоторые комментарии к картам Карно.
1. Ищите группы, содержащие 2, 4, 8 и т. д. квадратов. Они имеют простые логические выражения.
2. Логика будет тем проще, чем крупнее блок вы опишете.
3. Состыкуйте края карты Карно. Например, карта на рис. 8.29 описывается выражением Q = В'С.
Рис. 8.29.
4. Блок «единиц», содержащий один или два «нуля», лучше всего описывается с помощью группировки, показанной на рис. 8.30. Этому блоку соответствует логическое выражение Q = A(BCD)'.
Рис. 8.30.
5. Места, содержащие X (любое значение), представляют собой «карт-бланш». Записывайте в них «нули» или «единицы» так, чтобы можно было получить простейшую логику.
6. Карта Карно может и не привести к лучшему решению. Иногда более сложное логическое выражение имеет более простую схемную реализацию, например в случае, когда некоторые члены выражения уже сформированы схемой в виде логических сигналов, которые можно использовать в качестве входных. Кроме того, реализации Исключающего ИЛИ не очевидны из карты Карно. Наконец, при выборе логической структуры схемы определенную роль играют ограничения, связанные с конструкцией ИМС (например, когда в одном корпусе содержатся четыре 2-входовых вентиля). Когда используются такие программируемые логические устройства как ПМЛ для конструирования логических функций, внутренняя структура (программируемые вентили И и фиксированные вентили ИЛИ) сдерживает реализацию, которая могла бы быть применена.
Упражнение 8.13. Нарисуйте карту Карно для логики, которая позволит определить, является ли 3-разрядное двоичное число «главным», считая при этом, что главными не являются числа 0, 1 и 2. Дайте схемную реализацию на 2-входовых вентилях.
Упражнение 8.14. Найдите логическое выражение, с помощью которого можно было бы умножить два 2-разрядных двоичных числа и получить 4-разрядный результат. Рекомендации: для каждого выходного бита пользуйтесь отдельными картами Карно.
8.14. Комбинационные функциональные схемы, реализованные на стандартных ИМС
С помощью карт Карно можно построить логику, чтобы выполнять достаточно сложные функции, такие, как, например, двоичное сложение и сравнение величин, контроль по паритету, мультиплексирование (выбор одного из нескольких входов, который определяется двоичным адресом) и т. п. В реальности сложные функции, которые используются наиболее часто, реализуются в виде функциональных ИМС средней степени интеграции (до 100 вентилей в корпусе). Хотя в состав многих из этих СИС входят триггеры, которые мы скоро будем рассматривать, большинство из них выполняют чисто комбинационные функции и состоят целиком из одних вентилей. Давайте посмотрим, «какие звери населяют зоопарк, именуемый комбинационные интегральные схемы средней степени интеграции.»
Счетверенная 2-входовая схема выборки. Весьма полезным устройством является счетверенная 2-входовая схема выборки. Она фактически представляет собой 4-полюсный двухпозиционный переключатель логических сигналов. Основная идея такого переключателя иллюстрируется рис. 8.31.
Рис. 8.31. Счетверенный 2-входовый селектор.
Когда вход ВЫБОР (SELECT-SEL на рисунке) имеет низкий уровень, сигналы на выходах Q поступают с соответствующих входов А, при высоком уровне на входе ВЫБОР — со входов В. Когда высокий уровень действует на входе РАЗРЕШЕНИЕ (ENABLE-E на рисунке), все выходы устройства принудительно устанавливаются в состояние низкого уровня. Несколько позже мы рассмотрим эту важную идею более подробно, а сейчас приведем лишь таблицу истинности, в которой X означает, что состояние данного входа не имеет значения, В — высокий уровень, Η — низкий уровень.
Схема на рис. 8.31 и ее таблица истинности соответствуют схеме `157. Та же самая функция реализуется также с инверсным выходом (`158) и с выходом на 3 состояния (прямые выходы; `257; инверсные: `258).