Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 67
Текст из файла (страница 67)
Если выполняется одиночный запрос, то его первая фаза данных является и последней. Последний такт фазы адреса определяется так же, как и последний такт фазы данных, по нкклпт= 1 . Если выполняется пакетный запрос неопределенной длины, то на начало последней фазы адреса указывает сигнал сброса запроса шины от ведущего устройства, которое в данный момент использует линии адреса и управления (сигнал нвпэккц). Вообще говоря, это несколько упрощенная схема,: здесь не учитывается возможность того, что ведущее устройство может вы- ,' полнить несколько запросов подряд. В этом случае, в последней фазе запроса неопределенной длины, ведущее устройство не сбрасывает сигнал:, запроса шины. При данной схеме определения конца запроса неопределенной длины, конец запроса в этой ситуации не будет обнаружен, и шина останется в собственности прежнего ведущего устройства. Это может ие соответствовать выбранной схеме арбитража, если по завершении очередно- 366 Праитикв применения МН01 го запроса шина должна быть предоставлена ведущему устройству, имеюшему наивысший приоритет среди ведуших устройств, запросивших шину.
Для того чтобы точно определить конец запроса, необходимо еше отслеживать значение нтвлия. Нтвия=иоияед указывает на то, что адрес очередного обмена не связан с адресом предыдущего обмена, т. е. начинается новый запрос. Если выполняется пакетный запрос фиксированной длины, то в блоке определения конца запроса просто выполняется подсчет количества выполненных обменов, на основе которого и отслеживается конец запроса. В соответствии с этим, конечный автомат блока определения конца запроса может иметь два состояния: ве1 — выполняется первая адресная фаза очередного запроса и всп — выполняется не первая адресная фаза пакетного запроса.
Описание блока определения конца запроса приведено в листинге 5.18. 11ьваху 1ЕЕЕ~ ива 1ЕЕЕ.всз 1одьс 1164.а11; вве 1еее.вМ 1одьс атьеп.а11; вве 1ЕЕЕ.ве. 1одьс сввьдпед.а11; вве АИВА..АНВ р.АИВА АНВ р.а11; евезеу с епс) 1в ровс (ВЕЕЕТп: 1л вМ 1одьс; с1Х: 1а вЫ 1одьс; НЕЕАОт: Ы всс) 1одьс; НВОЕЯт: за вес) 1одас еессо~(1 аовасо О); НавяР: 1а ве4 1одьс еессог(1 4(овпсо 0); НвцяЕЕ(): за вес). 1одьс ве1пеипавс: оие вес) 1одьс; допеапавс: оив вес) 1одьс ) ево епезеу с епс); атсьасесьииа ге1 ов с егх) 1в суре с епд веасе 1в (ве1,вел); в14а~а1 с всасе, с оехьвсаее: с епс) всаее; в1даа1 соипЕЫтвс: саесха1 ваада 0 Ео 15; Ьедза р веаее: рвосевв (ЕЕявтть, с1К, НЕЕАОУ) Глава 5 зве ЬадЕп 1Е НЕЯЕТП='0' ФЬеп с всасе<=яг1 е1ва ЕЕ гЕЯЕпд ейде(с1)п) гпеп 1Е НКЕА()У='1' СЬеп с ясасе<=с пехгвсагеп апй (Е; епй ЕЕп епй ЕЕ; епй ргооевв р ясаге; р соипГЬигвгп ргооевв (НЕЯЕТп, ННЕАВТ, с1Н, НВ(ЖЯТ) Ьед1п 1Е ВЕяЕТп='0' ФЬеп соипгЬигвс<=0; е1ве 1Е г1я1пд ейде(с1Ю с)пап 1Е ВРЕМ)У= ' 1 ' СЬеп 1Е с ясасе=яс1 ФЬап саве НВ(ЖЯТ 1в мьеп нВ(жят )(РАР4~нВ(жят 1мск4 => соипгьигвг<=2( впап НВ(ЖЯТ ХРАРБ)НВ(ЖЯТ 1ИСНБ => соипГЬигвг<=6~ мпеп НВтЖЯТ МНАР1б)НВ(ЖЯТ 1ИСН1б => соипгЬигвс<=12; апеп оСЬагв => соипгЬигвг<=О; ЕЕ соипГЬигяс>0 ГЬап соипГЬигвп<=соипГЬигяг-1п апй ЕЕ( епй 1Е; епй ЕЕп апй 1Е( апй ргооавв р соипгьигвг; р оиг: ргооевв (с пехгвсаге,с1)<,нНеА1)у,нжжБт,соипсЬигвс,нВОБнея) Ведра ЕЕ НЕРАВЕН='0' ФЬеп яе1пеиппаяг<='0'; допевппаяг<='0'и а1ве 1Е НИЖЯТ=НВОНЯТ 81ИСБЕ ВЬеп яе1пепппавс<='1'; допепппавг<='1'; с пехсвгаге<=вг1п а1ва 1Е ВВОнят=нВОЕБт 1нск сьеп 1Е НВОЯНЕО='1' СЬеп ве1пепппавс<='0'; допепппаяс<='1'; с пехсягаге<=вся; а1ва ве1пепппавг<='1'и допепапаяг<='1' Практика применения Ун!Х Зб7 с вехсяяаее<=яе1р е1ве 1х соппСЬптяс>0 Епеп яе1пеипаяе<='О' ясса<етая е<= ' 1 '; с пехея саяе<=яяп; е1ве яе1пеьапаяе<='1'; допеипаяе<='1' с пехеяеаее<=яе1; еп<т 1ху епе рхосевв р оис; епй ахсп1ееоепхе пе1; Рассмотрим функционирование этого блока.
Внутри архитектурного описания блока описан тип с епс ясаее, определяющий множество состояний автомата. Сигналы с ясасе и с пехсясаее используются для хранения текущего и следующего состояния автомата. Сигнал соопсьптяе используется для подсчета количества уже выполненных обращений в рамках пакета. В процессе р ясасе реализуется переход из состояния в состояние. При активном значении сигнала сброса, автомат устанавливается в начальное со- СТОЯНИЕ яс1.
Процесс р соппсьитяс используется для подсчета количества обменов данных, выполненных в рамках обработки пакета определенной длины. В нем определяется значение сигнала соппсь яс. При активном значении сигнала сброса значение этого сигнала устанавливается в о'. Далее, в конце первой адресной фазы каждого запроса, проверяется, является ли этот запрос запросом определенной длины. Если это так, то сигналу со псьптяе присваивается значение, на 2 меньшее, чем количество слов данных, обрабатываемых в рамках запроса.
В конце очередной адресной фазы каждого запроса проверяется значение этого сигнала: если оно больше О, то из него вычитается 1. Например, если размер запроса — 4 слова, то в конце первой адресной фазы значение соппсьптяе будет установлено в 2, в конце второй — 1, в конце третьей — О. Четвертая адресная фаза является последней, и значение соппсЬпхяе=о укажет на это. Процесс р опе используется для определения значений выходных сигналов и следующего состояния.
Если ведомое устройство, участвующее в обмене, установило сигнал нявлрт= о, то выходные сигналы яетпем аяе и допеиааяс установлены в неактивное значение 'О', поскольку текущий обмен будет продолжен в следующем такте. Если же нввхпт= '1, в следующем такте будет выполняться новый обмен данными. Если текущей является адресная фаза одиночного обмена или последняя адресная фаза пакетного обмена, то Глава 5 уетаНаВЛИВаЕтСя СИГНаЛ ве1пеепавт= 1 . Этс уКаЗЫВаЕт На тО, Чтс В СЛЕ- дуюшем такте линии адреса и управления могут быть переданы другому ведушему устройству; следуюшее состояние будет вт1, состояние начала выполнения запроса.
Если же выполняется не последняя адресная фаза пакетного запроса, то линии адреса и управления не могут поменять собственника — устанавливается ве1пеъ авт='о' и следующее состояние втп. Во ВСЕХ ЭТИХ СЛуЧаяХ, СИГНаЛ допеепзаве уСтаНОВЛЕН В '1', ЧтО уКаЗЫВаЕт На тс, что в начале следуюшего обмена линии данных должны быть предоставлены тому ведушему устройству, которое в предыдушем обмене являлось собственником линий адреса и управления. Компонент выбора ведущего устройства Организация блока выбора ведущего устройства зависит от используемой в системе схемы приоритетов.
Рассмотрим для блока выбора ведущего устройства простейший вариант, при котором ведушие устройства имеют абсолютные приоритеты, определяюшиеся их идентификаторами. Ведущее устройство с идентификатором 1 имеет наивысший приоритет и является ведущим устройством по умолчанию. Описание компонента выбора ведушего устройства приведено в листинге 5.19. 11ьтапу 1ЕЕЕ; пве 1ЕЕЕ.вЫ 1одзс 1164.а11; пве 1ЕЕЕ.вп.
1одзс атгть.а11з пва 1ЕЕЕ.вМ 1одзс ипвздпес).а11з пва АИВА. АНВ ратапететв.АИВА,АНВ ратапететв.а11з апису с атЬ ьв ропп (ЕЕЯЕтпз 1п вес) 1одз.сз с1)сз 1п вес) 1одз.с; НЕЕАРтз Еп вес) 1од1сз ве1пеъпавгп ьп вес). 1одзсз допечпзавпз ьп впс3 1одзс; НВПБЕЕОзп: 1п втб 1одзс честот(1 По Изп) з НЬОСКзпз 1п впс) 1одзс частот(1 Ео Изп) з ИИас)сз 1п вес) 1одзс честот(0 Ео 15)з НОЕАНтп: опп вт . 1одзс зеспот(1 Ео )ап)з Ацпзавт: 1попе паппта1 взпде 1 Ео Ипц ВсПпавт: оеп гзаппта1 тапда 1 Ео Мпз НИАЕтЬССКз овп вес) 1одьс; 369 Практика применения МНШ НМАЯТЕЕ з осе яяп) 1сдзс зтесяог(3 пйоипго О) 3 опс впп).
1одйс ппй епс1ау с агЬз пгсЬйеесеоге гя1 оЕ с агЬ йв вйдпай яазпаяяз паяпга1 гапде 1 Ьо 1бз п1(вза1 1пс1ос)сз ясп) 1сд1ст вйдпай яаизв: папсга1 гапде 1 Ьо Не; Ьедйп р ве1яавяз рхосевв (НВОБНЕЗя, ММас)<) тагйаЬ1е ааавсз пасога1 гзпде 1 Ьо 163 Ьед1п ппая с з = 0 3 йсг 3. 1зз Ме зйсззпсо 1 1сор Хй НВВБЕЕОзп(1)='1' апзй ММас)<(1-1)='0' Ьмеп впаяя:=13 еп6 йг; пай 1оор; ьй впаяя/=0 ььеп вапавс<=апавсз айве Еог з. 1п Мт Яаипсо 1 1оор йг ммас)п(1-1) ='0' ьмеп валаяс<=1; епзй йй; епзй 1оорз азй ййз 9 два в с< = алая с; ппй ргосевв р яе3лавсз р 1осжзпаяс з ргосевв (РеБетп, с1)<, нееА(зу, допеыпавь, яацт) Ьедйп 11 НЕБЕТп='О' ЬЬеп ~Ы3лаяя<=2з е1ве Ьй гйвйпд ейде(с1)з) ЬЬеп 11 ННЕАОУ= ' 1 ' Ь)зеп йг допеапавя='1' ФЬеп Вптйзпавп<=паста; етзб ййз епй ййз епй 113 евй ргосевв р 1осИзпаясз р 1ос)спаяв: ргосевв (ЕЕБЕТп, с1)<, ННЕА)зу, допепеавя, ве1пеипавя, валавя) Глава 5 Ьедлп 5.Е НЕЯЕТп='0' Е)зеп Ацпавп<=1; яапа<=1) НМАЯТЬОСК<=' 0 ' )НМАЯТЕН<=" 0001" з е1ве ЕЕ пзвзпд вз)де(с1К) ЕЬеп 1е наел)ж= ' 1 ' е)зеп )Е допепзпавс='1' ЕЬеп НМАЯТЬССК<=1пс1осио апзл 1Е) 1Е ве1пепсаяп='1' ЕЬеп 1Е вапивп>0 ЕЬезз Ацтаяп<=ватаев; яапзп<=вапавп; е1ва АОПзаяп<=1зваопз<=1; езп$1Ез ЕЕ вапавп)0 Ызеп Епп1осх<=НГССКзп(вапзаяп) з НМАЯТЕН<=сопя вЫ 1одзс ъеспоз (сопя ипвьдпео(вапаяп,4),4); е1ве зпп1ос)«=НЬОСКпз(1) з НМАЯТЕН<="0001" з епс ЕЕз езп1 ЕЕз епзз рпосевв р 1осЫппвсз р дпапсз рпосевв (Ацзпаяс) Ьедлзз Еоп з 1п 1 Ео Нзп 1оор ЕЕ ).=Ацпая С ЕЬезз НСВАЛТПп ( з ) <= ' 1 '," е1ве НСНАБТзп ( з ) <= ' 0 '; еззд ЕЕ; езъй 1оср; езпл рпосавя р дпапсз р Внз рпосевв(Ацпзавс, нвцяееозп) Ьед1зз ВН< =НВНЯНЕ()зп (ловов П ); аозт рпосевв р ВН; епо апсЬЕЕеспппа пп1) Рассмотрим функционирование блока выбора следующего ведущего устройства.