Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 64
Текст из файла (страница 64)
Дяя названий портов приняты следующие соглашения: названия портов, образующих интерфейс ведущего устройства начинаются с н, далее идет название сигнала в соответствии со стандартом шины АНВ, но первая буква н опущена; аналогично образованы названия портов, образующих интерфейс ведомого устройства, они начинаются с ня. Листинг 6.1в 11вяаву 1ЕЕЕ; иве 1ЕЕЕ.яец 1адьс 1164.а11; иве 1ЕЕЕ.яоо 1одьс ах1еп.а11я иве 1ЕЕЕ.ясб 1одьс ипяадпео.а11; иве ЛНВЛ ЛНВ р.ЛИЕЛ ЛНВ р.а11я иве ЛЕВА. ЛНВ рагапеоегя.ЛИВЛ ЛНВ ратяпеоеяя.а11; иве тя р.пя р.а11; Практика применения МН01 347 еие1еу пзя1 1в роге(Нгевес:1п всд 1одхсз Нс1)сз 1п всд 1адхсз Нзп)зиягеср оие ягд 1одвсз Нзп1ас)с: оия вгд 1одхс; Нпздгапг: 1п ясд 1адхсз НппсЫгзоиг всд 1ад1с чессаг((Н АППР.-1) доюпво О); Нзпсгапя:оие ясд 1адвс чессаг(1 доепво О); Няп1яе:оив ягд 1адз.с чессаг(2 доепео О); Нпйпиягз оие вгд 1адз.с чесгаг(2 доепео О); Нпыг1сез оив всд 1ад).сз Няргаг: оив всд 1од1с чессаг(3 доепго О); Нпмдасаз оип ясд 1ад1с ъессаг((Н ПАТА †) доззпео 0)з нпзгс1аса: 1п вгд 1сдхс чесгаг((н ВАТА-1) довпго 0)з Нппеаду:1зх вгд 1одз.сз Нпгевр:1п ясд 1адхс чесгог(1 доипео О) з Няве1: хп вгд 1одхс; НяасЫгз 1п ясд 1адхс чессаг((Н АППР-1) доепео О) нвюгхгез хп вгд 1ад1сз Нвсгапв: 1п всд 1адхс чессог(1 доепео О); Няв1ге: 1п ягд 1ад).с чессаг(2 дсезпео 0)з Нв)зигвг: хп ягб 1ад1с чессаг(2 доепео О); Няюйаса: 1п ягд 1ад1с чессаг((Н ПАТА-1) даепво О) Няпаясегс 1п всд 1одз.с чессог(3 доипео О) Няппяг1ос)сз 1п всд 1адхс; Нвпиеадус 1п вс3 1сд1с; Напеву: оия ясд 1одхс; Нвгевр: оив всд 1адхс чессаг(1 допзпяо О); Нпгс)асаз оие ягд 1одз.с чессаг((Н ПАТА-1) доипсо О) Нвяр11гз оив всд 1адхс чессаг(15 допзппо О) епд епп1ву зпв1з агаЫ.Геойиге ясхисгиге ой пзя1 1в аопзпоиепе й ии1Г 1в роге(йгеяесз1п вхд 1адхсз йс1)сз 1п ясд 1од).с; Глава 5 Епзпавсет Ы:оип псй 1одзс честст(3 йовлпо 0) з Ттев ча1пе:оюе втй 1одзс деспот((Н ПАТА-1) йовлпо 0)з Евепй:азу втй 1сдзсз йвсаге:оип Е вгагевз йЭзззс сурез 1л всй 1сдз.с чессог((н ЭАТА-1) йовлео 0)з Н вепйз1зз вгй 1одзсз Татд ча1ие: хл вгй 1од).с чеспот((Н ПАТА-1) йаилво О)з Та вепй:1зз всй 1сд)сз йвзпавсет Ы:оие всй 1сдзс чесгот(3 йовлво 0) )з епй осевппзеле й спзтгз опззвоиелп пз сопр 1в роте(птевегзыз втй 1сдзсз пзс1)з: 1л втй 1одзсз пОзивтед: ояв втй 1одзсз пй.сс)сз оив всй 1одрс; пщтапсз зл втй 1одз.сз пзаййт,оае вгй 1сдзс чесгот( (Н АППН-1) йовлпо 0) з пзстапв:оие всй 1одзс чесгот(1 йовлео 0) з зпвзпе:ооа вгй 1одзс чеспот(2 йовлво О) з зп)зствт: оюв впй 1сдзс чесгот(2 йовлпо 0) з пззтзте: оие втй 1сд1с; зпртогз оие втй 1сдзс чесгот(3 йовлво 0); пмйатаз сев вгй 1сдзс чесгот((Н ПАТА-1) йовлво 0)з пгйатаз )л втй 1одзс деспот((Н ПАТА-1) йонево 0)з птеайуз Хп вгй 1одзсЗ ааевр: 1л вгй 1сдзс чесгот(1 йовлео 0)з вззавтет Ы: зл втй 1сдзс чессот(3 йоеззво 0); птев ча1иез Зл вгй.
1сдз.с чессот((Н ЭАТА-1) йоилео 0)з зпвепйз 3л всй 1одз.с )з осе)рооелв в сезар зв рога(втевегз Хл вгй 1одзсз вс1)с: 1л втй 1одзс; вве1: 1л вгй 1сдз.с; ваййт: 3л всй 1сдзс честот((Н АППН-1) йонпео 0)з Лрвктика применения УНОх яыт1гез 1п вгб 1сд1сз ясгапвз 1п всб 1од1с честит(1 боеипо 0)з ввбге: 1п вгд 1сдзс чесгог(2 боюиео О) з вЬитязп 3зз вхб 1одбс частот(2 боиппо О) з вззбаса: 1п вг . 1сд1с чессог((н РАтй-1) боипео 0)з явавтех: 1зз всб 1сдз.с честит(3 бовппо 0)з впевг1ос)зз 1п втб 1одзсз яагеабуз 1п втб 1сдзсз втеабуз оиг вгб 1одбс; вгеврз оив ятб 1сдбс честит(1 боюзео О) з вгбагаз оип втб. 1сдзс честит((Н ЭАТА-1) бовпго 0)з ввр1зтз оис ягб 1одзс честит(15 боепео 0)з ватаге: 1п й всатевз вцспс Гурез оип вгб 1одбс частот((~ ЭАТА-1) боюпго 0)з вй вепбз оих вгб 1од1с; вагд ча1иез оиа взб 1одзс честит((н 1)Атй-1) боепго 0)з ва яепбз оив вгб 1сдбсз впзавСег Ы: оиг вхб 1сд'с чессог(3 боаисо О) впб осззЗВОззепв я с оп Зз; в1дпа1 сйзитавтег Ыз вгб 1сдз.с честит(3 бовпзво О) з в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) бичево 0)з сгг вепбз втб.
1сдз.сз сйагд ча1ие: всб 1одбс честог((Н ЭАТА-1) боаиао О); сна вепбз вгб 1сдбсз сйпавгег Ы: всб 1од1с честит(3 боипго О) йязпаягег Ы=>сйюпавгег Ы, йгев ча1ие=>сигея ча1ие, йвепб=>сйвепб, йвгате=>святаго, ййипс гуре=>стгипс туре, йй вепб=>сгг вепб, Еагд ча1ие=>сйагд ча1ие, йа вепб=>сна яепб, йвпавтег Ы=>сйоавсег Тб ЗоО Глава 5 ПМ: пт сстпр ропп тпар(пгевее=>нгевет, тпс1п=>нс1п, пЬивгетт=>неЬивгес(, в1осх=>нпт1осх, пцгапт=>нтпягапе, пастстг=>нтпатЫг, тптгапв=>нтпегапв, тпяьяе=>тапвате, тпЬигвт=>итпЬогвт, пптг1се=>ипппгьте, пргот=>нпргот, птььааеа=>нпзптаса, тпп$ата=>Ьпгттата, пгеапту=>нпттеатту, плевр= >Нпгеяр, патавгег Ы=>сттппавеег Ы, тпгев па1ие=>отпев па1ие, тпвеост=>сгвепд ця:я сотар ротс тпар(ягеяее=>нгеяег, яс1Х=>нс1Х, яяе1=>Няяе1, яабттг=>нвастстг, язгтте=>Нветьте, яггапя=>нвггапв, яяаге=>Нявате, вагап=>няЬогвс, вттбаса=>нвпттата, впаятег=>нятпавтег, впаве1осх=>няпавс1ос(с, ятпгеасту=> Напгеатту, втеатту=>нягеасту, ягеяр=>Нягеяр, ягттата=>нягбата, ввртат=>нявр11С, яягате=>сгягате, ятсас Суре=>сггоос Суре, вг яепст=>стг яепст, вагу па1ие=>стагя па1ое, яа вест(=>ста яептт, втпаятег Ы=>сттпаятег атт ватт атсиапестите вггосапге; Рассмотрим примеры функционирования вычислителя специальной функции.
Сначала рассмотрим функционирование вычислителя, к которому выполняется правильное обращение. Временные диаграммы работы блока ведомого устройства приведены на рис. 5.22 (а, б). Временные диаграммы работы функционального блока приведены на рис.
5.23 (а, б). Временные диаграммы работы блока ведущего устройства приведены на рис. 5.24 (а, б). В первом такте сигнал сброса установлен в активное состояние, конечные автоматы, соответствующие компонентам, устанавливаются в начальное состояние. В начале третьего такта сигнал выбора ведомого устройства (для компонента ведомого устройства блока спецвычислителя) устанавливается в активное состояние. Начинается передача очередного задания. В конце этого такта ведомое устройство защелкивает значения линий адреса и управления. Организация блока ведомого устройства такова, что адрес можно и не защелкивать, так как он используется только для контроля правильности обращения.
Независимо от выставленного адреса, первое передаваемое слово рассматриваетси как идентификатор функции, второе — как аргумент. Поэтому при передаче аргумента неважно, устанавливается нтвлыв=внд или сохраняется значение ыонвво. В конце третьего такта компонент веломого устройства защелкивает идентификатор ведущего устройства, которое начало обращение. В даннои примере идентификатор ведущего устройства равен 1. р'антика применения ггНШ.
35! :,:::г..:-';:, ';,- '-::":-„.: ''опв ':2опев"-:„~''".'! вопи':~:;";;,"2азосз,". —:.'Оопп ', " 'чоопгв".":":22гопоб".;.'„~."вврйзм!~':тепоспбз ООООООО1 забав в!гвпв 2 впггевбу вгевау вгевр впав!а м!вге !ОЕŠ— — — --! 'ьЕ-- -Ю1.8- ЧЧ ЯК- О о вс!к '1' згезе! 1 зве! звббг ООООООО1 зпгке 1 з1гапз 2 апгевбу згевбу '1' о 1 змвр впав!в вв!в!е 10!.Е звгпс !уре в1 зепб звго че!че о о о зв вепб 'О' ипвв!ег гб О св пв1а!е 0 Р св в!а1е 101.Е Рис. 6.22. Временные диаграммы функционирования блока ведомого устройства. Обработка нормальных обращений (а — соответствует модельному времени от О до 160 нс., б — от 160 нс. до ЗОО нс.) всвг 1 вгеве! '1' вве! '1' забег ООООООО1 '1' 1 о 1 мопс гуре О в1 вепб 'О' вага чав о вв вепб 'О' впав!ег ч1 О св пв1а1е 0 Р св в!вге Ю1 Е -Ю!Е- 0- - Ю!. -81й-82!8Ь й-81 -8 !Оз и-8 -8 СН.
0- О. Ю1. --!ОсЕ-0 О.АОзЕ . Яе Ю!. И' 1 8 ИХ 8 - !02 0 !гА Глава 5 362 ге « 'о' ыы !ыа гп а ы а Г га ге!не О о 1О!.Е о о о Г пане «1 О о !О!. 1.0 К 1.0СК синт ччн в гон 43 ага!в 6! 4161 66 101.Е 101.Е 101.Е у ьсск ьсск саин г ы гпе 1 Ы ягатаавоаа Паве! о 36!К 1 о о Впюавыг и О Еав че!на О то о о ччонк 1ОЬЕ 101.Е ЬЫ3е 101.Е Енпо !уоа О о о' Н аапо Мега не!не О о 36 вено о гвюавгег 36 о 63 Пега!Е 101.Е 63 а!в!6 101.Е 101.Е 101. К ЬОСК А ЬОСК С ОМТ ЧЧ НЕ 1ОЬЕ о В 4 В 2 1 о о 1 Ыепг Пчга! Ю 70 Рис. 6.23. Временные диаграммы функционирования функционального блока. Обработка нормальных обращений (а — соответствует модельному времени от 0 до 160 нс., б — от 160 нс. до 300 нс.) Ме 6 гаг ге П 1уп и пе !ее Мга Га аа 6 к ь А ь к с цнт чч в гоке к ьо к Практика применения )7НО).
пъгаввг пъсЪМ '1' ОЪЪ о Гпогап1 00000000 гпеббг 00000 ппгапв 2 000000 О пъ пве ГпъгбаЪа 0 пн ваву 'О' ПЪГЕВП 0 тгпавгег Ы 0 пнав нв1нв 0 пъэапб 'О' э в1 1 гпс певъвгагеасмь э!аге вс1ГЬ 0 0 0 асМЬ нэвЬ а н псгв есМЬ н ПЪГВЭЫ '1' па! М пъьнэгво пъогвпг 'О' паббг ООООО ОООООООЪ 00000000 00000001 000 2 2 0 70 '0' 0 пъпъвэ1вг Гб 0 0 0 пнвэ не1не ГпэвГП1 гав нвме 70 0 '0' 70 пъс пвхгэгаЪв асмо веь нэвь б нэвь В нввь б псгв всМЬ вгъъь нэаЬ а нваь б асМЬ нэеЬ а нэеЬ б пбгвпв ппггбе пэвбмв пнеабу ппвэгь Рис. 6.24.
Временные диаграммы функционирования блока ведущего устройства. Обработка нормальных обращений (а - соответствует модельному времени от 0 до 160 нс., б — от 160 нс. до 300 нс.) Глава 5 В начале четвертого такта компонент ведомого устройства переходит в состояние и в. В конце этого такта идентификатор функции должен быть защелкнут в функциональном блоке, поэтому на протяжении этого такта сигНап в5 ввоа уСтаНОВЛЕН В аКтИВНОЕ ЗНаЧЕНИЕ 1'. В ПятОМ таКтЕ КОМПОНЕНТ ведомого устройства переходит в состояние и л. В конце этого такта в функциональном блоке должно быть защелкнуто значение аргумента, поэтому сигнал вв вава в этом такте установлен в значение 1. Автомат находится в состояниях и в и и л по одному такту, поскольку нталнэ=поязви.
Если бы ведущее устройство (здесь имеется в виду процессорное ядро, обращающееся по шине лвв к спецвычислителю) выставило подтверждение вову, блок ведомого устройства пребывал бы в этих состояниях в течение большего количества тактов. На шестом такте компонент ведомого устройства переходит в состояние тпьв. Сигнал выбора этого ведомого устройства по-прежнему активен. Однако теперь функциональный блок находится в состоянии ноак, поэтому блок ведомого устройства выдает в седьмом и восьмом тактах подтверждение ватах, указывающее, что в данный момент запрос не может быть выполнен. Функциональный блок находится в состоянии ноак до 13-го такта включительно.
В этот период все обращения к блоку ведомого устройства заканчиваются подтверждением автвт. В тринадцатом такте блок ведомого устройства находится в первом состоянии выдачи этого подтверждения, поэтому, несмотря на то, что в 14-м такте функциональный блок уже готов к выполнению следующего задания, блок ведомого устройства в этом такте находится в состоянии а вз. Только на 15-м такте он переходит в состояние трьв и зашелкивает адрес и управляющую информацию следующего обращения.
Рассмотрим, как в это время работает компонент функциональный блок. После прихода сигнала сброса он переходит в состояние твьв. В 4-м такте этот блок получает сигнал ет вава='т', следовательно, в конце этого такта ои должен защелкнуть значение идентификатора функции и идентификатора ведущего устройства, инициировавшего этот запрос. Они защелкиваются в т гневе и вазе тц соответственно. Значение идентификатора функции в этом примере — з, идентификатора ведущего устройства (инициировавшего обращения к блоку спецвычислителя) — т . В 5-м такте, когда тв ввод= т', — выполняется зашелкивание аргумента в ввд.
В данном примере значение аргумента равно т. После этого начинается вычисление результата. В модели результат получается в 7-м такте, но принято, что для его вычисления в моделируемом устройстве необходимо еще шесть тактов, таким образом, результат считается полученным только к 13-му такту. В 13- м такте функциональный блок переходит в состояние и авв 'и записывает результат в компонент ведущего устройства блока спецвычислителя. В этом Практика применения !гНШ 355 такте сигнал е еепгз установлен в активное состояние.