Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 101
Текст из файла (страница 101)
Если месторасположения оператора ч О Ь <= пог у" беспоюит вас, то можно поместить его в юнце тела архитектуры, но программа немного более удобна для отладки в представленном виде, когда все преобразования активных уровней собраны вместе. Табл. 5.16 демонстрирует такой подход. Изменения не коснулись объявлений в разделе ептсту.
Однако в архитектуре т774х138 а для каждого из внешних выводов с низким активным уровнем определена версия сигнала с высоким активным уровнем, и переход от сигналов с высоким активным уровнем к сигналам с низким активным уровнем осуществляется явными операторами присваивания. Функция самого дешифратора определена с использованием только сигналов с высоким активным уровнем, что является, вероятно, самым большим достоинством этого подхода. Другой плюс состоит в том, что если требуется изменить активные внешние уровни, то это легю сделать путем исправлений лишь в определенных местах в программе, число которых невелию.
434 Глава и. Практическая разработка схем комбинационной попики Табл. 8.17. Иерархическое определение дешнфратора типа 74х138 с преобра- зованием активных уровней етсьсиесипте 774хгза с ог М74хгзв ге е1ада1 С2А, С28: БТО 10010; — а<саче-Ьсяв чететоп от 1дрисе е1епа1 т: Втп ыс1с тестОР (О со 7); — аосгче-ьтяь четесод от оисрисе с р аеас тзсовзес р с тсг, сг, сз: гп Бтв 10010; А: сд ВтО ЫСТС ТЕСТОВ 12 Аочдпо О); т: одс 870 ыстс тестов (О со 7) ); едс соародепс; Ьеатд 02А <- пот 024 тн Сга < доС 028 1; Т 1 < пос т; 01: тзсоаеес ротс еп1 774х138 о; — содчетс харисе — соичетс 1дрисе — сопчетс оисрдсе аар (01, С2А, 028, А, т); Табл.
5.18. Определение дешнфрвтора Зх8 с высокими активными уровнями сигналов в потоковом стиле згьта у ТЕБЕ; иее 1ЕЕЕ.ет 1оятс 1104.а11; еппгту УЗСовбес се ротС (01, 02, СЗ: гд БТО ЫС1С; А: гп Бтп 10010 ТЕСТОВ гг бочпто 0)г Т' оиа БТО„1.001с ТЕСТОВ 10 со 7) ); еда тзсоаеес; ах<пасе<сите тзсовсес а от чзсовсес ге агепа1 т е: БТО Ыатс ТЕСТОВ (О со 7); Ьев1д чгсЬ А ее1есс т е < "10000000" чвед "000", "01000000" чЬед "001", "00100000" чЬеп "010", "00010000" чЬеп "011", ч00001000" чаед "100", "00000100" чпеп "101", "00000010ч чЬед "110", "ООООООО1" чьеп "111". "00000000" чЬеп осьете; Т < Т е чЬеп (01 адс С2 епе СЗ) ' 1' е1ее "00000000" ', епс 73савбео а; С активными уровнями можно оперировать даже более систематическим образом.
Как показано в табл. 5.17, архитектуру Ч7 4 х1 3 8 можно организовать иерархически, используя компонент Ч 3 с о 8 <ге с, в котором фигурируют сигналы только с высокими активными уровнями; определение самого компонента в стиле потокового проектирования приведено в табл. 5.18. Еще раз: не требуется никаких изменений в определении объекта т77 4 х13 8 на верхнем уровне. Соотношение между объектами показано парис. 5.43. 5.4.Дешифраторы 435 абъект 974>1 за жь~ утепзв (а) Рис.
5 43. ЧН0(. объект т74х138. (а) верхний уровень; (Ь) внутренняя организация с архитектурой Ч74х138 с Еще один подход к конструированию дешифратора позволяет заменить архитектуру у3<о8с(ес а втабл. 538 архитектуройу3<о8<(ес Ь, представленной в табл. 5. ) 9. Вместо параллельных операторов используются процесс и последовательные операторы, в результате чего работа дешифратора оказывается заданной з поведенческом стиле. Однако внимательное сравнение этих двух вариантов показывает, что реально они отличаются только синтаксисом. Табл. 5.19.
Определение архитектуры дешифратора Зх8 в поведенческом стиле аг<Ь1еесеиге УЗГо86ес Ь оХ УЗГо8г(ес 1з в18аа1 У в: Зтр (.001С ТЕСТОВ (О Со 7); Ье81в ргосезв(А, 01, С2, СЗ, У в) Ьебза саве А 1в яЬев "000" "> Т в <= "10000000"; айва "001" => У в <= "01000000"; вЬеа "010" > У в < "00100000"; ейеп "011" => У з <= "00010000"; яЬеа "100" > Т в < "00001000"; яЬеп "101" > У в < "00000100"; знее "110" > У з < "00000010"1 еЬеа "111" => У в < "00000001"; вЬеп освегз > Ч з < "00000000"; еаа сазе; 11 И1 апа С2 апе СЗ)='1' СЬеа У < Т з; е1ве У <= "00000000"; еае 11; епа ргосевв; епе УЗЕо8г(ес Ь; 436 Глава б.
Практическая Разработка схем комбинационной логики СОГЛАСОВАНИЕ ИМЕН Имена портов объекта на рис. 5.43 изображены внутри соответствующего блока. Имена сигналов, поступающих к портам при использовании объекта, написаны у сигнальных линий. Обратите внимание, что имена сигналов могут, но не обязаны совпадать. ЧНОЬ-компилятор все сохраняет без изменений, сопоставляя с каждым именем область его действия. Ситуация полностью аналогична тому, как используются имена переменных и параметры в струкэурированных, процедурных языках программирования типа языка С.
Табл. 8.20. Истинно поведенческое определение архитектуры дешнфратора Зх8 агсЬзеесеите 73ео8бес с оХ 73еоббес зе Ьей1л ргосеяе (01, 02, 03, А) тагзав1е 1: 1ИТЕОЕК гавбе 0 Ео 7; Ье81а 7 < "00000000"; (01 аап 02 авб 03) '1' СЬев Хог 1 Ал 0 со 7 1оор з1 1=0087 1ЯТЕОЕК(А) ЕЬеп У(1) <" '1'; еап 1Х; евд 1оор; елц И; елд ргосеяв; ело 73зо84ес с; В качестве последнего примера в табл, 5.20 приведена архитектура дешнфратора Зх8, написанная в стиле, еще более близком к истинно поведенческому программированию. (напомним, что функция сОну 1нте0ее была определена в разделе 4.7д,) Из всех примеров этот — единственный, в котором функциональное поведение дешифратора описывается по существу без включения таблицы истинности в ЧНШ,-программу.
В этом отношении данный вариант более гибок, посколькуу его легко видоизменить для получения полного де шифратора любого размера. Но с другой стороны отсутствие таблицы истинности приводит к меньшей гибюсти, посюльку таблицу истинности легко заменить при разработке заказных дешифраторов, подобных дешифратору, представленному в табл. 5.Н.
*5.4.8. ДВЫ)ифРВТОРЫДЛЯ СЕМИСЕГЬ сь . е,д ИНД14КИТО(ОтэВ Посмотрите на свое запястье и вы, вероятно, увидите сениссгмеитлный индикатор (зегеляейтл елз ойр(ау) Индикатор таюго типа на светодиодах или жидких кристаллах применяется в часах, калькуляторах н измерительных приборах для отображения данных в десятичной системе. Цифра образуется в Результате свечения определенных линейных сегментов, полное число которых равно семи (рнс.
5 44(а)). Н Б ЯЗЧБЬ1ПЧ к (а) (Ь) Рис. 6.44. Семисегментный индикатор (а) обозначение сегментов; (Ь) десятичные цифры Рис. 6.46. Семисегментный дешифратор 74х49 (а) принципиальная схема с цоколевкой, (Ь) традиционное условное обозначение 438 Глава В. Практическая разработка схем комбинационной логики На входы семисегментного дешифратора («степ-зеетгп( ((гсо((ег) поступает 4-разрядный двоично-десятичный код, а на его выходах возникает «семисегментныйй код», графически представленный на рис. 5,44(Ь), На рис. 5.45 н в табл. 5.21 приведены принципиальная схема и таблица истинности семисегментного дешифратора 74к49.
Если не принимать во внимание странный (илн хитрый?) «запирающий вход» В) 1, то каждый выходной сигнал дешифратора 74х49, относящийся к соответствующему сегменту, является минимальным выражением вида «произведение сумм», значения которого при недесятичнь(х входных комбинациях «безразличны». Использование на каждом выходе структуры НЕ-ИЛИ-И может показаться немного странным, но, согласно обобщенной теореме Де Моргана, она эквивалентна вентилю И-ИЛИ-НЕ, который — при реализации его на основе КМО~- или ТТЛ-технологии — является довольно быстрой н компактной структурой. Табл.
5.21. Таблица истинности семисегментногодешифратсра 74х49 Входы В10 0 С В А а Ь с С е ! д 0 х х х В большинстве современных семисегментных индикаторов имеются встроенные дешифраторы, чтобы 4-разрядное двоично-десятичное слово можно было непосредственно подать на индикатор. Многие старые семисегментные дешифраторы, выполненные в виде отдельных микросхем и имеющие специальные выходы ! 0 0 0 О 1 0 О 0 1 1 0 0 1 0 1 0 0 1 ! ! 0 1 0 О 1 0 1 0 ! 1 0 1 1 0 ! 0 1 1 1 1 0 0 0 ! ! О 0 ! 1 1 0 1 0 1 1 О ! 1 ! 1 1 0 0 1 1 1 0 1 1 1 ! 1 0 ! 1 1 1 1 0 0 0 0 0 0 0 1 1 ! 1 1 1 0 0 ! 1 0 0 0 0 1 1 0 1 ! О 1 1 1 1 ! 0 0 1 0 1 1 0 0 ! 1 1 0 1 ! 0 1 ! 0 0 1 1 1 ! 1 ! ! 1 0 0 0 0 1 1 ! ! ! 1 1 ! 1 ! 0 0 1 ! 0 0 0 ! ! 0 1 О 0 ! 1 0 О 1 0 ! 0 0 0 1 1 ! 0 0 1 0 1 1 0 О 0 1 ! ! ! 0 0 0 0 0 0 О 6.4.Дашифриторег 439 для работы с высокими напряжениями или большими токами, хорошо подходят для подключения больших по размерам и потребляющих значительную мощность элементов отображения.
В табл. 5 22 приведена программа семисепиентиого дешифратора на языке АВЕЬ. Наборы использованы в определении рисунка цифр только ради наглядности. Табл. 5.22. Программа Семисегментного дешифратора типа 74х49 на языке АВЕЬ вове?е 274Х49Н сгс?е 'Затее-Зеявепе песочек 3. М№1сет?у, М?сто пее?Еп аевоптсев, ?пс.' ?74Х49Н аетгсе 'Р16?8'; " ?прес рзпв А, В, С, 0 В?„1. Оперев р?пв БЕСА, ЗЕСВе, БЕСС, БЕСО БЕСЕ, ЗЕСР, ЯЕСС р1п1,2, 3„4; реп 5; р?п 19, 18, 17, 16 1№суре 'сса ", р?п 15, 14, 13 1№суре 'ссп'; " пе?гп?васев 81 1В?„?г ис?т?м П),О.В,А)г Бес00т [ЯесА,Беса,Бесс,Бесо,Бесе,Бесу,Бесс)г еппат?опв 1) а ис? 3) а 0103 5) а 0105 7) а 0?07 9) а 01С9 11) а исв 13) а 0100 15) а 01СР ); (0?с?Т1М— (0101Т?М С0101Т1М (01С1Т18 (01С1Т1М (ИС1Т18 (01С1Т?М 00?01?1М Бессот - 8? а ( № № № № № № № (0?с?т?М (0?С1Т1М (0?01Т?М С01С1Т1М (0?С?Т?М Со?С?Т?М (010?Т18 (0101Т1М О) а 0?СО № 2) аис2№ 4) а 0104 № 6) а 01СВ № 8) а 0108 № 10) а 0?СА № 12) а 01сс № 14) а 01се № епа ?74Х49Н " ЗеЯвепс епсеазпЯ№ гст 01СО = [1,1,1,1,1,1,03; 01С1 [0,1,1,0,0,0,03; 01С2 [1,1,0,1,1,0,13; 0?03 [1,1,1,1,0,0,13; 01С4 = [0,1,1,0,0,1, 13; ис5 [1,0,1,1,0,1,13 г 01СВ [1„0,1,1,1,1,13; ИС7 [1,1,1,0.0,0,03 г исВ = й,?,1,1,1,1,13; 0109 [1,1,1,1,0,1,13) 01сА [1,1,1,0,1,1,13; 0108 [0,0,1,1,1.1,13; 01сс [1,0,0,1,1,1,03; исп - [о,'1,'1',1,'1,'о,'13 '; 01СЕ [1,0,0,1,1,1,13; исР Н,0,0,0,1,1,13; 41Я1С№ "0 1 "2 "3 "4 И " 6 'св11' 1пс?пееа 7 8 " 9 'Са11' ?пс?пава "А с Ь "С Ф 6 "Е 440 Глава б.
Практическая разработка схем комбинационной логики 5.5. Шифраторы Как правило, код на выходе дещифратора имеет большее число разрядов, чем код иа его входе. Если код на выходе устройства имеет меньшее число разрядов, чем код на входе, то зто устройство обычно называют шифратораи (елсосег). Рассмотрим, например, устройство с восьмью двоичными входными сигналами, представляющими целое число без знака, и двумя выходами, где единичные сигналы означают, что поданное на вход число является простым или делится на 7. Такое устройство можно было бы называть шифратором, обнаруживающим простые числа и приносящим удачу. Вероятно, простейшим с точки зрения построения является двоичны йшифраеор (Ь(лагу елсосе«) или шифратор 2" х и.