Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 174
Текст из файла (страница 174)
Некоторые компиляторы языка АВЕЬ позваяяют предотвратить исключение консенсусных термов путем помещения ключевако слова гет ах и в список свойств объявления хзтуре для любого вьиадюнасиггмка:, мпарыйне следуетминимизировать (свойслма кеса хп, .ге сахар«оре«1у). В свучва» если ваш компилятор не допускает такам мэлвязжвастзк та все, что вы можете сделать, — это запретить минимизацию вовсем цроевте. Наиболее раклрастранениым, по-видимому, применением звпшлав„реал изованных в ПЛУ, является одмавремениаа декодирование и запоминание адресов при выборе ячейки памяти или одного неустройств вюда вывода в микропроцессорной системе. На рис. 8.
И ггриведены временные диаграммы, относящиеся к выполнению этой функвли в типичной системе, Микрапроцессор выбирает устРойство и место внутри этого устройства, выставляв адрес нас всей адресной шине АВ08 и выдавая сигнал АЧАО 0 в знак того, что адрес уе ванаопаи ва шине адреса. Спустя небольпюе время он выдает сигнал чтения ЙБКП 1„и выбранное Устройство откликается на него панки!синем данных на шину 0808.
Обратите внимание, что адрес не остается на шине АВ()8 в течение всей процедуры. Согласно протоколу, по которому действует микрапранвека)з, он предполагает, что адрес запоминается па ситнику АЧАЫ8г„играющему рань елки ада разре'пення, а затем деиэдируетея, как это показано нарна. 8. 85. Дешифратор выбирает то или иное устройство па значениям битов в старпшх разрядах адреса (по 12 старшим разрядам в нашем пвммере), вырабатываа сигнал разрешения или сиг"ал «выбора кристаллав Младшие разряды алресвукааываигтапределенное место (блок или ячейку) в выбранном устройстве. 786 Глава 8. Практическая разработка схем последовательной логики АВттз А00нт А0062 АЧАЫ0 НЕА0 1.
ПаМСВ К 0ВВВ нз ПВУ Рис. 8.14. Временные диаграммы для процедуры чтения в микропроцес- сорной системе ко входам «выбор крнсталяа» отдельных тстройств АВ081зт.о) к адзесным входэм устое гота АЧАН0 — ч. Рис. 8.15. Схема, запоминающая и декодирующая адрес, выставляемый мик- ропроцессором ко входам «выбор крнстаяла» отдельных зщойств АВЩЗ1:201 АВт)8~1 9 01 адресным входам тсогств АУА110 Рис. 8.16.
Применение схемы, в которой фиксация и декодирование адре- са совмещены При реализации в ПЛУ можно совместить функции запоминания и декодирования старших битов в одном устройстве согласно блок-схеме, приведенной нв рис. 8.16. «дешифратор с зашелкнваннем» позволяет сократить необходимое число микросхем н выводов по сравнению со схемой на рнс. 8.15 н быстрее выдать полноценный сигнал на выходе выбора кристалла (см, упражнение 8.9). 8.2. Защелки и триггеры 787 ПОЧЕМУ ИМЕННО ЗАЩЕЛКА? При рассмотрении указанного на рис.
8.14 протокола обмена сигналами по шинам микропроцессора возникает ряд вопросов: Почему адрес не удерживается на шине АВ08 на протяжении всей процедуры? В реальной системе, функционирующей согласно этому протоколу, шины АВ08 и 08(!8 бывают совмещены посредством мультиплексирования в одной шине с тремя состояниями, благодаря чему экономится число выводов и сигнальных линий.
° Почему сигнал АЧА!.!О не используется в качестве тактового сигнала для фиксации адреса в регистре, переключающегися по положительному фронту? Отсутствует достаточное время для установления; в реальной системе сигналы на адресной шине только-только устанавливаются к моменту, задаваемому нарастающим фронтом сигнала АЧА(.!О, или даже чуть-чуть позднее. ° Ну, ладно; тогда почему сигнал АБАЕ!О нельзя использовать в качестве тактового сигнала для регистра, переключающегося по отрицательному фронту? Так можно поступить, но сигналами с выходов защелки можно воспользоваться быстрее; установившиеся значения сигналов на шине АВ08 проходят на выход защелки непосредственно, для этого не нужно ждать спадающего фронта тактового сигнала, Благодаря этому можно ослабить требования, предъявляемые к времени доступа элементов памяти и других устройств, на которые подаются сигналы с выходов защелки.
В табл. 8.2 представлена программа на языке АВЕЬ для дешифратора с защелкиванием. Поскольку устройству доступны только старшие разряды адресной шины АВ 0 В ! 3 1 .. 2 0), результатом декодирования может быть лишь обращение к одному из участков памяти объемом 1 Мбайт или больше (2за = 1 М). Постоянному запоминающему устройству (ПЗУ, КОМ) отводится 1-мегабайтовый участок памяти с самыми старшими адресами Охг т г000 0 0-Охй11 й 1йй Г, в этот участок выбирается сигналом ВОмСВ. Три 16-мегабайтовых блока оперативной памяти (ОЗУ, КАМ) размещены на младших адресах, начиная с 0х00000000, Ох01000000 и Ох02000000 соответственно. Обратите внимавие на то, что в определении адресного пространства ОЗУ используются безразличные значения, поскольку речь идет об обращении к участку памяти объемом больше ! Мбайт.
Возможны и другие способы таких определений (см, упражнение 8,1) Равенства в табл. 8,2 для сигналов квыбор кристаллал составлены по образцу, "Риведенному в начале этого раздела. Каждое из выражений типа?АВОВ==ВОН", "осредством которых выбирается устройство, порождает один терм-произведение, и каждое равенство дает три терма-произведения. Заметьте, что в объявлении выводов указано свойство гесазп, чтобы предотвратить исключение компиля~~ром консенсусных термов в процессе оптимизации.
Видя, как легко образовать в комбинационном ПЛУ 88- и 0-защелки, вы, возможно, испытываете соблазн пойти дальше и попытаться создать переключающийся по фронту 0-триггер. В принципе, это возможно, но будет дооого стон 788 Глава 8. Практическая разработка схем последовательной логики у переключающегося по фронту триггера имеется четыре внутренних состояния и, следовательно, две петли обратной связи, для которых необходимы лва выхо да ПЛУ. Кроме того, значения времени установления, времени удержания и за держек распространения у такого триггера будут совсем плохими по сравнению со значениями тех же величин у готовых триггеров, изготовленных по той же технологии.
Наконец, как следует из нашего рассмотрения в разделе 7.10.6, таб лицы потока всех триггеров, псреключающихся по фронту, содержат существен ные источники опасности, которые могут быть скрыты только путем регул ирова иия задержек сигналов на пути их следования, что трудно реализовать в конструкции, собираемой на основе ПЛУ. табл. 8.2. программа на языке АВеС дпя дешифратора адреса с защелкива- иием вссвхе 1втсЬсес 11с1е '(атсп1вб М1сгоргосеавог Ассгеаа Оесссег' 1прчсв АЧАЫО, АВОЯ31..АВОЯ20 " 1аесдес ало сесодес оиерпяв ВОВСЯ, НАМСЯО, НАМС81, НАМСЯ2 р1в 1атуре 'сов,гееа1п'; АВОЯ (АВБ831 .АВОЯ20); НОМ = "ЬЧЕН; НАМВАИКО 10,0,0,0,0,0,0,0,.Х , Х , Х , Х.); НАМВАВК1 = (0.0,0,0,0,0,0,1,.Х , Х , Х , Х.); НАМВАИК2 = (0,0,0,0,0,0,1,0,.Х, Х, Х, Х Л; еоиас1спа НОМСЯ = АЧАЫР А (АВОЯ= НОМ) Э !АЧАЫО А НОМСЯ (АВОЯ==КОМ) А НОМСЯ; ВАмся0 = АчАып Ф (АВОВ==ВАНВАик0) а !АчАыО а ВАмс80 В (АВОЯ==НАМВАМКО) А НАМСЯО; НАИСЯ1 = АЧАЫО А (АВОЯ==НАМВАМК1) В !АЧАВ10 А НАМС81 а (АВОя==нАмВАик1) Ф ВАмся1; НАМСЯ2 = АЧАЫО А (АВОВ -"НАМВАИК2) Ф !АЧАЫО А НАМСЯ2 а (АВОЯ==ВАМВАВК2) А ВАМС82; епс 1аесссес 8.2.7.
Описание регистров и защелок на языке ЧНОЬ Схемы регистра и защелки можно задать на языке Н Н РЬ структурно. Например в табл. 3.3 представлена структурная ЧНР(.-программа, соответствующая схеме 0-защелки, приведенной парис. 7.12. Но написание структурных программ едва ли может служить мотивацией использования языка ЧНР(.; наша цель заключается в написании поведенческих программ, которые позволяют моделирова~~ работу схем на более интуитивном уровне 8.2.
Защелки и триггеры 789 Табл. 8.3. СтРУктУРнаЯ ЧН0Ь-пРогаамма длЯ 0-вешалки, пРиведенной на Рис. 7.12 1гЬге*т 1ВСК! Твсх.еы 1ся!с !!ЯВ,«11; пс!ст 241пссь ге !О, С. 'и ЯТО ьсацн Ц, ая; Ьптеег ЯТО ЬОО1С;; со« Уазепсь! «ГСЩЫССПГЕ УЩЕССЬ Е ОГ Яаьегоь Гп и!епа! Оя, ЯК, Кя: ЯТО 'ОС1С с„пр попс !пг Рога !1: !г. ЯТО СОС1С! О; осе ЯТО !.ОО!С ); епа сопРопещ; совр«попс поп«2ь рог. !10. 11: гп вта ьащс; О: ысггег ятз ьаг!Тс П оса сспропеос; ЬеягсО! по оогс ппо ОО ОЗ): О2: ппп«2Ь р-.о Оер Щ,С,ЯЯ)! ОЗ.
поп«ОЬ ро г пар !С,ЗЧ,ВК); О .. ; «2ь рого пег. гяя,пв,а); Оьс сеп«2Ь рога пер (О,жс,ЦЯ); ощ то!«ось е; В табл.8.4 помещена основанная на использовании процесса поведенческая ЧН01,- архитектура для 0-защелки, в которой для описания поведения защелки понадобилась всего лищь одна строка текста Обратите внимание: ЧНЕИ:компилятор из этого описания «делает вывод» о том, что речь идет о защелке; действительно, в зтом описании ничего не говорится о том, что надо делать, если С не равно 1, и поэточу компилятор создает лредласагаемую зсачепку Щеггес1!агс))), которая сохраняет значение 0 да очередного возобновления процесса. ЧН01:компилятор всегда сслдает защелку ддя си~нала, которому присваивается значение в операторе ! 8 или в операторе са зе, если перечислены не все возможные комбинации входных сигналов.
Табл. 8.4. Поведенческая ЧН01.-структура для 0-защелки пгсьзьвсьптв у41аесь ь ах у61аьсь 1я Ьвкьп ргссвве1с, ц, Ц) Ьвб)а 1Х 1Се'!') ЬЬЕП Я < П! ВПС! 11! 9)! <= псе Ц) ОЫ ргссевв; впа У41аьсЬ Ь; ТИП Ьззййег И ДРУГИЕ ВОЗМОЖНОСТИ Заметьте, что в табл. 8.3 0 и 08 определены как сигналы типа Ьаббег, а не аць, поскольку в определении архитектуры они используются как входы и ьак выходы. Но тогда мы должны ввести специальный 2-входовой вентиль ЫАЫЗ "аас)2Ь с выходным сигналом типа Ьц 8 йег, чтобы избежать несогласован"асти типов (сцс и Ьиб бег) при обращении к компонентам !)4 и 05. Впрочем, можно было воспользоваться внутренними сигналами, чтобы обойти эту проблему, как эта сделано в табл.
8.5. Как вы теперь уже знаете, в языке ЧН01 олни и те же вещи можно выразить многими различными способами. 790 Глава 8. Практическая разработка схем последовательной логики Табл. 8.5. Альтернативный вариант структурной УНРЬ-программы для Р-эа щелки, приведенной на рис. 7.12 1гьг» у ТЕЕЕ; се» ТЕЕЕ.»М„), язс 1)вжаи.; еас1<у тацассь 1» рагс (В, С: 1а ЯТВ Е001С; 0, ая: оас Ята Ьасзс ); »ас та1»С<Ь; агсьасессаг» уе1ассь »2 ог татассь 1» еакаа1 ПК, ЯЯ.