144' PLA 327
С помощью введения инвертированной обратной связи из мати цы ИЛИ могут быть при определенных обстоятельствах сэкономле ны многие термы логического произведения.
Обсудим полезность и реализацию улучшений на основе двух сле дующих схем.
Входящий в PLА вентиль «исключающее ИЛИ» (EXOR), пока занный на рис. 14.5, служит для управления полярностью выхода. Если на его втором входе имеет место О, вентиль работает как бу фер, если же второй вход находится в состоянии 1, выход становит ся инвертированным. Следовательно, всегда можно выбрать между реализацией функции и ее инвертированием, экономя таким обра зом термы логического произведения.
И-матрица
управляющие термы
М
4 1 Р
^1 - Т
Ч 1 р
ЧТ]
Я1 П
Я1 П
Рис . 14.5. PLA с вентилями EXOR и двунаправленным выходом типа tristate.
Кроме того, в PLA на рис. 14.5 используются на выходах вентили типа tri-state. Как альтернативный вариант можно рассматривать PLA, у которых разрешающие (enable) входы управляются допол нительными выходами матрицы ИЛИ, либо применяются дополни тельные вывода. Поскольку выходы выполнены как триггеры с вы-
Глава 14' Программируемые логические блоки
ходами типа tri-state, их можно использовать как двунаправленные интерфейсы. Соответствующие входы также ведут в И-матрицу. Повышенная гибкость обеспечивает лучшее использование PLА.
В PLА на рис. 14.7 имеется инвертированная обратная связь, ведуш,ая из матрицы ИЛИ, которую также называют дополнитель ной (обраш;енной) матрицей (complement array). Эта обратная связь способствует экономии термов логического произведения в тех слу чаях, когда обрабатываются задачи, при решении которых выходы должны принимать определенные значения с рядом исключений.
Пусть, например, должен быть разработан сегментный декодер для представленных с помоп];ью десятично-двоичного кода (BCD) чисел, который при входных значениях более ЮООв должен пока зывать на дисплее Е как обозначение ошибок. Определение цифр с помош;ью соответствуюш;его кода показано на рис. 14.6.
f |
а |
|
» I I I г |
_ |
е |
g |
1 |
г |
I и _ |
|
|
|
о |
I и J |
L |
Р и с . 14.6. Определение 10 цифр и Е как обозначения ошибок для случая 7-сегментной индикации.
Для цифр от о до 9 требуются 10 термов логического произведе ния. Они подаются на вход дополнительной матрицы. Дополнитель ная матрица не реагирует на появление одного из этих термов. Если же не задействован ни один из термов логического произведения, а подана псевдотетрада (двоичные числа между 10 и 15), то в этом случае приходят в действие сегменты, формируюш;ие букву Е.
На рис. 14.8 показана в упрош;енной форме PLA, служаш;ая для реализации управляюш;ей схемы (драйвера). PLА данного вида обо значают как устройства задания последовательности (sequencer).
Впоказанную схему входят:
•Регистр состояний с выходами PQ^ Pi и Р2. Выходы регистра подведены к И-матрице.
•Вход Р/->Е может быть запрограммирован так, что он дей ствует либо как вход enable, управляюш,ий tri-state-буфером, либо как вход preset («предварительная установка») для D- триггеров.
144' PLA 329
Добавочная матрица может быть использована для того, что бы устанавливать определенное состояние при включении или при ошибках. Добавочная матрица (complement array) сраба тывает тогда, когда ни одно из непосредственно применяемых состояний не наступает при включении.
^0 TFi
•^
Vf,1 р |
^ ^ - * |
- |
* |
* - * |
И-матрица |
v^1 \> |
* |
* - ^ |
|
ж ж |
ж |
ж |
Т7 |
|
|
|
|
ж |
ж >ic ж |
|
Хз |
ж ж ж ж ж ж ж ж |
|
" ^ |
ff |
|
|
|
|
|
& & & & & & & & & & & &
|
^ М ^ |
ж ж ж ж ж ж |
>1 |
ИЛИ-матрица Ж Ж |
Ж Ж Ж |
ж ж ж |
>1 |
|
|
|
>1 |
* - ~ * |
ж ж ж ж ж ж ж |
|
* - * |
^ ^ - * |
Ж Ж Ж |
>1 |
|
|
|
|
>1 |
|
|
ж ж ж |
ж ж ж |
>1 |
|
ж ж ж ж ж |
ж ж ж |
>1 |
Р и с . 14.7. PLА с инвертированной обратной связью, выведенной из матри цы ИЛИ (пример с индикацией семью сегментами).
Пусть, например, на основе показанной на рис. 14.8 PLA, должен быть спроектирован двоичный счетчик по модулю 5, который для входного сигнала х = XQ = Q считает в прямом направлении и р^ля X = жо = 1 в обратном направлении. На основе этой информации получаем табл. 14.3.
На основе таблицы состояний может быть разработана таблица запуска (табл. 14.4) р,ля RS-триггеров данной схемы.
Из таблицы запуска может быть вьшедена KV-диаграмма (рис. 14.9). В этой KV-диаграмме (диаграмме Карно-Вейча) находятся свобод ные поля, которые принадлежат состояниям, не возникающих в нор мальных циклах счета. Из этих состояний, которые могут устано виться при включении или при возникновении помехи, счетчик дол-
330 Глава 14Программируемые логические блоки
жен переходить в последовательные состояния (Ро? -Рь -Р2) — (0,0,0).
|
"-ш |
* - * |
|
|
* - * |
|
|
ж ж ж ж |
ггр- |
|
* - * |
|
ж |
|
* ~ * |
|
Ж Ж Ж |
^к-ж |
|
ж ж ж ж |
ж - * |
41}^ |
|
йыыййй |
ЧТЬ |
|
>1 |
|
Ж Ж Ж Ж Ж Ж Ж Ж Ж |
|
* - ^ |
|
>1 |
|
|
|
>1 |
|
|
|
>1 |
|
Ж-)^ |
>1 |
|
|
|
>1 |
|
* - * |
л |
^1 |
|
CLK- |
|
|
|
& |
|
Р/^Е- |
-Л & |
IS •t>ci IR
IS t>ci IR
IS i>ci IR
S
IvkPo
H E N
k P i
EN
k P 2
EN
Рис . 14.8. PLA для реализации управляющих схем (устройств задания по следовательности, sequencer), программирование для данного примера реверсивный двоичный счетчик для счета по модулю 5.
Таблица 14.3. Таблица последовательности состояний двоичного счетчика
|
|
по модулю 5. |
|
|
|
|
|
|
рш |
|
|
хо = 0 |
|
|
Хо = 1 |
|
р?" |
гут |
•pm + l |
рт-{-1 |
|
•рт-\-1 |
p m + l |
p m + l |
|
|
^2 |
|
|
^2 |
^ 1 |
^0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |