Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 105
Текст из файла (страница 105)
5.27. Режимы работы шинного приемопередатчика с парой двунаправ- ленных шин ЕНТО (. АТОВ Онирвз(ни Передача данных ат источника на шине В адресату на шине А. Передача данных от источника на шине А адресату на шине В. Независимая передача данных по шинам А н В. 456 Глава 5. Практическая разработка схем комбинационной логики Рис. 5.60. Двунаправленные шины н применение приемопередатчика 5.6.3. Описание схем с тремя состояниями на языке АВЕ~.
и их реализация в ПЛУ В рассмотренных ранее примерах применения комбинационных ПЛУ с двунаправленными выводами (102-107 в микросхемах РАЬ16Ь8 и 0АЬ1 бЧ8) зги выводы использовались в статическом режиме, то есть выход, подключенный к данному выводу постоянно был либо в активном режиме, либо в третьем состоянии. В такой ситуации о соответствующем программировании выходов может позабо- В.б.
Устройства с тремя состояниями 467 титься компилятор: все план кие перемычки будут либо пережжены, либо все останутся нетронутыми. В языке АВЕ1., по умолчанию, выход с тремя состояниями, подключенный к данному выводу, бывает запрограммирован так, чтобы всегда быть а активном режиме, если имя сигнала, соответствующее этому выходу, появляется в левой части какого-либо равенства, или всегда находиться в третьем состоянии в противном случае. Выходами с тремя состояниями можно также управлять динамически: сигналом на отдельном входе, термом-произведением или используя логику с двумя проходами для более сложных логических выражений. В языке АВЕ1.
к имени сигнала в левой части выражения добавляется суффикс атрибута, Ое(аппЬше за))7х . ОЕ), чтобы показать, что это соотношение относится к сигналу разрешения буфера, через который проходит сигнал с данным именем. В ИС РАЫ 618 н ОАЫ 6Ъ 8 перевод выхода в активный режим осуществляется единственным вентилем И, поэтому правую часть соотношения, задающего сигнал разрешения, необходимо свести к одному терму-произведению. В табл. 5.28 приведен фрагмент простой программы для ПЛУ с управлением третьим состоянием. Эта программа получена адаптнрованнем программы для дешифратора типа 74х13 8 из табл.5.8 и включает сигнал управления третьим состоянием на выходе ОЕ для всех восьми выходов дешифратора.
Обратите внимание, что набор сигналов У определен так, чтобы единственное соотношение определяло возможность всем восьми выходам находиться в активном состоянии; здесь суффикс. ОЕ относится к каждому элементу набора. В предыдущем примере выводы гО-У7 в течение всего времени является выходами, находящимися либо в активном режиме, либо в плавающем состоянии, то есть используются строго как «выходные контактьоь Но выводы 1/О (1О2-1О7 в ИС 161 8 и 16Ч8) можно применять как «двунаправленные выводы»; то есть нх можно использовать динамически как входы или как выходы в зависимости от того, какой сигнал вырабатывает вентиль, управляющий выходным буфером: логический 0 нли логическую 1.
Ниже в качестве примера использования выводов 1/О приведены условия функционирования 2-разрядного шинного приемопередатчика на четыре направления: Приемопередатчик работает на четыре 2-разрядные двунаправленные шины А[1:21, В[1:21, С[1:2] и 0[1:21. Источник данных, выдающий сигналы на шины, определяется тремя входными сигналами выбора 8[2:01 согласно табл. 5.29. Если В2 = О, то на шинах устанавливаются постоянные значения, в гдэотивном случае сигналы на ннх определяются сигналамн одной нз других шин.
Однако, когда выбранный источник данных сам является шиной-адресатом„на шине источника устанавливается 00. ° Каждая шива имеет свой собственный сигнал разрешения выхода АОЕ 1 ВОЕ 1„ СОЕ Е или ООЕ 1.. Кроме того, имеется «главный» сигнал разрешения выхода МОЕ 1„Приемопередатчик выдает сигналы на конкретную шину только в том случае, когда сигнал МОЕ Е и сигнал разрешения выхода на эту шину имеют активный уровень. 458 Глава 5.
Практическая разработка схем комбинационной логики Табл. 5.28. Программа на языке АВЕЬ для полного дешифратора Зх8 типа 74х138 с управлением третьим состоянием на выходах апзе 274Х1387 с1сзе '74х138 Оесоаег вась Тпгее-Зевсе Оперев епаь1е' 274Х138Т Бекасе 'Р16ЬЗ'; " 1првз р1пв А, В, С, !62А, '.628, 61, !ЮЕ рзп 1, 2, 3, 4, Оперна р1пв !УО, !У1, !У2, !ТЗ рап 19, 18. 17. !У4, !УЗ, !ТБ, !У7 рзп 16. 14, 13, Б, Б.
7; 16 Авсуре 'соа'; 12 1веуре 'соа'; " Сопвеапс еяргеввзоп ЕИВ = 01 а 02А а 028", Т !ТО .. У71; ег!пас1опя Т.ОЕ ОЕ; УО еиВ А !с А !В а !А; У7 = еиВ А с а В а А; епа 274Х138Т Табл. 5.29. Коды выбора шины для шинного приемопередатчика на четыре направления Выбираемый 82 81 80 источник Шина В Шина С Шина !З В табл. 5.30 представлена программа на языке АВЕЬ, описываюшая работу приемопередатчика. Согласно выражениям для сигналов разрешения ЬОЕ), каждая шина может служить источником данных, если сигнал МОЕ и собственный сигнал ОЕ этой шины имеют активный уровень. Если 82 = О, то сигналы на каждой шине определяются значениями 81 и ЭЗ; если в качестве источника выбрана дру- 0 0 0 0 0 ! 0 1 0 0 1 ! 1 0 0 1 0 1 1 0 1 1 1 00 О! !О 1! Шина А 5.6.
Устройства с тремя состояниями 459 гая шина, то сигналы на данной шине определяются сигналами выбранной шины. Если, в качестве источника выбрана сама шина-адресат, то результатом вычисле- ния выходного выражения, как и требуется, будет 00. Табл. 5.50. Программа на языке АВЕЬ для 2-разрядного шинного приемопередатчика на четыре направления аоеп1е ХСЧВ412 1111е 'Ропх-еау 2ымг Впе тгепасе1гег' ХСЧВАХ2 бет1се 'Р1бьб'; 1прпо ргпе А11, А21 !АОЕ, !ВОЕ, !СОЕ, !ООЕ, !ИОЕ 30, 31, 32 " Оогрпг апе Ь141хесг1опа1 р1пе А10. А20 В1, Вг, С1, С2. 01, Ог р1п 1, 11; р1п 2, 3, 4, б, б; ргп 7, 3, 9; еяоасгопе АВУЗО.ОЕ = АОЕ А ИОЕ; ВВОЗ.ОЕ " ВОЕ А ИОЕ; СВОЯ.ОЕ = СОЕ А ИОЕ; РВУЯ.ОЕ ООЕ В ИОЕ; АВУЗО !32АСОМЗТ № (ЯЕ1.
"ЯЕХВ)АВВУЗ № ВВОЗ = !32№СОМЯТ № (331. ЗЕ1.А)ААВУ31 № СВОЗ !32АСОМЗТ № (ЗН. ЯЕХА)ААВУ31 № ОВУЗ (32АСОМЯТ № (Яяь ЗНА)ААВУЯХ № (ЗН. ЯН.С)АСЯУЗ № (ЯН. -ЯЕ(0)АОВУЗ; (ЯЕЬ-ЯЕЬС)ВОВСЯ * (Явь=-ЯЕЬО)ВОВСЯ; (ЯЕ1. ЗЕЬВ)АВВУЯ № (ЗН, ЗЕ10)АОВУЗ; (Зяь ЗН.В)ЙВВУЯ № (ЯЕ!. ЗН.С)АСВУЗ; епб ХСУМ412 На рис. 5.61 представлена принципиальная схема устройства на ИС РАЬ16Ь8 (или СгАЬ16У8) с требуемыми входами и выходами. Так как ИС имеет толью шесть двунаправленных выводов, а согласно техническим требованиям их должно быть восемь, для шины А используется одна пара входов и одна пара выходов.
Это отражено в программе путем введения отдельных сигналов и наборов для входа и выхода шины А " Яее бе11пгс(апе АВУЯО = (А10,А201' АВУЯ1 = [А11,АЕП ~ ввуя [вт,в21; сВУЯ " (с1, с21; ОВУЯ 0)1 ° 021 ) Яеь [32,31.301' СОМЗТ " [31.30]; " Сопесапее ЯН.А 11,0,0); ЯЕ(.я [1,0, 1); Яяьс = 11,1,01; зеьс [1, 1, 11; ргп 19, 12 1епуре 'сап' 1 р1п 13, 17, 1б, 13, 14, 13 1асуре 'соп'; 460 Глава 6. Практическая разработка схем комбинационной логики А1 В1 В2 С1 С2 О1 02 А2 АОЕ Ь ВСЕ Ь СОЕ Ь ОСЕ Ь МОЕ Ь Во 31 82 Рис.
6.61. Входы и выходы 2-разрядного шинного приемопередатчика на че- тыре направления, реализованного в ПЛУ *5.6.4. Описание выходов с тремя состояниями на языке зг НО~ В самом языке ЧНРЬ отсутствуют встроенные типы и операторы для выходов с тремя состояниями. Однако в нем имеются примитивы, которые можно использовать дяя создания соответствующих сигналов и систем, имеющих третье состояние; этн примитивы используются в пакете 1ЕЕЕ 1164.
Прежде всего, объявлением типа ЯТР Ь06!С в пакете 1ЕЕЕ 1164 '2' определяется как одно из девяти возможных значений сигнала; это значение используется для указания высокоомного состояния. Вы можете присвоить это значение любому сигналу типа ЗТР ЬОВ!С и определения стандартных логических функций допускают возможность входных сигналов со значением '2' (в общем случае сигнал 'Г на входе вызовет сигнал 'С' на выходе). Как на языке ЧНРЬ описать шины с тремя состояниями, если в нашем распоряжении имеются сигналы с тремя состояниями? У шины с тремя состояниями в общем случае бывает два или большее число источников, хотя рассматриваемые нами алгоритмы работают точно так же, когда имеется всего лишь один источник. В языке ЧН РЬ нет явной языковой конструкции для объединения выходов с тремя состояниями в шину. Вместо этого компилятор автоматически обьединяет вместе сигналы, которые создаются двумя или ббльшнм числом разных процессов, то есть сигналы, имена которых находятся в левой части оператора присваивания в двух или в большем числе процессов.