Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 59
Текст из файла (страница 59)
Названия входных и выходных портов в тексте программы образованы следуя)ШИМ ОбраЗОМ: НаЗВаНИЕ НаЧИНаЕтСя С яз1, даЛЕЕ СЛЕдуЕт Навааинс СИГНаЛа в соответствии со стандартом, но с опушенной первой буквой н (например, ПОрт СИГНаЛа НАЭЭЕ НаЗЫВаЕтСя пта44г, НТВАН — язтггапв). ; :Листинг 6.9 11Ьгагу 1ЕЕЕз яве 1ЕЕЕ. ят 1одвс 1104.а11з иве 1ЕЕЕ.ясе 1одзс ат1ЕЬ.а11з яве тЕЕЕ.всд 1одз.с ппвздпе4.а11) вве АВВА АНВ р.АНВА АНВ р.а11; езе1су павгет1 1в рогг(в1теяегз1п вт4 1одз.сз п1с1хпз 1и яси 1одзс," яз1Ьиятедз оис вов 1одтс; е11ос)<з оие вт4 1сдвс; п1дгаптз аи вт4 1сдгс; яз1а44гз опс вгв 1сдз.с частот((Н АЭЭЕ-1) еоюпсо 0); е1тгапвз оос ве4 1одзс частот(1 еоепсо 0)з и1вгяез опс в)4 1одзс чесгот(2 аояпсо 0) ) яз1Ьптвг: оос ятд 1од).с честот(2 еааисо О); яз1ют1тез опс яев 1одзс; т1рзотз опс всд 1од1с честот(3 давоса 0); яз1ззс)атаз опс вт4 1одзс честог((Н ЭАТА-1) 6аепсо 0)з п1т4атаз 1п вт4 1одвс честот((Н гзАТА-1) давоса 0)з п1геа4уз ди вс41одзс; п1геврз зи вгд 1од1с честот(1 4оюпса 0) впз еис1су яавеет1з агсЬ1ееоеиге гт1 ог яавеег1 1в туре пз1 веате Гуре 1в (ИОЕК, АСКВ, ОЯЕВ А, ЭЯЕВ И з в1дпа1 яз1с веаге,атс пехгвтатез п1 веасе Гурез в1дпа1 союз пагита1 твиде 0 Ео 2; Ваези р 1оскягатез ргосевв (яз1тевет,зя1с1Х) Вед1п 1г п1тевет='0' ЕЬеп п1с ятаее<ановкз сои<=2з Практика применения ) (НП 1В (о?певр=нВЕЯГ ОКЛт) ох (е?певр=нКЕЯВ ЕЕВОК) Е?теп т1с пехсвпасе<вИОВК; в1ее о1с пехсвсасе<=ЛСКВ? впо ЕВ; впо 1я; пввп ое?тепе =>в1?птвпеЧ<='О'; т11ос)«='О' ьв1асИх<=(оп?тепе =>'0'); пт1 Пхапв<=НТЯЛМЯ 1()ЬЕ; п1в?ее<="010"; п1)>апас<=НВОЖЯт ЯХИЯЬЕ? т1ях1пе«='0'; т1рпоп<="0001"? о1>к?пса<=(оп?тахе=>'0'); т1с пехевсапе<=ИОВЕ? вта саве; еий рхосеев р оипв? епй ахсМЕесппвв пс1; гассмотрим архитектурное описание интерфейса ведущего устройства на ШИНУ АНВ.
ТИП п? пеппе суре ОПрЕдЕЛяЕт МНОжЕСтВО ВОЗМОЖНЫХ СОСтОяНяй дЛЯ ВЕдущЕГО уСтрОИСтВа. СИГНаЛ о?с веасе СЛУжИт ДЛЯ ХраНЕНИя тЕКу- ЩЕГО СОСтОяНИя, пт?с пехпвсасе — дпя СЛЕдуЮщЕГО СОСтОяНИя. ПрИМЕНяЕМ )лесь сигналы, поскольку их можно использовать в списках чувствительности, а их значения можно наблюдать на временных диаграммах. Внутри архитектурного описания используется также вспомогательный сигнш( поп, предназначенный для определения количества тактов, в течение которых устройство будет пребывать в состоянии вовк. В нашем примере поп не превышает 2, что определяет максимальное время пребывания в этом состоянии, равное 3-м тактам.
Архитектурное описание включает в себя два процесса. Процесс р ?осквсапе ПрЕдНаЗНаЧЕН дпя ЗащЕЛКИВаНИя ОЧЕрсдНОГО ЗНаЧЕНИя в?с впаяв. ЕСЛИ СИГНаЛ СбрОСа уСтаНОВЛЕН В аКтИВНОЕ СОСтОяНИЕ, в?с впаяв=вовк. Если сигнал сброса неактивен, то по восходящему фронту гигнала тактирования в о?с всасе защелкивается текущее значение в?с пехсвпасе (ПрИ УСЛОВИИ, ЧтО о?с всасе=?(ОВК ИЛИ е?пеа«?у= 1 ). ВрЕМя пребывания ведущего устройства в состоянии вовк не зависит от его взаииодействия с шиной и определяется внутренним алгоритмом работы ведущего устройства.
Время пребывания в остальных состояниях зависит от соттояния шины. Очередной обмен по шине завершается при наелпх= 1, поэтому переход из одного состояния в другое происходит, если ш(ел?)х= 1, по восходящему фронту сигнала тактирования. Процесс р оппв предназначен для определения значений выходных сигна- пов и следующего состояния в соответствии с графом состояний автомата. Зтв Глава 5 Обратите внимание! Даже если из состояния существует единственный переход 5 следующее состояние и при атом значения выходного сигнала в обоих состояниях одинаковы, а следующем состоянии зто значение выходною сипбала все равно оо. ределяется.
Если предполагается, что модель предназначена только для поведенческого моделирования, етого можно не делать, однако, как было рассмотрено 5 главе 4, при синтезе зто может привести к лишним аппаратным затратам. Примеры временных диаграмм функционирования устройств приведены нз рис. 5.13 и 5.14. !г ср пегове! тт и!Ь«мее 'М гпбосМ 'м пбсгап! пг!Ьббг ООООООО1 ОгХЮОООО ООООООМ ОООООООО Х ОООООООО пггЬ гвг пб!«о! тгьае и!сапе Х о 2 о 2 о паеба!а Х пап!а!а Х пгггеабу '!Г п веер Х ОГЮООООО 55555 00000000 55555555 00000 гпи Иа!е о иобг есВЬ веЬ а «веЬ б пега абгЬ «веЬ а меЬ б еобг гп!с пев!в!а!е пю со« о бога асьь ав «веь а ггопг асвь «веь а веь б «веь б пег» г о 2 ! о 2 Рис.
5.13. Временная диаграмма запроса одного слова данных Рассмотрим временную диаграмму запроса одного слова данных. В этом к последующих примерах начало и, соответственно, конец такта будем считать по восходящему фронту тактового импульса. Длительность такта— 10 нс. (это значение выбрано для удобства рассмотрения временных диаграмм, оно не имеет отношения к физической реализации). Первый такт начинается в момент времени 0 нс. и заканчивается в момент времени 10 нс.
Второй такт начинается в момент времени 1О нс. и заканчивается 5 момент времени 20 нс., и так далее. В первом такте сигнал сброса оттхевес имеет активное значение, — выполняется сброс. Следующие три такта ведущее устройство находится в состоя- Практика применения МНР~ нии ноак, в пятом такте оно переходит в состояние лскв. Сигнал ноалит для этого устройства устанавливается в 'Г в начале 7-го такта, в этом же такте сигнал икклтуу устанавливается в '1', поэтому в 8-м такте ведущее устройство переходит в пккв л. Поскольку наклру по-прежнему сохраняет значение 'Г О 9-м такте устройство переходит в состояние пккв р. Поскольку в конце этого такта иакэв=оклу и нкклру= ' 2 ', что указывает иа успешную обработку запроса ведомым устройством, в 1О-м такте ведущее устройство вновь переходит в состояние иокк и в 13-м такте вновь запрашивает шину.
Первая фаза данных этого запроса выполняется в 15-м такте. В этом такте ннклру= о, поэтому обмен данными продливается на следующий такт, в котором иаклоу= ' г ' и обмен успешно завершается. г! о~! 2гл ',:-::::.;" '", 1баааб:,:,.„',1Вйз "* '...гобл!в "."'.'22Ва ...24Опв:,'"-2в)овн, *';,',гвхгк!и;,'; гзо ьзей) '*, пгыв в!гене! 'О' пгвнзгве О твосв пбагвп! 'О' пам Х ОВЮОООО Оааааааг аааааааа ааасаааг ОВЮаааа ВЮааа пзьвз! Х пбр«б Х 1 мызе пгпгвпв Х о 2 о 2 о г в впав 'О' ваювв х аыы оооааооо ыыа овюввю ыыыы вюоа пвпгвге Х аоооовю 'О пг!Ьевбу гпвезп пвс ав!е всВЬ нзеЬ в нзеЬ б всВЬ зеЬ е нзеЬ б аое ебгЬ ггоа нзвЬ б аов пзс пех1ав!еаов нзеье аогх всьь нвеьензеьбнзеьб всеь нвеьензвьб аов вбгь нзеьв-- сон о а 2 1 о 2 1 о Рис.
5.14. Временная диаграмма запроса одного слова данных, в ходе выполнения которого ведомое устройство инициировало расщепленную транзакцию Рассмотрим теперь обработку ведущим устройством расщепленной транзакции. Временная диаграмма представлена на рис.
5.14. В 20-м такте (момент модельного времени 190 нс.) ведущее устройство вновь запрашивает шину. В 22-м такте начинается фаза данных обмена. В этом такте ведомое устрой- СТВО УСтаиаВЛИВаЕт Иавквовкктт И ИНКЛРУ= О, В СЛЕДУЮЩЕМ таКтЕ ннклруа'2 — ведомое устройство инициировало расщепление запроса. В этом случае ведущее устройство переходит в состояние запроса шины, а по- Глава 5 еле того, как шина ему предоставлена, оно повторяет запись в ведомое уст- ройство тех же данных по тому же адресу. Интерфейс ведущего устройства при чтении последовательности слов Рассмотрим модель интерфейса ведущего устройства, позволяющего ему чи- тать из ведомого устройства последовательности слов.
Граф состояний ко- нечного автомата, соответствующий этому интерфейсу, приведен на рис. 5.15. УУОЙК НВОЗЙЕО = 'О', Н! ОСК = 'О', НАООЙ = х, НТЯАНЗ = ЮШ, НЗ1ЕЕ = х, НВОЙЗТ = х, НУУЙ)ТЕ = х, НЙОТ = х, НИ)ОАТА = х АСКВОЗ: НВОЗЙЕО = '1', НЬОСК = 'О', НАООй = аааг, НтйАНЗ = НОНЗЕО, НЗ!ЕЕ = а!хе, НВОЙЗТ = ЗгиеоЕ, НУУЙ1ТЕ = 1, НйОТ = арго!, НИгОАТА = х НЙЕАОУ = '1' апа !НЙЕЗР - "ОКАТ ог НЙЕЗР = Ейной) НОЯАНт = чр апв НЙЕАОУ = 'Г НОЙАНТ = '1' апе НЙЕАОУ = пт НЙЕАОУ = тр апе !НЙЕЗР = Йатйт о! НЙЕЗР = ЗРЕ1Т) ОзеВОВ о; нВОзйео = '1то', н!.Оск = 'о', НАООЙ ем них,НТЙАНЗ = ЗЕОЗОСЕ, НЗ)ЕЕ = а!хе, НВОйЗТ = !Нсйх, Науй!ТЕ = х, НЙОт = х, НууОАТА = Оа!а Рис. 5.15. Граф состояний конечного автомата, соответствующего ведущему устройству, описание которого приведено е листинге 5.10 Граф имеет сходную структуру с графом рис.
5.12, однако в состоянии иоах возможен дополнительный переход в само себя, если не все слова данных еще переданы. Текст поведенческого описания модели приведен в листинге 5.!О. Эта модель имеет такое же описание портов, как и модель ведущего устройства (листинг 5.9), но названия всех сигналов начинаются не с па, а с я!2.
Праятика применвния МНШ 32( агсЬйсеосиге гг1 ой яаясег2 йв туре яз2 агате Гуре 1в (НОВЕ, )зСКННЯ, ()ЯЕННЯ а, НЯЕНдя )з) з яйдяза1 зз2с агате,зя2с пехгятате: зя2 агате Сурез вйзвза1 сои1зиагига1 галде 0 Со 2з яйдпа1 сои2зиагита1 галде 0 Со Ес яйдпа1 теаде6 багаз ят6 1одз'.с оессог((Н )ЖТ)З-1) 6ояпсо 0); яздиа1 и асЫгз иатига1з р 1ос)<агате: ргооеяв(зз2геяет,яз2с1)з,зя2геаду) Ьадйп 1й я2геяет='0' реп зз2с агате<=ИОВКз сои1<=1з сои2<=Оз и асЫг<=Оз а1яе йй тзяз.ид а6де(яз2с1)з) Язеп йй п2с ясагеаНЯЕННЯ П ал6 зз2геайу='1' ал6 зз2геяр=НВЕЯР ОКНУ тлва геабе6 бага<=зз2гдагаз езз6 1йз йй сои1>0 ГЬеп сои1<=сои1-1з е1ве йй зи2с пехгятасе=ИОВЕ Г)зеи сои1<=1з езз6 йй; еп6 1й; 1й сои2>0 ГЬеп 1й яз2с втатегдЯЕБОЯ 0 ап6 я2геабуя'1' ял6 зз2геяр=НВЕЯР ОКАУ СЬеп сои2<=сои2-1з и а66г<=и асЫтз4з е1ве йй я2с иехтятате=)ЮВК ГЛзезз сои2<=2з и асЫг<=Оз еи6 йй; ел6 йй; е1ве йй зз2с иехтятате=ИОВЕ ГЬеп сои2<=2; п азЫт<=Оз еп6 1й; еп6 1йз йй яз2геабу=' 1' ог зз2с агате=)ЗОВЕ СЬел п2с агате<=я2с иехтятаге; еи6 ййз аи6 1й; ап6 ргосевв р 1осВятасез р оитяз ргооевв (зз2с втате,сои1,сои2,из2дгаиг,зз2геайу) Ьадйп саве зз2с ясасе 1в яЬап НОВЕ => л2Ьпятед<='О '; п21ос)«=' 0 ' ззз2асИг<=(оФЬегв =>'0') з зз2ггаия<=НТВИБ 1ЖЕз яз2я1ге<="010" з зз2Ьигят<=ННОВЯТ Я1ИСЕЕ; яз2>згзте«'О'; яз2ргот<="0001" з зз2>т)ага<=(отпаяв=>'0'); згг Глава 5 1й сои1>0 тЬеп п2с пехтятате<=МОНК] е1ве яз2с пехтятате<=ас)<вяз епо 1й; вЬеп АСКВОЯ =>п2Ьоятец ='1'; зя21осх ='О ] п2асИт<= сопч яг4 1одзс частот(сопч ипя1дпе<](п асИт,32],32)з в2ттапя<=НТНАМБ БОМБЕ()З т2я?те<="010"з п2Ьотяс<=НВОЕЯт 1МСРО яз2з<т?ге<='0'; з>2ртот<="0001"; яз2юс3ата<=(отЬетв=>'0'); 1й яз2дтапт='1' ааЫ п2теабу='1' Ппеп з>2с пехтятате<адЯЕВОЯ А; е1ве п2с пехтятате<=АСКВОБз епз? 1й; реп цБЕВОБ А => п2Ьоятед ='1'; п21осК<='0'з яз?асИт<= сопч ятс).
1одз.с честот(сопч ипв?дпей(п асИт,32),32)з п2ттапя<=НТРАМЯ МОМЕН(]З т2яйяе<="010"з яз2Ьззтят<=НВОНЯТ 1МСРО п2>зт?те<='0'; яз2ртот<="0001"з яз2з<йата<=(ояпетв=>'0')з ?й п2дтапс='1' апз? п2теас1у='1' тЬеп п2с пехтятаге<КНЯЕВПБ 0; Е1ВЕ яЗ2С ПЕХГВтатЕ<адЯЕВОБ АЗ ЕПВ 1й; ъйъеп ОБРВОЯ Э => 1й сои2>1 яЬеп п2Ьцвтес1<='1'; е1ве п2Ьыятед<='0'; епй 1йз т21осК<='0'; т2а<Ит<= сопч яг<) 1од1с честог(сопя ыпя?дпей(п асИт,32),32]; 1й соп2>0 СЬеп з>2ттапв<=НТЕАМЯ ЯЕ()з е1ве п2ттапя<=НТНАМЯ 1ПВЕз епзй 1йз яз2я?те<="010"з п2Ьотят<=НВОЕЯТ 1МСЕ; п2>зт?те<='0'; п2ртот<="0001"; яз?юнаса<=(отЬетв=>'0']з 1й п2теа<]у='0' ФЛ~еп п2с пехтвтате<=ОБНЕСЯ Рз е1ве йй п2теяр=НЕЕЯР ОКАТ Спея 1й сои2=0 ПЬеп з>2с пехтясате<=МОНКз Е1ВЕ З>2С ПЕХГятата<аМБЕВОЯ ))З ЕПП 1й; е1ве 1й п2теяр=ННЕЯР ЯВНОЕ тпеп п2с пяхтясате<=ХОЕКз е1ве п2с пехтвсате<=АСКВОБз мпеп отЬетв =>п2Ьиятед<= ' 0 '; яз21осК<= ' 0 ';т2асИт<= (отЬетв=> ' 0 ' ); п2стапя<=нтеАНБ 1пьез п2в?те<="010" з пз2ьотят<=МВОЕБт Б1мдье; зя2>зт?те<='0 '; аргос<="0001" з яз2ыдата<=(отпаяв=>'0' ) з з>2с пехтятате<=МОЕКз епп саве; епзй ргооевв р оигя; ~ъй атс)зХПеотпте тт1; Практика применения МНОЬ 333 Рассмотрим отличия этого поведенческого описания от описания, приведенного в листинге 5.9.