Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 106
Текст из файла (страница 106)
Однако, как обьяснено ниже, эти сигналы должны иметь соответствующий тип. В пакете 1ЕЕЕ 1! 64 тип БТС ЬОСХС фактически определен как иодтип 1зио1уРе) типа ЯТВ ГГЬОС1С В языке ЧНРЬ тип Ято СЬСС1С, называемый неразрешеннььн типов (ипгезо?гег1 гуре), используется дяя любого сигнала, который может 6.6.Устройства стремясостояниями 461 быть образован в двух или в большем числе процессов. (Здесь термин «разрешение» употребляется в том же значении, каюе он имеет в выражениях «разрешение конфликта», «разрешающая способность». -Пряи.
перев.) Определение неразрешенного типа включает в себя фу«килю разрешения (ге»о!имолуввпсг1оп), которая вызывается каждый раз, югда происходит присвоение значения сигналу этого типа. Как следует из названия функции, она решает, каким должно быть результирующее значение сигнала на линии, к которой подключены выходы несюльких источников. Это позволяет смоделировать условия формирования сигналов, подобные тем, какие имеют место в реальных устройствах. В табл.
531 и 5 32 приведены определения типов ЯТЯ СЬ0010 и Ят0 ь0010 и функция разрешения»гево1»есГ' из пакета 1ЕЕЕ 1164. Когда в и процессах возникает л различных возможных значений сигнала, они поступают во входной вектор в и функция "те» о1«еб" определяет конечное значение типа ЯТ 0 Ь0010 по двумерному массиву тезо1ит1оп ЬаЬ1е. Если, например, сигнал формируется четырьмя источниками, то ЧН01 компилятор автоматически создает 4-элементный вектор, содержащий значения сигналов на выходах источников, и передает этот вектор функции ге в о 1 и ей всякий раз, югда изменяется любое из этих значений.
Результат возвращается моделирующей программе. Табл. 6.31. Объявления типов Ятп Оь0010 и ятп ь0010 в пакете!ЕЕЕ 1164 РАСКАОЕ ае6 1ойьс 11В4 1Я вЂ” 1оЕ1с »тате вувтев (и»гав«1««6) ТТРН ве6 иьобьс ТЗ ( 'О', — Оптпьтта11Я«6 'Х', — Ротс1пя Опхпоеп 'О', — Гогс1пя Π— Ротсьпя 1 '2', — НАЕВ Тарасе»се 'и', — Иеав Цпхповп '1.', — Ивах О 'Н', -- У»ах 1 — Поп'1 саге ); ипсопвтга1п»6 аттау от вт6 и1оя1с туре втп и1оетс тесзот тя АВВАт 1 ИАтОВАь ВАмсе с> ) ОР ве6 и1оеьс) гево1иптоп Типе»1оп РОИСТТОи гево1»«6 ( в: веб„и1ое1с тес»от ) ВЕП)ВИ виб„и1ое1с; **«1»6ивтгу втапбаг6 1оетс туре «»» ЯОВТУРЕ ве 1оЕ1с ТЯ тево1»е6 вьп »1ойтс; Благодаря строгому упорядочению сигналов по «силе» в массиве гево1иг1оп ЬаЬ|е р0' > 'Х' > '0; '1' > Тр > 'Ь; Нр > '-') порядок, в котором значения сигналов появляются в векторе з, не влияет на результат, выдаваемый функцией тезо1иеп.
Коль сюро в результате частичного выполнения про- 462 Глава 6. Практическая разработка схем комбинационной логики цедуры разрешения уже получено какое-то определенное значение сигнала, в дальнейшем уже не может возникнуть «более слабоея значение; конфликты 0 у 1 и 1, у н всегда разрешаются в пользу более сильных неопределенных значений 'х' и ТГ соответственно. Табл. 6.32. Тело пакета 1ЕЕЕ 1164 в части, касающейся типов Ото Оьоато и ЗТС ЬООТС РАСКАОЕ ВОРУ эеб 1оиьс 11бе 13 — 1оса1 суре туРБ эсб1ое14 саь1э 18 АВВАу(эсе и1оеьс, эсб и1оеАс) ОР эсб„и1иезс; — гээо1иС1ои тиисС1ои СОИБтАмт гэво1ис1эи сэь)э : эсб1оезс свахе : ( О Х Е 1 Е М Ь И 1 ( ( ( ( ( ( ( ( ); РОИСТ10И гээи1чэб ( в: эгб и1оЕ1с чесСог ) ВЕТОВЛ эеб и1оЕ1с 1Я УАВ1АВ1.Е гэви1С: ЭСА и1оЕ1с; 'Е'; — вээвэве вгвее бэтэи1С ВЕСТИ вЂ” сне Севе Хог а э1иЕ14 бг1чэг 1в евэеис1э1 осьэги1вэ Све — 1оар эои1б гэсиги 'х' гэг э этие1э ег1чег ог '-' эаб суэс — эоихб соит11сс э1сь сьэ чэ1иэ ит в вгие1э дг1чэг иигэво1чэб — э1биэ1.
1Р (э'ХЕИОТМ 1) РЕЕМ ВЕТОВМ э(э'СОИ); Е1.БЕ РОВ 1 1М э'ВАИОЕ 1.00Р гэви1с : гээи1ис1аи сэь1э(гээи1с, э(1)); ЕИО 1.00Р; ЕМО 1Р; ВЕТОВИ геэи1С; ЕМО гееа1чебн Итак, нужно ли все это звать для образования в ЧНР(.-программе выходов с тремя состояниями? Ну, обычно нет. Но это может помочь, если результаты вашего моделирования не согласуются с реальностью. Все, что обычно требуется для создания выходов с тремя состояниями в ч"НО(.-программе, это обьяанть соответствующие сигналы величинами типа ято 1061с, и пусть моделирующая программа осуществляет разрешение по мере необходимости. В табл. 5.ЗЗ в качестве примера описана система, в которой четыре 8-разрядных драйвера с тремя состояниями (в четырех процессах) используются для выбора одной из четырех 8-разрядных шин а, В, с н г) для выдачи результата на шину х.
Напомним, что конструкция "(ог>)егз => 'с')" означает вектор, все элементы которого имеют значение 'Г, а длина определяется требованием согласования с левой частью оператора присваивания. Табл. 6.33. ЧНР~-программа с четырьмя 8-разрядными драйверами с тремя состояниями иагвху ХВЕЕ; овв 1ЕЕв.всв 1овсс 11бв.а11; вам»у чзвсасвх св рога ( С (х 1» ЗтО Ц>СХС; зеь: 1» зто ц)сус чвстов ы со го о>; 1, В, С, О: Гп Зтв ЬОСХС ИСТОВ (1 С В>; Х: о»С ЗтО ОЫж1С ЧЕСПЖ В Со В) ): впс Чэвсвсвх; С1»Ьа1 опор»с ваавзв )прас Хасс о, с,я.з -> а,в,с,о 1прпс Ьпвва Опор»с ьпа Магов-всасв) ЧЗ»СаСвх 1в оо" сьва х < то зсе)ьоессчвссог(1); 'Х'); "о)" сьв х < то зсаоьое)счвссог(в>; 'Х'); "1О« СЬ Х < тО ЗСВО) щССЧВССОГ(С>; 1>; "11" сьва х < то зсал.овссчвссог(о)) Х'); е«4 Чввоагвв; Язык )('Нсл.
достаточно гибок и им можно воспользоваться для определения других типов операций на шине. Можно было бы, например, определить подтип и функцию разрешения для выходов с открытым стоком, чтобы реализовать функцию «монтажное И». Однако эту возможность используют редко, поскольку вгсмсвсспгв чзасасвв ос Ьвксп ргосввв (С 1., ЗЕЬ, 1) Ьвв)п М С 1 О апа ЗЕЬ»1ав Х < (осЬвгв > Впб 11; впб ргосввв; ргосвав (С 1., ЗЕЬ, В) Ь»В1» ГВ С 1 'О' а»4 ЗЕЬ »1»в Х «(»СЬвгв > впа М: ип) ргосввв; ргосввв (с 1, ЗЕЬ, с) Ьвзс» Маь-О и>СЗЕЬ »1»в Х < (осЬ»га > ваб >1; впб ргосвва; раас»в» (с Л., Звь, о) Ьвзсп 1 С Ь- О па ЗЕЬ- в1вв Х < (осьвгв > впб 1тн впб ргосввв; 5.6.Устройства отремясоотояииями 463 464 Глава б. Практическая разработка схем комбинационной логики определение необходимых типов выходов для ПЛУ схем РРОА и специализированных ИС, как правило, уже бывает сделано за вас в библиотеках, поставляемых производителями этих компонентов.
5.7. Мультиплексоры Мультиплексором (ти!г1р1ехег) называется цифровой переключатель, который осуществляет передачу на выход данных, поступающих от одного из и источников. На рис. 5.62(а) изображены входы и выходы и-входового Ь-разрядного мультиплексора. Имеются л источников Ь-разрядных данных и Ь-разрядный выход. У типичных, выпускаемых серийно мультиплексоров и = 1, 2, 4, 8 или 16, а Ь = 1, 2 или 4. Имеются з входов, с помощью которых выбирается один из л источников, поэтому з = (1ой п1. По сигналу на входе разрешения Е1Ч мультиплексор «выполняет свою работу»; когда Е1Ч = О, сигналы на всех выходах равны О. По-английски, для краткости, мультиплексор часто называют тих. На рис.
5.62(Ь) приведена схема переключения, являющаяся грубым эквивалентом мультиплексора Но, в отличие от механического переключателя, мультиплексор является однонаправленным устройством: информационные потоки направлены только от входов (расположенных слева) к выходам (расположенным справа). Для сигналов на выходе мультиплексора можно записать обычное логическое выражение: Символ суммирования означает здесь логическую сумму термов-произведений. Переменная ~У вЂ” это Ай выходной бит (1 ь 1~ Ь), а переменная 101 — ~'-й входной бит от/-го источника (О < г' ~ и — 1). Л~~ представляет собой минтерм ) который содержит з входных сигналов выбора.
Таким образом, когда на вход мультиплексора подан сигнал разрешения, а число на входах выбора равно/, сигнал на каждом выходе У принимает значение 1О1 соответствующего бита выбранного входа. Очевидно, что мультиплексоры являются полезными устройствами в любом приложении, где данные от многих источников должны быть переданы адресату. Распространенным является применение мультиплексора в компьютерах между регистрами процессора и его арифметическо-логическим устройством (АЛУ). Рассмотрим, например, 16-разрядный процессор, у которого каждая команда имеет 3-разрядное поле, определяющее один из восьми используемых регистров.
Сигналы с этого 3-разрядного поля поступают на входы выбора 8-входового 16-разрядного мультиплексора. Входы данных мультиплексора связаны с восьмью регистрами, а данные с его выходов поступают в АЛУ для выполнения команды, использующей выбранный регистр. 6.7. Мультиплексоры 466 (!з) тор ту чп»-т =~ ° 2У ао -т — — Г' (а) ыуиьтинаехеее раврешени выбе воеч -Р~ и источников данник выход данных ЗЕь ЕН Рис. 6.62. Структура мультиплексора; (а) входы и выходы, 1'з) функциональный эквивалент 5.7.1. Стандартные мультиплексоры а интегральном исполнении Возможности мультиплексоров, серийно выпускаемых в виде ИС средней степени интеграции, ограничены числом выводов у дешевых корпусов ИС. Часто используются мультиплексоры, размещенные в корпусах с 1б выводами.