Некоторые другие незнакомые функции.
Существует много других комбинационных схем средней степени интеграции, представляющих несомненный интерес. Например, в семействе КМОП есть схема — «мажоритарная логика», которая говорит, что возбуждена большая часть входов. Имеется также двоично-десятичное устройство дополнения до 9, назначение которого не требует пояснений. Существует схема «барабан-сдвигатель», которая сдвигает входное число наК счастью, большинство из проектов цифровых схем не состоит из стряпни безумных устройств на вентилях для реализации сложных логических функций. Однако временами, когда вам нужно связать несколько сложных таблиц истинности, число вентилей может стать слишком большим. Возникает вопрос, нельзя ли найти какой-то другой путь. Таких путей существует несколько. В этом разделе мы кратко рассмотрим, как использовать мультиплексоры и демультиплексоры для реализации произвольных таблиц истинности. Затем мы обсудим в общем более мощные методы, использующие программируемые логические кристаллы, в частности ПЗУ и ПЛМ.
Мультиплексоры в качестве реализаций обобщенных таблиц истинности. Нетрудно видеть, что
Рис. 8.40.
Не столь очевидно, что мультиплексор на
Хитрость в том, чтобы заметить, что для данного состояния адресных битов, прикладываемых к мультиплексору, выход (как функция оставшегося входного бита) должен быть равен
Рис. 8.41.
Упражнение 8.23.
Схема на рис. 8.41. Составьте таблицу, показывающую, имеет ли данный месяц 31 день, с двоичной адресацией месяца. Сгруппируйте месяцы в пары согласно старшим значащим 3-м битам адреса. Для каждой пары обозначение выходаЗабавное примечание: оказывается, что данную таблицу истинности можно реализовать только с одним вентилем «исключающее или», если использовать для несуществующих месяцев знак
Дешифраторы как обобщенные таблицы истинности.
Дешифраторы также позволяют упростить комбинационную логику, особенно в тех случаях, когда нужно получить несколько одновременно действующих выходных сигналов. В качестве примера попробуем составить схему преобразования двоично-десятичного кода в код с избытком 3. Таблица истинности для такого преобразования имеет вид:Мы здесь используем 4-разрядный (в двоично-десятичном коде) вход как адрес для дешифратора, а выходы дешифратора (в отрицательной логике) служат в качестве входов для нескольких вентилей ИЛИ, формирующих выходные биты, как показано на рис. 8.42.
Заметим, что в этой схеме выходные биты не являются взаимно исключающими. Аналогичную схему можно использовать в качестве устройства для задания рабочих циклов в стиральной машине: при каждом состоянии входа выполняются различные функции (подача воды, заполнение, вращение барабана и т. д.). Вскоре вы увидите, каким образом вырабатывается последовательность двоичных кодов, следующих через равные промежутки времени. Индивидуальные выходы дешифратора носят название «минтермы» и соответствуют позициям на карте Карно.
Рис. 8.42.