Главная > Схемотехника > Искусство схемотехники, Т.2
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

8.15. Реализация произвольных таблиц истины

К счастью, большинство из проектов цифровых схем не состоит из стряпни безумных устройств на вентилях для реализации сложных логических функций. Однако временами, когда вам нужно связать несколько сложных таблиц истинности, число вентилей может стать слишком большим. Возникает вопрос, нельзя ли найти какой-то другой путь. Таких путей существует несколько. В этом разделе мы кратко рассмотрим, как использовать мультиплексоры и демультиплексоры для реализации произвольных таблиц истинности. Затем мы обсудим в общем более мощные методы, использующие программируемые логические кристаллы, в частности ПЗУ и ПЛМ.

Мультиплексоры в качестве реализаций обобщенных таблиц истинности.

Нетрудно видеть, что -входовый мультиплексор может быть использован для генерации любой таблицы истинности на входов без применения каких-либо внешних компонентов, если просто на их входы подать соответствующие высокие и низкие уровни. Схема на рис. 8.40 говорит, является ли входное -разрядное двоичное число простым. Не столь очевидно, что мультиплексор на входов с помощью только одного инвертора может быть использован для генерации таблицы истинности на входов. Например, рис. 8.41 показывает схему, которая определяет имеет или нет данный месяц года 31 день, где месяц (от 1 до 12) задается -битовым входом. Хитрость в том, чтобы заметить, что для данного состояния адресных битов, прикладываемых к мультиплексору, выход (как функция оставшегося входного бита) должен быть равен или соответственно вход мультиплексора связывается с логическим высоким, логическим низким, А или .

Рис. 8.40.

Рис. 8.41.

Упражнение 8.23. Схема на рис. 8.41. Составьте таблицу, показывающую, имеет ли данный месяц 31 день, с двоичной адресацией месяца. Сгруппируйте месяцы в пары согласно старшим значащим битам адреса. Для каждой пары обозначение выхода день») зависит от младшего значащего адресного бита . Сравните с рис. 8.41. Наконец, напрягитесь и проверьте, что схема делает на самом деле, если заданный месяц имеет 31 день.

Забавное примечание: оказывается, что данную таблицу истинности можно реализовать только с одним вентилем «исключающее или», если использовать для несуществующих месяцев знак X (любое )! Попытайтесь сделать это самостоятельно. Это даст вам возможность приобрести опыт в составлении карт Карно.

Дешифраторы как обобщенные таблицы истинности.

Дешифраторы также позволяют упростить комбинационную логику, особенно в тех случаях, когда нужно получить несколько одновременно действующих выходных сигналов. В качестве примера попробуем составить схему преобразования двоично-десятичного кода в код с избытком 3.

Таблица истинности для такого преобразования имеет вид:

Мы здесь используем -разрядный (в двоично-десятичном коде) вход как адрес для дешифратора, а выходы дешифратора (в отрицательной логике) служат в качестве входов для нескольких вентилей ИЛИ, формирующих выходные биты, как показано на рис. 8.42. Заметим, что в этой схеме выходные биты не являются взаимно исключающими. Аналогичную схему можно использовать в качестве устройства для задания рабочих циклов в стиральной машине: при каждом состоянии входа выполняются различные функции (подача воды, заполнение, вращение барабана и т. д.). Вскоре вы увидите, каким образом вырабатывается последовательность двоичных кодов, следующих через равные промежутки времени. Индивидуальные выходы дешифратора носят название «минтермы» и соответствуют позициям на карте Карно.

ПЗУ и программируемая логика.

Эти ИС позволяют вам программировать их внутренние связи. В этом смысле они фактически являются устройствами с памятью и будут рассматриваться позднее, вместе с тригерами, регистрами и т.п. Однако после программирования они являются строго комбинационными, хотя существуют также последовательностные программируемые логические устройства (см. разд. 8.27), они так полезны, что будут обсуждаться сейчас.

ПЗУ. ПЗУ (постоянное запоминающее устройство) содержит битовый образ (обычно 4 или 8 разрядов, параллельный выход) для каждого конкретного адреса, приложенного ко входу. Например, ПЗУ выдает восемь выходных бит на каждое из 1024 входных состояний, определяемых -разрядным входным адресом (рис. 8.43). Любая комбинационная таблица истинности может быть запрограммирована в ПЗУ, обеспечивающем достаточное число входных линий (адреса). Например, ПЗУ можно использовать для реализации умножителя в этом случае ограничение на «ширину» (8 разрядов), не действует (так как имеется 10 разрядов).

Рис. 8.42. Преобразование кодов на уровне минтермов: преобразование двоично-десятичного кода в код с избытком 3 (устаревший код, сохранившийся с издания книги)

ПЗУ (а также программируемые логические устройства) являются энергонезависимым устройством, т. е. хранимая информация остается даже тогда, когда питание пропадает.

Рис. 8.43.

