Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 68
Текст из файла (страница 68)
Ведущее устройство — кандидат на использование шины, выбираетси каждый раз при изменении на линиях запроса шины или изменении сигнаЛа )Ппасх, ОтражаЮщЕГО НаЛИЧИЕ раСщЕПЛЕННЫХ траНЗаКцИй. ЕСЛИ ввтпввпзавп='1', тО ПО ВОСХОдящЕМу фрОНту СИГНаЛа таКтнрОВаиня КаНдИдат На ИС- пользование шины становится владельцем шины адреса и управления. Если допезппавп='1', то по восходящему фронту сигнала тактирбвания ведущее устройство, владеющее шинами адреса и управления, получает в свое распоряжение шину данных. Практика применения МНОь Внутри архитектурного описания используются следующие сигналы. Сигнал аатаае используется для хранения идентификатора ведущего устройства, выбранного лля следующего запроса.
Сигнал тпе1оск используется для хранения информации о наличии блокировки в текущем запросе. Сигнал вамп используется лля хранения идентификатора ведущего устройства, которое в данный момент времени владеет линиями адреса и управления. Процесс р ае1ааае используется для выбора ведущего устройства, которому будет предоставлена шина адреса и управления после завершения очередного запроса. Этот процесс выполняется каждый раз, когда происходит изменение на линиях запроса шины от ведущих устройств и изменение сигнала и асю Внутри процесса описана переменная а аае, используемая при выборе ведущего устройства, которое будет использовать шину.
Сначала этой переменной присваивается значение О. Далее в цикле просматривается наличие запросов от ведущих устройств, начиная с последнего, имеющего самый низкий приоритет. При каждом выполнении цикла, если имеется запрос шины от ведущего устройства, а соответствующий разряд сигнала иаасх='ю' (что указывает на отсутствие для данного ведущего устройства незавершенной транзакции), переменной атаас присваивается значение идентификатора этого ведущего устройства.
Таким образом, после завершения цикла в переменной атааае хранится идентификатор ведущего устройства, имеющего наивысший приоритет среди запросивших шину. Если значение атаке осталось равным О, — значит, в данный момент ни одно ведущее устройство не запрашивает шину.
В этом случае шина должна быть предоставлена ведущему устройству по умолчанию. Однако возможна ситуация, когда для ведущего устройства по умолчанию существует расщепленная транзакция, не готовая к завершению. В этом случае шина ему предоставлена быть не может. Пусть, в этом случае, она предоставляется ведущему устройству, имеющему наивысший приоритет среди тех, для которых не существует незавершенных расщепленных транзакций. Для этого используется цикл, аналогичный предыдущему.
После того, как выбрано ведущее устройство — кандидат на использование шины, его идентификатор сохраняется в сигнале аатаааш Процесс р воск аае используется лля зашелкивания идентификатора ведущего устройства, становящегося собственником линий данных. Процесс р 1оск аае используется для зашелкивания идентификатора ведушего устройства, становящегося собственником линий адреса и управления. В этом процессе определяются также значения выходных сигналов нмлвтва и нмлвтьоск. При приходе сигнала сброса, в качестве ведущего устройства по умолчанию, выбирается ведущее устройство с номером 1. Если ае1пеиааае='1, то значение сигнала ааяаае по восходящему фронту тактового импульса фиксируется в аеас и ляаааш В соответствии со значением ааааае определяется значение сигнала нмлзтвв. Значение сигнала ньоск от ведуще- 372 Глава 5 го устройства, которое становится собственником линий данных и управления, фиксируется в сигнале гпсгоск.
При очередном запуске процесса, после того как это ведущее устройство станет собственником шины данных, значение сигнала гпегоси ВЫДаЕтсЯ на ЛИНию ннлвтЬОСк. Процесс р дпапс используется для определения значений выходных сигналов нанлнт. Эти значения определяются на основе сигнала хпазавс. Процесс р ве используется для определения значения сигнала ве — запрос шины того ведущего устройства, которое в данный момент владеет линиями адреса и управления.
Этот сигнал необходим блоку определения конца запроса для работы с пакетными запросами переменной длины. Компонент выбора ведомого устройства Выбор ведомого устройства, участвующего в обмене, осуществляется на базе адреса, выставляемого ведущим устройством. Рассмотрим организацию простейшего компонента выбора ведомого устройства. Выбор ведомого устройства осуществляется на основе таблицы граничных адресов ведомых устройств, содержимое которой жестко определено в описании компонента. Для каждого ведомого устройства определена пара адресов — начальный и конечный. Все адреса, попадающие в диапазон от начального адреса (включительно) до конечного адреса (не включая его), считаются относящимися к данному ведомому устройству.
Функционирование этого компонента подобно функционированию компонента выбора ведущего устройства. Каждый раз, когда на шине данных появляется новый адрес, определяется ведомое устройство, которому этот адрес соответствует. Однако фиксируется номер ведомого устройства, которому будет предоставлена шина, по восходящему фронту тактового импульса и только если допеезааве='1'. Для того чтобы сократить размер временных диаграмм и облегчить их читаемость, в листинге и на рисунках разрядность линий адреса и данных считается равной 16, а не 32. Описание компонента выбора ведомого устройства приведено в листинге 5.20.
1 Листинг'Е.з), 1$1зваву 1ЕЕЕ; иве 1еее.все 1од1с 1164.а11з иве 1ЕЕЕ.вЫ 1од1с аг1еп.а11з иве 1ЕЕЕ.аео 1одзс ипа1дпесЗ.а11; пве ЛНВЛ ЛНВ р.ЛНЕЬ ЛНЕ р.а11; иве Аивх лнв рапазвесепв.инва. лнв рапазвееепв.а11з практика применения ЧНР(. азу с ве1 Ев рств (ЕЕЯЕтп! 1п БЫ 1одгс; с1)<! 1п БЫ 1одзс! нАН(зрп 1п 550 1одз.с честот((н Аззззн-1) ((овпсо О) ! допекает! 1п Бт!) 1од1с; НЕЕОБ: опт Бтд. 1од1с чесгог(1 со НБ)! св1аче: 1поит патпта1 тапде 1 то НБ ) еИ епт1ту с ве1! втсЬ1сессоте гт1 ой с Бе1 1в 5)азе г асит 1Б аттау(1 со 2) ой вг 1одзс чессог.((н здзж-1) довпто О); 5)!ре т асИг ГаЬ1е Ев аттау(1 Со 4) оЕ Г асИт! 51впаХ асИт гаЬ1е! Г асИг таЬ1е! 51дпа1 ББ1; пагита1! 55БХп Р БЕ1 51аче! ртосевв (НЗз(ЗЕН) чат1БЬ1е 51: патита1; 51:=1! 1от з.
1п 1 то НБ 1оо)З И (На)ХВ>=асИт таЫе(1) (1) ) ап5( (На(З(ЗЕ<асИт таЫе(1) (2) ) тЬеп 51:=3.! еп6 М! езв 1оор! 551<=51 ! езй ртосевв р Бе1 51аче; р 1сс)< 51аче: ртосевв (допезаоавт, ББ1, с1)<) Ьад1п Н ВЕЯЕТп= ' 0 ' т)зваз аост таЬ1е<= ((х"0000",х"0010"), (х"0010",х"0100"), (х"0100",х"0111"), (х"0111",х"1111"))! 551аче<=1! 51ве Тй тгвгпд ебде(с1)с) тЬеп 1Е допезепавт='1' т)зеп св1аче<=551; езхз 1Е! епе 1й! Глава з 374 езяй ййз езяй ряосевв р 1ос)< я1асе; р Няе1: ряосевв(яя1) Ьеяйп Еоя з йп 1 Ео Ня йоор йЕ яя1=1 Е)зеп НЯЕ( в (з) <= ' 1 '; е1ве НЯЕЬя (з )<= ' О ' з епзй йЕ; епа 1оорз епзт ряосевв р Ьяе1; езяй аяс)зйсесспяе яе1; Рассмотрим функционирование компонента выбора ведомого устройства.
Внутри архитектурного описания введены два новых типа: и аз)з)с, предназначенный для хранения пары адресов, соответствующих каждому ведомому устройству, и с асыя са)з1е, предназначенный для таблицы адресов, соот- ВЕтетВуЮШИХ ВСЕМ ВсдОМЫМ уСтрсйСтВаМ. СИГНаЛ аддя Са)яйе ИСПОЛЬЗуЕтеи для хранения таблицы адресов, сигнал яя1 — для хранения идентификатора ведомого устройства, являющегося кандидатом на участие в обмене.
Процесс р яв1 яйаяе используется для определения ведомого устройства— кандидата для участия в обмене. Процесс выполняется каждый раз при изменении адреса. В цикле определяется номер ведомого устройства, которому соответствует выставленный адрес. Этот номер заносится в переменную я1. ПОСЛЕ ВЫПОЛНЕНИЯ ЦИКЛа ЗНаЧЕНИЕ ПЕРЕМЕННОЙ я1 ПРИСВаннастСЯ СИГНИЛу яя1. ТаКая ОрГаинэацня ПРОцсееа яВЛяЕтСя уПрОщЕННОй (ЗЕЕСЬ НЕ уЧНтЫ- вается возможность выставления на шину адреса, не соответствующего ни одному из ведомых устройств системы). ПрОцЕСС р 1осх я1аяя ИСПОЛЬЗуЕтСя дЛя ЗаШЕЛКНВаиня ИдЕНтИфИКатОра ВЕ- дОМОГО уСтрОйетВа Прн допезояаяе= 1 .
Прн ПРИХОдс СИГНаЛа СбрОСа ВЫбирается ведомое устройство с номером 1 — ведомое по умолчанию. ПрсцЕСС р )зяе1 ИСПОЛЬЗуЕтея дпя фсрМИрОВаНИя СИГНаЛОВ ВЫбОрКИ НВЕЬз для всех ведомых устройств, в соответствии с идентификатором ведомого устройства, выбранного для участия в обмене. Процесс запускается, коган меняется номер выбранного устройства (сигнал яя1). Компонент контроля расщепленных транзакций Этот компонент отслеживает моменты начала и конца расщепления транзакций. Информация об этом отражается в сигнале нпасх, в котором каждому ведущему устройству соответствует один бит. Бит 0 соответствует ведущему устройству 1, бит 1 — ведомому устройству 2 и так далее.
Если ведомое устройство, участвующее в обмене, выставляет нкевр=врыт, то бит нпасх, соответствующий ведущему устройству, владеющему линиями данных, устанавливается в '1, для этого ведущего устройства начинается рас- Лрактика применения (((НО1 375 щепленная транзакция. Если по переднему фронту тактового импульса какой-либо разряд сигнала нярыт установлен в '1 (ведомое устройство готово завершить расщепленную транзакцию), то соответствующий бит изпаск устанавливается в ' 0 '. Описание компонента контроля расщепленных транзакций приведено в листинге 5.21.
Лазетинт $.21 11Ьгагу 1ЕЕЕ; яве 1ЕЕЕ. яСс) 1сдтс 1164.а11з еве 1ЕЕЕ. ягд. 1сдзс аг1СЬ.а11з еве 1ЕЕЕ.яес 1одзс ипятдпя<).а11з еве АИВА АНВ р.АННА АНВ р. а11; еве АИВА АНВ рагапееегя.АИВА АНВ рагатеяегя.а11 з еяг1яу с яр11С 1в рого(ЕЕБЕТпз 1п яес 1одзсз с1кз 1п яЫ 1одзс; НЯЕБР: 1п яМ 1одз.с чесеог(1 зравпго 0); НБРЫТз 1п вел 1сдтс чесгог(15 ооипго 0); Впаяя: 1п паепга1 галде 1 Ео Мпз Ииасуо оис яяб 1сдз.с чесеог(0 Ео 15) епд епе1еу с яр11сз егсМеесгше гт1 ое с яр110 1в Ьед1п ргосевв (Евявтп, с1К, НяРЫт, НЕЕБР) Ьедап 11 ЕЕБЕТп=О ГЬеп Ииас)«=(оЕЬегв=>'0' ); е1ве 1г г1язпд а<(де(с1)<) ЕЬеп дог 1 1п 0 Го 15 1оор 1Е НБРЫТ(1)= 1 ЕЬеп Инас)<(1)<= О; епд 1ез епо 1оор; 1в нееяр=нвеяр БР11Т еьеп ииаск(гпаяс-1)<='1' з епа 1е; ея1 рассеяв з езд агсЖеесгше гс1; Глава 5 Структурное описание узла Арбитр Структурное описание Арбитра приведено в листинге 5.22 ,','Лйстнизив622 ': —.::", '""' „':.
':,.:,::,:...:-;:,.";; '.;,::: .,:-,;, '::; .:..:;;;:.'.::.~':,".:.,: ),","'-',"„';~~-".;:!::::.:;:~," -' 11Ьтату 1ЕЕЕз вве 1РЕЕ.ятс) 1од1с 1164.а11з пве 1ЕЕЕ.втс) 1одвс ат1т?з.а11з пве 1ЕЕЕ.ятс3. 1одз.с нпя1дпей.а11з пве АИВА АНВ р.АИВА АНВ р.а11з пве АИВА АНВ ратаязететв.АИВА .АНВ ратапететя.а11з епт1ву с хио1е атЬ з.в ротс (ХРЕБЕТпз 1п ятс) 1одз.сз Хс1ум 1п яЫ,1сдзсз ХНВПЯРЕГЗЗяз 1П яке 1од).С ЧЕССОт(1 ЕО ИП) З ХНБ()окзя: 1п ятс3.