Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 66
Текст из файла (страница 66)
1од?с чессот(2 до«псе О); вЬЬшвтс оис вгд 1од?с частот(2 дснппо О); в?вид«гас сап всд )од?с чессот((Н РАТА-1) дояппо О); ссА?ппаят:1п патита1 тапсе 1 По Итс ссрЬпав?п 1п паппта1 гапде 1 По ??и; ссЯ1аче: 1п патита1 гапде 1 По Нв епд «пг1пу с пвхя? атоМпесяоте тп1 ой с пп1хв 1« Ьед1п р и( асИт соптт: ргосевв («Ьаддг, паппт?те, спЬСгапв, «Ьв?ге, нЬ?мгвт, ссАдпавг) Ьед1п яЬасЫт<=«Ьаддг (ссАдпаяг) я1ит?те<=еЬс<г?ге (ссАдпавт) вЬгтапв<=спЬсгапя ( ссыпает ) вЬя?ге<=пЬв1ге(ссАдпавг) яЬЬшвт<=тпЬЬсгвг(ссА(ппаяс) епд ргосевв р )и асЫт сопят? ра дага: Я«осе«в (пйюдага,ссШлавг] Ьед1п вЬяс?аса<=тп?я<дага (ссШпавт) епд ргосевв р )и с?ага; р в1апе: ргосевв (вЬтеаду, вЬтеяр, вЬтдаса, ссЯ1аче) Ьед1п пЬтеаду<=вЬтеаду(ссЯ1аче) «Ьтевр<=вЬтевр ( с сЯ1аче ) Праягика применения МНОЬ вввс)аса< =вьвдаса ( ссв1ачв) епа рассввв р в1аче:; впа авсЬХЕвсвсав вс1; Рассмотрим описание поведения Мультиплексора, включающее в себя три процесса, каждый из которых соответствует одной из групп мультиплексоров.
Процесс р п апс)в сопев соответствует группе мультиплексоров, формируюших выходные сигналы от ведуших устройств на линии адреса и управления. Сигнал сслппавс определяет номер ведущего устройства, которое в данный момент времени является собственником этих линий. Совокупности сигналов от ведущих устройств сгруппированы в массивы. На выходы подаются значения элементов массивов, номера которых соответствуют номеру сслппаве ведушего устройства, выбранного Арбитром для доступа к линиям адреса и управления шины АНВ.
Процесс р т ааеа соответствует группе мультиплексоров, формирующих выходные сигналы от ведуших устройств на линии данных. Сигнал сср1таве определяет номер ведущего устройства, получившего доступ к линиям данных шины АНВ. Процесс р в1ачв соответствует группе мультиплексоров, мультиплексирую- ШИХ ВЫХОДНЫЕ СИГНаЛЫ От ВЕДОМЫХ УетРОйета. СИГНаЛ сся1ачв ОПРЕДЕЛЯЕТ номер ведомого устройства, значения выходных линий которого подаются Мультиплексором на соответствуюшие линии шины АНВ.
Описание Мультиплексора можно выполнить и по-другому: вместо каждого из трех процессов можно использовать отдельный компонент. Это не повлияет на поведение модели и результат синтеза. Узел Арбитр Рассмотрим интерфейс узла Арбитр. К этому блоку поступают сигналы наклнтк и ньоскв от всех ведущих устройств системы. Эти сигналы могут быть сгруппированы в массивы, размер которых определяется константой яп. Компонент Арбитра формирует сигнал навлнтх для каждого ведушего устройства, группа этих сигналов так же может быть объединена в массив.
Арбитр формирует значение сигнала нввьх для всех ведомых устройств; эта группа сигналов может быть объединена в массив, размер которого определяется константой ыв. Арбитр формирует значения управляющих сигналов для узла Мультиплексор. Блок Арбитра формирует значения сигналов нилвтьоск и ннлвтка. Для того чтобы арбитр мог отслеживать ход выполнения запросов, он должен отслеживать значения сигналов адреса и управления от ведущего устройства, которое в данный момент использует линии адреса и управления, т. е. сигналы адреса и управления с соответствующих выходов узла Мультиплексор.
Арбитр должен отслеживать значения сигналов подтверждения от ведомого устройства, Звг Глава 5 которое участвует в текущем обмене, т. е. сигналы подтверждения с соответствующих выходов блока мультиплексирования. Отслеживание значений этих сигналов необходимо для определения моментов завершения выполнения транзакций. Для контроля выполнения расщепленных транзакций Арбитр должен отслеживать также значение сигнала нввыт. Рассмотрим структуру узла Арбитр (рис.
5.26). Блок определения конца запроса указывает моменты времени, в которые должны быть зафиксированы номера (идентификаторы) ведущих и ведомых устройств, которые будут владеть шиной. Он формирует два выходных сигнала — ве1оеьпввс и допеипавс. Если сигнал ве1пемкавс установлен в 'т', это указывает, что должен быть зафиксирован номер ведущего устройства, которое будет являться собственником линий адреса и управления. Установка в т сигнала допеъчвввс указывает, что должен быть зафиксирован номер ведущего устройства, которое будет владеть линиями данных, и номер ведомого устройства, которое будет владеть линиями данных и подтверждения от ведомого устройства.
Если выполняется пакетный запрос неопределенной длины, то его конец определяется по сбросу сигнала запроса шины от ведущего устройства, владеющего линиями адреса и управления. Пусть вк — сигнал запроса шины от ведугдего устройства, владеющего линиями адреса и данных. Он поступает к блоку определения конца запроса от блока определения ведущего устройства. Блок определения ведущего устройства формирует сигналы наклнт для ведущих устройств, значения сигналов нмлвтьоск и нмлаткк, а также сигналы ловаве и гхпавс, предназначенные для управления группами мультиплексоров, определяющих значения выходов ведущих устройств на общую шину и сигнал вк.
В ходе своего функционирования этот блок анализирует значения сигналов нвовкка, ньоск от ведущих устройств и значение сигнала ммлск от блока контроля расщепленных транзакций. На основе значений этих сигналов блок определения ведущего устройства определяет ведущие устройства, которые являются собственниками линий адреса, управления и данных. В соответствии со значениями сигналов ветпеикввс и доое абаз~ определяются моменты времени, в которые происходит зашелкивание номеров ведущих устройств — собственников шин. Блок определения активного ведомого устройства формирует сигналы нзкь дЛя ВСЕХ ВЕДОМЫХ уСтрОйетВ, а таКжЕ СИГНаЛ сазаке, ПрЕдНаЗНаЧЕННЫй дЛя управления группой мультиплексоров, определяющих значения выходов ведомых устройств на обгцую шину.
В ходе функционирования этих сигналов он анализирует значение, выставленное на шину адреса, в соответствии с чем блок определяет ведомое устройство, к которому обращается ведущее устройство, владеющее линиями адреса и управления. По значению сигнала дспеъз аве, поступающему от блока определения конца запроса, определяются моменты времени, в которые происходит зашелкивание номера ведомого устройства — собственника шины.
Практика применения ГГНск. АВН Ьпв вув1егп с гпивв иммгепв 1 ивы и гпыгапв вмгапв ипгкз!Ве 1 ивпвае гппзые впалое вПЬОги игпПЬОГ51П изПЬОгв! ГППЬОГ51 ипгкип!е 1 ивкип!е Паббг ипгкип1е гп пгсигае всигпе зкаббг пк бб 1 пгПаббг О!Пиеа!в игпк ОВГВ1 ВПибага зсгевб игпПгеаб изсгеаб пг иПгеабу па\гав!\ ивПгев 1 ИП\ПГВВ ивПп1а!а 1 И иисгба!а имба!а сс гззв с аппо!е агЬ ип\П Гвп! 11 ипгп гап гп г 1 ипйгЬОВГВ Гп игпк!Осз 1 ипзмссз и! НАООЯ НЗЕЕв изаве! и И Г с епб ввгпзипав! Оопвззпве ЯЕ5ЕТП бв НЯЕАОУ НЯЕ5Р НВОЯЗТ НВО5йЕ с вр!г! НЯЕЗР Опгвз! ммвсв йЕЗЕТП са Н5РЦТ исврм Рис. 5.26.
Структура Арбитра Блок контроля расщепленных транзакций определяет моменты времени начала я завершения расщепленных транзакций. Он формирует сигнал и!пас!с, опреде- всгеабу зкгевр вкгба!а ссАО аз! ссо!пгвв! с агЬ Амезвг ОС1езв! НВОВЯЕОМ НОЯАМТе НМА5ТЕ нсоскпг НМАЗТ!.ОС ЯЕЗЕТП Вй Сок аз! с ве сз!взз ЯЕЗЕТп са вопзипгвз! Глава 5 ляюший номера ведущих устройств, которые участвуют в незавершенныл расщепленных транзакциях. В ходе функционирования, этот блок анализирует значения сигналов глллле от блока определения следующего ведущего устройства, а также нккэк — от ведомого устройства, владеющего шинами данных и подтверждения.
На основе этих сигналов он определяет моменты начала расщепленных транзакций и ведущие устройства, участвующие в зтлх транзакциях. По сигналу нэкьтт блок контроля расщепленных транзакций определяет моменты завершения расщепленных транзакций. Узел Арбитр опишем на ЧН01. структурно, как совокупность компонентов, сопоставляемым перечисленным блокам. Компонент определения конца запроса Рассмотрим функционирование блока определения конца запроса.
Этот блок должен определить момент времени, в который линии адреса и управления переходят к другому собственнику (это последняя фаза адреса текущего запроса), а также момент времени, в который линии данных переходят к другому собственнику (это последняя фаза данных текущего запроса). Последняя фаза данных текущего запроса начинается в следующем такте, после завершения последней фазы адреса текущего запроса. В последнем такте фазы данных ведомое устройство устанавливает нкклпт='1'.
Таким образом, после обнаружения момента завершения последней фазы адреса очередного запроса, этот блок, при обнаружении нкклот= 1, определяет момент завершения последней фазы данных очередного запроса. Рассмотрим теперь, как определяется последняя фаза адреса текущего запроса. Блок определения конца запроса анализирует значение на шине нвцкэт. В соответствии с этим, он определяет, выполняется ли в данный момент фаза адреса одиночного запроса, пакетного запроса неопределенной длины или пакетного запроса фиксированной длины.