Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 61
Текст из файла (страница 61)
Таким образом, отслеживание сигнала готовности от ведомого устройства, участвующего в Практика применения МНР1 327 предыдущем обмене, критично только лля тех ведомых устройств, в которых, по их внутренней организации, действительные данные должны находиться постоянно, а не только на момент завершения обмена. Это также существенно для ведомых устройств, которые в ходе обработки данных используют сигнал нвцввт для выполнения предвыборки. Текст модели интерфейса блока памяти с шиной, как ведущего устройства, приведен в листинге 5. ! !. Названия портов объекта образованы подобно тому, как зто было сделано в листингах 5.9 и 5.)0, но первая буква в названии — в.
Входной сигнал впсгеас)у — это сигнал подтверждения, тот же, что поступает к ведущим устройствам. Он используется для определения момента конца предыдущего запроса, в котором данное ведомое устройство не участвовало. , Листинг $.11 11Ьгегу 1ЕЕЕ; иве 1ЕЕЕ.ягс) 1одьс 1154.а11; еве 1ЕЕЕ. вМ 1адъс агъсп.а11; иве 1ЕЕЕ. вес) 1одъс ипв1дпес).а11; вве АНВА АНВ р.АННА АНВ р.а11; епе1су с тетя1 1в роге(вгевег: 1п веса. 1одьс; вс1уо 1п во 3 1одьс; яяе1: 1п ясс) 1од1ст яасЫг: 1п вЫ 1одъс ~тесгог((Н МХЖ-1) дсетпео 0),с яигъгес 1п вест 1одъст яггапяс 1п вЫ 1одъс уессог(1 ооепсо О); ввъгес 1п веса 1одъс стесгог(2 ооепго О) т в)сссгвгс 1п вест 1одъс оесгог(2 аоепсо О) т вес)огас 1п вес) 1одъс уесгог((Н ЕАТА-1) Еоипсо О)," вваясег: 1п всс) 1од1с уессог(З ооипео О); вппвс1оспс 1п вес) 1одъс; вгеас)у: оое вгс3.
1одъс; вегеас)у: 1п ясс) 1одъст ягевр: оис ягд 1одъс оесгог(1 ооепео О) т вгс)аеас оос вМ,1од1с чесгог( (Н ПАТА-1) ооипго О); ввр11сс оог вес) 1од1с оесгог(15 Еоипсо О) ); епа епсдсу с )еесе1; егоМЕеосоге гг1 оп с ясесп1 1в суре теесп сопя 1в аггау(1 ео 32) оп всс) 1одъс чессог((н 1)АтА-1) ооипео О) згв Глава 5 р ас 1ос)сз ртооеав (вс1)<) Ьед1п тт тзязпд едде(яс1)з) Язеп 1т яяе1='1' яЬеп аддг<=яаддг ыгзге<=яютуге; ггапя<=ягтяпвз вйяе<=вейте Натяг<=яЬогягз еп6 Адз епй ртооевв р ас 1ос)с; р ве1з ртооевв (вс1)з) ЬедАп М гзв3пд едде(вс1)<) впй впкеаду='1' тЬеп ве1<=вве13 еп6 1т; епй ртооевв р ве13 р геврз ртооевв (яс1)з) Ьад3зз И г1в1пд едде(яс1)<) я)зеп вгеаду<='1' 3 ятеяр<=ннеяр Ок)зуз епй 1т3 епй ртооевв р теврз р ззтйге: ртооавв (яс1)<, ве1, аддт) Ьед1п 1т яе1='1' яЬеп Ы гзвзпд едде(яс1)<) т)зеп 1Й жгуте='1' апй Ггяпя/=НТВЛНЯ В()Яу апй стася/=НТВЛИЯ 101,Е тЬеп пзепюгу сопсепся(сопу Зпседег(аддг,32))<=взздата; еззй 1т," епй 3.аз епй 1тз ап6 ртооавв р мгйге; в3.дпа1 в1дзза1 в 34)вза1 в1дпа1 а3.3аза1 в1дззаХ вАдпа1 ЬедАп язезяогу сопсептвз пап соптз аддт: вод 1одзс уессот( (Н Л)З)ж-1) йоипяо О); ззт1сез яс3 1одзс3 Стаяв: ясд 1од3.с уесгог(1 йовпао О) 3 взяез вод 1одус честот(2 йовпто О); ьцгятз ятд 1од1с ззесгот(2 доепто О); яе1: ясса 1одусз Практика применения И ПХ р гесс): ргосеав (яе1,иг1се) Ьеязп 1г яе1='1' реп И игзсе='О' Е)теп вгс(аса<=ятепюгу сопсепся(сопя 1пседег(асЫг))т ~то згт епс зг; епо ргосева р геао; епо егсЬЫесепге гг1; Рассмотрим функционирование этого блока памяти.
Внутри архитектурного описания определен тип тасе сопя, с его использованием описан сигнал вееогу сопгепгв, предназначенный для хранения значений ячеек памяти. СИГНаЛЫ асиг, игзсе, Ггапв, вьяе, Ьпгвс ИСПОЛЬЗуЮтСя дпя ХраНЕНИя ЗиаЧЕ- ний нлпра, витта, нтвлня, пятак и нвпаят с шины АНВ. Сигнал яе1 используется лля зашелкивания значения сигнала някь. Процесс р ас 1оск ПРЕДНазнаЧЕН ДЛя ЗаШелкивания адреса И уПравлЯющей информации по восходящему фронту тактового импульса, если этот блок памяти выбран арбитром для участия в текущем обмене. Процесс р ве1 предназначен для зашелкивания значения сигнала выбора ведомого устройства на момент прихода очередного переднего фронта тактового импульса и сигнала готовности от предыдущего ведомого устройства. НЕОбХОдИМОСтЬ ЗаШЕЛКИВаиня СИГНаЛа вве1 СВяЗаНа С тЕМ, ЧтО В ХОДЕ ПЕРЕ- дачи последнего слова данных текущего обмена, может выполняться фаза адреса нового обмена, в ходе которой выставляется сигнал выборки нового ведомого устройства, которое должно начать работу с линиями адреса и управления, а сигнал выборки прежнего ведомого — снимается.
Однако линии адреса и подтверждения должны использоваться прежним ведомым устройством. Таким образом, если входной сигнал вве1 (някь) указывает ведомому устройству на необходимость чтения значений сигналов адреса и управления, то внутренний сигнал ве1 указывает на необходимость использования линий данных и подтверждения. Процесс р гевр предназначен для выдачи сигнала готовности и сигнала подтверждения. По рассмотренным выше причинам, для данного блока памяти эти сигналы постоянно имеют одно и то же значение. ПрОцЕСС р игзсе ПрЕдНаЗНаЧЕН дпя ЗаПИСИ НОВОГО ЗНаЧЕНИя В ПаМятЬ. Запись осушествляется, если в предыдущем такте ведущее устройство выставило сигнал нматтк в 'Г, и при этом значение сигнала италия соответствовало поняла или яка (т. е.
указывало на необходимость выполнения действий), а сигнал ве1= 1 (что указывает на завершение предыдушего обмена). Процесс р гесс) предназначен для чтения данных из памяти. На рис. 5.)8 приведен пример временной диаграммы работы устройства памяти. В первом такте сигнал сброса установлен в активное значение. Начи- Глава 5 зн"1- . -г: .Л [ ° О"3 агава! вааог ванге! Фгапв вона 0 2 3 2 0 2 О О 2 3 1 2 О о г о эоааи 1 О О 5 1 0[ЮООООО оооо т ионов ээе! '1' '!' Оооон ве! 1 г 3 г а х Ьнв! з ! г 1 х о нионноаониисоо пгепгогу сопгепгв ватагу соп!вне[1[ Оааа ЕООСГГ СОП[ЕП11[2[ ОООО ПГЕПОГУ Ссеевэ[З[ ОООО пепээу соп!еп!э[а[ э 00000005 00000001 Рис. 8.18.
Временная диаграмма работы модели устройства памяти ная со второго такта, сигналы вхевс[у и вхевр устанавливаются в 'т и э ос геок[[у соответственно. Эти значения сохраняются до конца функционирования системы. В третьем такте одно из ведущих устройств получает шину и выставляет на нее адрес 1, который определяется арбитром как адрес обращения к памяти. Арбитр устанавливает вве1 для устройства памяти в активное состояние. В результате, память защелкивает значение сигналов адреса и управления.
В четвертом такте, в соответствии с этими значениями, выполняется операция записи в память (по адресу !) слова данных, которое находилось на шине данных в течение четвертого такта (в этот период времени на линиях данных выставлено число 6). Поскольку в четвертом такте вве1='о, то в пятом такте блок памяти не участвует в обмене данными.
В шестом такте блок памяти вновь выбирается арбитром для обмена. В седьмом и восьмом тактах выполняется запись в ячейки памяти 2 и 3 соответственно. В восьмом такте память все еше выбрана, однако теперь 'СЕ= О, ЧтО СООтВЕтетВУЕт КОМаНДЕ ЧТЕНИЯ И Втаалаоггг" — ВПВУ. Таким образом, память выставляет данные в девятом такте, но ведущее устройство считывает их с шины только в десятом такте. Лракгика применения И.ПХ 33! Устройства, выполняющие функции ведущего и ведомого на шине АМВА АНВ Наряду с устройствами, которые на шине АНВ выполняют только одну функцию (например, память является ведомым устройством), возможно существование устройств, которые могут быть и ведомыми, и ведущими.
рассмотрим структуру такого устройства на примере функционирования блока вычислителя специальной функции в составе системы-на-кристалле. Процессорное ядро системы-на-кристалле обращается к этому блоку по шине АНВ как к ведомому устройству, передает ему тип функции, которую необходимо вычислить, и значение аргумента. Вычислитель выполняет задание; после чего он, уже как ведущее устройство шины АНВ, обращается к процессорному ядру, как к ведомому устройству, и записывает в него полученный результат. В нашем примере адрес блока спецвычислителя не определяется, модель реагирует на любой адрес. Блок процессорного ядра с идентификатором 1 имеет адрес "00000000000000000000000000000001"; с идентификатором, отличным от ! — адрес "00000000000000000000000!0000000!". Такой вычислитель может иметь следующую структуру: О компонент вычисления специальной функции; О компонент интерфейса ведущего устройства; Е) компонент интерфейса ведомого устройства.
Если к компоненту интерфейса ведомого устройства происходит обращение по шине АНВ, он анализирует правильность этого обращения — в данном примере в компонент можно только писать. Обращение на чтение рассматривается как ошибка. В компонент в ходе обращения должно быть передано два и только два слова данных, первое из которых является идентификатором функции. Попытка передачи другого количества слов данных или передача идентификатора несуществующей функции также должны рассматриваться как ошибка; однако в данном примере для того, чтобы не усложнять пример программы на ЧНРЬ, это игнорируется. Компонент интерфейса ведомого устройства передает идентификатор функции и аргумент в компонент вычисления специальной функции.
Компонент вычисления специальной функции Компонент вычисления специальной функции, в соответствии с полученными данными, формирует результат. Сформированный результат поступает в компонент интерфейса ведущего устройства, который возвращает результат процессорному ядру. Вычисление результата может занимать несколько тактов.
Если за это время процессорное ядро вновь обратиться к вычислителю для вычисления следующей функции, интерфейс ведомого устройства выдаст подтверждение вкыт (или катку). Если ведомое устройство выдает Глава 5 ззг код подтверждения врьгт, оно должно запоминать идентификатор ведущего устройства, чтобы потом послать сообщение о готовности завершить расщепленную транзакцию. Кроме того, запомненный идентификатор ведущего устройства, инициировавшего транзакцию, используется также компонентом интерфейса ведущего устройства спецвычислителя для того, чтобы возвратить результат именно тому устройству, которое его запрашивало. Структурная схема вычислителя приведена на рис. 5.19. идент. ведущего устройства Интерфейс ведомого устройстм нв шину АНВ Интерфейс ведущего устройства нв шину АНВ Рис.