ПЗУ подразделяются на несколько типов, в зависимости от их метода программирования: а) «Масочнопрограммируемые ПЗУ» имеют свое битовое содержание, созданное во время изготовления. б) «Программируемые ПЗУ» (ППЗУ) программируются пользователем: ПЗУ имеют тонкие перемычки, которые могут пережигаться (подобно предохранителям) посредством подачи адреса и управляющих сигналов; они обладают высоким быстродействием (25-50 не), относительно большим потреблением (биполярные ), размерами от малых до средних (от до ). «Стираемые программируемые ПЗУ» (СППЗУ) хранят свои биты как заряды на плавающих МОП-вентилях; информация в них может стираться посредством облучения их интенсивным ультрафиолетовым светом в течение нескольких минут (они имеют прозрачное кварцевое стекло); выполняются по -МОП и КМОП-технологии и значительно медленнее (200 не) при низком потреблении (частично в режиме хранения), имеют достаточно большой размер (). Современные КМОП СППЗУ достигают быстродействия биполярных ПЗУ (35 не). Известен вариант - «одно-кратно-программируемый» (ОКП), он содержит идентичный кристалл, но не имеет кварцевого окна для экономии и простоты. г) «Электрические стираемые программируемые ПЗУ» (ЭСППЗУ) подобны СППЗ, но могут программироваться и стираться электрически прямо в схеме с использованием стандартных напряжений питания В).

ПЗУ находят широкое использование в компьютерах и микропроцессорах, где они используются для сохранения законченных программ и таблиц данных; мы увидим их снова в гл. 11. Однако вы всегда должны помнить о небольших ПЗУ, как о замене сложных вентильных матриц.

Программируемая логика. ПМЛ (программируемая матричная логика; -товарный знак фирмы Monolitic Memories ) и ПЛМ (программируемые логические матрицы) являются двумя основными видами программируемой логики. Они являются ИС со многими вентилями, связи между которыми могут программироваться (подобно ПЗУ) для формирования желательных логических функций. Они выполняются как в биполярном, так и в КМОП-вариантах, первые используют прожигаемые перемычки (однократнопрограммируемые), вторые - плавающие вентильные КМОП схемы (ультрафиолетового или электрического стирания). Вы не можете запрограммировать любую связь, какую желаете - вы будете ограничены встроенной структурой. Рис. 8.44 показывает основные схемы комбинационных (не регистровых) ПЛМ и ПМЛ. Для простоты на этом рисунке вентили И или ИЛИ нарисованы с одним входом, хотя в действительности они являются многовходовыми вентилями с входом для каждого перекрестия.

Каждый выход (с 3 состояниями) комбинационной ПМЛ выводится от вентиля ИЛИ, а каждый вход подсоединяется к вентилю И с дюжинами входов. Например, (рис. 8.45) имеет восемь -входовых вентилей ИЛИ; каждый возможный сигнал достижим для каждого вентиля И, включая 10 входных контактов (и инверторы для них) и -выходных контактов (и инверторы к ним).

Рис. 8.44. Программируемая логика: а - ПЛМ; б - ПМЛ; в - фрагмент программируемых соединений с многовходовым вентилем И; кружками обозначены плавкие перемычки или другие программируемые соединения.

Разрешение третьего состояния также устанавливается от -входового вентиля И.

ПЛМ подобна ПМЛ, но обладает большей гибкостью - выходы вентилей И могут связываться со входами вентилей ИЛИ в любой комбинации (т. е. программироваться), что предпочтительней, чем жесткое присоединение, как в ПМЛ.

Заметим, что ПМЛ и ПЛМ, которые мы описывали, являются комбинационными устройствами (т. е. выполнены только на вентилях, без памяти). Другой разновидностью программируемой логики является последовательностная логика, т. е. имеющая память (регистры), подробно мы рассмотрим их в, следующем разделе. Для использования ПМЛ и ПЛМ вы должны иметь программатор, как часть аппаратного обеспечения, который знает, как прожигать перемычки (или другие типы программируемых средств) и проверить окончательный результат.

Рис. 8.45. Комбинационная ПМЛ 16L8 имеет 10 специальных входов, 2 специальных выхода и 6 двунаправленных линии входа/выхода (с 3-м состоянием). 16L8 означает 16 входов (макс.), 8 выходов (макс.) (низкий уровень - истинное значение) (с разрешением фирмы Калифорния).

Рис. 8.46. Исключающее ИЛИ на ПМЛ.

Все программаторы имеют связь через последовательный порт с микрокомпьютером (стандартное средство связи на IBM PC или совместимой с ней), на котором вы работаете с программным обеспечением программатора. Некоторые из современных программаторов включают одноплатный компьютер, который работает с собственным программным обеспечением.

Простейшее программное обеспечение просто позволяет вам выбрать перемычки для прожигания; вы изображаете это в зависимости от того, какую логику вы хотите получить на уровне вентилей, затем перечисляете (или помечаете на графическом дисплее) эти перемычки. Рис. 8.46 показывает простой пример для функции исключающее ИЛИ на два входа на одном из выходов ПМЛ. Хорошие программаторы позволяют вам задавать буквы выражения (если они вам известны) или таблицы истинности; программное обеспечение затем делает остальное, включая минимизацию, моделирование и программирование.

Хотя ПЛМ более гибкие, фаворитом в современном проектировании являются ПМЛ. Это из-за того, что они быстрее (так как сигнал проходит только через один массив перемычек), дешевле и обычно удовлетворяют задаче. Как мы увидим позже, новые ПМЛ, использующие «макроячейки» и «складную архитектуру» дают вам некоторую дополнительную гибкость в проектировании на ПМЛ с фиксированными ИЛИ-вентилями. Таким образом, ПМЛ представляют собой гибкую и компактную альтернативу ИС с фиксированными функциями и не должны выпадать из виду у серьезного проектировщика схем. Мы покажем, как (и где) применять программируемую логику с использованием полезных хитростей в разд. 8.27.

<< Предыдущий параграф Следующий параграф >>
Оглавление