Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003), страница 38
Описание файла
DJVU-файл из архива "Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003)", который расположен в категории "". Всё это находится в предмете "микропроцессорные системы (мпс)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "микропроцессорные системы" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 38 - страница
Е12< = втивт "01 (1адя1.212< = вйеп "10 (1адя1.Е11< = мпеп "11 (1адя1.211< = вяй саве; е1ве Е1адя1.214; й1адя1.213; й1адв1.Е12; «)аяао(0)< с)аяао(1)< йапас(2)< епо ргосевв; )посеве(й1адя1) вед4п 4й сос)ей(1) = '0 «)асао(0)< йаяао(1)< с)аяао(2)< с)аяао(3)< сЬеп Е1адв1.
Е11(0); Е1адя1.Е12; й1адв1.213; й1адя1.Е14; с)аеао(3) < = 11ада1. 111(0); еиа ае; еаа раосевв; еи(( аесМЕессиав г1ег Временная диаграмма работы устройства приведена на рис. 4.14. Рис. 4.14. Временная диаграмма работы устройства, описанного в листинге 4.21 Обратите внимание на следующую особенность О(САР Ехргезз 9.1 (уегяюв 9.10.89, возможно, и другие версии).
В списке чувствительности процесса может указываться только весь сигнал-запись. Указание отдельных полей приводит к неработоспособности модели: при выполнении моделирования возникает сообщение о зацикливании модели, после которого, для продолжения нормальной работы, необходимо перезагрузить ОгСАР Ехргерь Проектирование на ) (НО~ Использование типа запись для входных и выходных сигналов Рассмотрим работу с типом запись на примере простого арифметикологического устройства.
Пусть это устройство будет иметь два входа данных (первый и второй операнд), один вход кода операции и один выход данных. Если код операции — О, на выход поступает значение первого операнда; если 1 — на выход поступает инверсное значение первого операнда; если 2 — значение второго операнда; если 3 — инверсное значение второго операнда. Описание устройства приведено в листинге 4.23, описание типа записи — в листинге 4.22.
Для описания всей группы входных сигналов можно использовать запись. Этот подход, для облегчения читаемости, удобно применять в схемах с большим количеством сигналов. Лиетинг4Ж„'-.""':: .".„'! ':";:;".! !-",:,'::::;:;, ","': ','-:;3.",:::::„:;.:='.;:::,;„.„- (4 ',",";;;. 11 11вгагу 1ЕЕЕ; иве 1ЕЕЕ.ЯТР Ь0010 1164.а11; вве 1ЕЕЕ. НОНЕЕ10 Ето. а11; Рао)хада пу хурев 1в оопвгепг орвхге:1пгедег: = 8~ гуре 1п гес Ев геоог(( х)ага1: вЫ и1од1с уессог((орв1ге-1) боепго О) х)ага2: вс и1одьс уессог((орвьге-1) доепго О) оросите: всх) и1од1с хтесгог((орв1ге-1) Еоипго О) еп(( геоогсм епа раоиаде пу хурев; 14вгагу 1ЕЕЕ; иве 1ЕЕЕ.ЯТЕ Ь0010 1164.а11; иве 1ЕЕЕ.НОНЕЕ10 ВТ().а11; иве пу хурев.хву хурев.а11; впгьсу а1и 1в рого(с)хп: 1п хп хес; с)оис: оиг вЫ и1сд1с ъессог((орв1ге-1) аовпго 0)]; епд епгагу а1хм Глава 4 ахоьзсеоеихе з с1 ок а1и ав Ьед1п Ьед1п махе опе11 дзп'ечепс Н з1зп.орсоое = х"00" СЬеп осок< = дзп.оака1; е1ае Н озп.орсоое = х"01" СЬеп гзоик< = псе г11п.оака1; е1ее 1Е гззп.орсоое = х"02" КЬеп ооск< = озп.оака24 е1ве оооо< = пот оьп.оаса2г за звг епа ав; епзт рхооевв; епе ахоьзееоспхе ке1з В данном случае использованы конструкции 1е, хотя грамотнее было бы использовать конструкцию сазе.
Это связано с тем, что некоторые реализации ОгСАР в атом случае некорректно работают с записью. Рис. 4.15. Временные диаграммы для листинга 4.23 В данном случае в качестве полей записи используются не скалярные типы, а векторы. Можно было, вместо использования оператора иазс, в списке чувствительности указать аьп — запись в целом, что не влияет на работоспособность модели.
Однако, как отмечалось ранее, указание отдельных полей записи в списке чувствительности может привести к неработоспособности модели. В ОгСАВ Ехргевв 9.1 значения полей записи в случае, когда в процессе моделирования они задаются с помощью вкладки 81зпзцйв и сравниваются с явно задаваемыми константами, должны выглядеть точно так же, как и те, которые были заданы на вкладке. 1йо Проектирование на 1ГН01. В приведенном примере значения кода операции в тексте программы на ЧН0Е задавались в шестнадцатеричном формате. Если отредактировать мовель так, как это представлено в листинге 4.24, можно получить результат моделирования, представленный на рис. 4.16. Листинг 4<24 11 01п.орсо<те = "00" Еьеп отомо< = 41п.стаеа1; в1ва ге отп.орсосе = "01" саед стопе< = поп Жп.стапа1; а1ве ьа 61п.орсотте = "10" СЬеп <топе< = 41п.<таоа2; е1ве йоие< = псе гтгп.йаеа2; епе ая; впа ая; Рис 4.16.
Временные диаграммы длл листинга 4.24 Поведенческое моделирование элементов памяти рассмотрим пример описания элементов памяти для выполнения поведенческого моделирования в ОгСА0 Ехртезз 9.!. В примере описана система памяти, включаюшая в себя два одинаковых блока. Структура системы представлена на рис. 4.17. Сигналы тактирования, здреса, входных и выходных данных для блоков памяти общие.
Каждый блок имеет свой сигнал разрешения записи и разрешения чтения. В программе на ЧН1з1 (листинг 4.25) каждый блок памяти в модели описывается как компонент. Каждый блок памяти имеет следующие порты: П с1Х вЂ” таКтИРОВаНИЕ; П и — разрешение записи; Глава 4 ьз - — разрешение чтения; О асык — адрес; П баеаь — ДаННЫЕ ДЛЯ ЗаПИСИ В ПаМЯтЬ; О стасас — данные, читаемые из памяти. цт ттт всат свтв! стеве~у в Рис 4.17. Структура системы памяти, включающая в себя два одинаковых блока Для выполнения проверки правильности функционирования модели, включающей в себя систему памяти, можно сохранять в файлах образы памяти в определенные моменты времени. Начальные состояния памяти также могут быть загружены из файлов.
В примере будет рассмотрено, как несколько компонентов могут работать с одним файлом. ВХОДНЫЕ СИГНаЛЫ 1саб иеи И весте иеи НЕ ИМЕЮТ ЭКВИВаЛЕНтОВ На фИЗИЧЕ- оком уровне. Здесь той иеат — сигнал, по которому происходит загрузка данных из файла в блок памяти; весте тетя — сигнал, по которому происходит запись данных из блока памяти в файл.
Описание интерфейса включает в себя также секцию двоек~с, в которой описан параметр — ип пате, предназначенный для хранения уникального идентификатора блока памяти. ()ровктироаание на УН01 Структурное описание схемы имеет следующий вид (листинг 4.25). 11)згагу йеее; вве теее.ет)з тз0010 1154.а11з вае 1ЕЕЕ.Н(ЗМЕЕ1С Ето.а11з вве 1ЕЕЕ.вой 1одтс агат)з.а11з иве геке1о.а1.1з — подключение пакетов 1леегг147 и юелзогу в1 иве 1псетт147.1пгегт147.а11з чве юепюту в1.юепюгу в1.а11з — декларация моделируемого объекта мзеагу вс)жеаг1св1 1в ек1 епг1су вс)зепае1ся1з — описание архитектуры (структурное) для вс)зепае1св1 вто)з1сеогцге ветцсгцте ог яс)зелзаг1св1 1в — декларация компонентов есщвопепг лзепюгу в 1в Вепет1с (цл лазлез вег1пд(1 ЕО 5) ); роге(сткз 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дпа1 и1з вгй. 1од1с; в1ягза1 гг1з ясд. 1одзсз в1дзиз1 и2 з вг41одзсз в14па1 гт2: яей 1одтсз в14аа1 асЫт: ят ц1од1с чесгот((асЫт 1епдг)з-1) йсеазсо О); Глаяп в1дтза1 с)аса1з втд. 1одхс чеспох ((тед яхте-1) ооипео 0); в1дпа1 бапаоз всс) 1одхс вестою((тед я1те-1) донато 0); в1дпа1 1оас) вев: япс3.
1од1с; в1дтза1 всоте вевз впс) 1одз.с; -- структурное описание архитектурного тела вттисппте -- лля объекта всьепвпхся13 -- включение компонентов в структуру устройства Ьедзп — компонент-экземпляр п1 П1 з вепюту в депегдо ввр (ип паве = > "паве1" ) роге вер (с1)с = > с1)с, и = > и1, т = > тт1, ас)с3т = > абс3т, с)апа1 = > с)аса1, с)атас = > с)асао, 1оаб вев = > 1оас) пзев, весте вев = > весте вев); -- компонент-экземпляр и2 ()2 : вевоту в депег1о вар (пп паве = > "паве2") роге вар (с1)с = > с1)с, и = > н2, т = > тт2, асЫх = > ас)с)т, с)асах = > с)аса1, с)апас = > с)апас, 1оас) ввп = > 1оас) ввп, весте вепз = > весте вев)з епс3 агоЬ1теовиге ястпспптез Пакет 1ппет1147, содержап(ий описание типов, констант и файлов, предназначенных для хранения образов памяти, представлен листингом 4.26.
Пакет подключен и используется программой, представленной листингом 4.25. Описание файлов вынесено в пакет в связи с тем, что в нашем примере оба объекта — ст и ьд (блоки памяти ! и 2) работают с одним я тем же набором файлов. ( ;Лийтийг 4;26 11Ьгагу 1ЕЕЕ; иве 1ЕЕЕ. втс) 1одхс 1164.а11) иве всс).пехп1о.пехп1о) Проектирование на ) УНР(. Вас)саде 1пгег1147 1в )99 еепвеапе гед в1ге:зпседег: = 8; еепвпапс асЫг 1епдсь:зпседег: = 8; еепвеапе веп веге:).пгедег: = 4; Гуре тете аггау 1в аггау(0 Ео (тее( вьге-1)) ое вес) 1одзс еессог((гед ввге-1) довпсо 0) Е11е еесгогв ен сехг; Ше весгогв г: гехг о)ееп геас) войе 1в "1оае)б.айаг"; ю6 рае)еаде ьпгегг147; В пакете описаны константы: (7 гед вьге — длина слова памяти в битах; 0 ае)с)г 1епдгь — разрядность адреса в битах; 5 вев вьге — размер памяти в словах.
В этом пакете описан также новый тип тете а ау — массив, предназначенный для хранения содержимого памяти. Массив описан как одномерный, но каждый его элемент является вектором (вес) 1одьс есгог((гед вьвеН по псе О) ), соответствуюшиМ ОДНОМУ сЛову ПамЯти. Для работы с файлами, в этом пакете описаны две файловые переменные еесгогв и и уессогв г. Оба эти логические файла имеют базовый текстовый тип. Процедуры и функции для работы с этим типом описаны в стандартном пакете гехгьо. При описании файла уесгогв г сразу же определяется режим его открытия — геас) тое)е )для чтения) и имя физического файла, с которым он будет связан — файл 1оадб.е)ае.
В файлах образы памяти располагаются последовательно: сначала образ первого блока памяти, затем образ второго блока памяти. Образ каждого из этих блоков памяти начинается с уникального идентификатора блока, после ЧЕГО СЛЕДУЮТ вот взге СЛОВ ПаМЯтИ, НаЧИНаЯ С ПЕРВОГО. ПаКЕт вевогу в1 СОдЕржИт В СЕбЕ ОПИСаНИЕ КОМПОНЕНта вевогу в.
ПаКЕт вееогу в1 ПОДКЛЮЧЕН И ИСПОЛЬЗУЕТСЯ ПРОГРаММОй На ЛИСТИНГЕ 4.27. ' Листийг,4.27. 11Ьгагу ьеее; еве 1ЕЕЕ.ЯТ() Ь001С 1164,а11; Описание архитектуры вевогу в на поведенческом уровне представлено листингом 4.27. Глава 4 гоо иве 1ЕЕЕ.Ы(1ИЕЖ1С ЯТЮ.е11з иве 1ЕЕЕ.вгд 1оузс ат1сь.е11; иве всд.техсзо.гехс1о; иве зптег1147.1птетй147.е11з ресЕеде ззеззогу в1 1в ссевклзелв зевоту в 1в делег1о (ип пале:всг1пу(1 ео 5) ); роге(с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од1с езх1 ооввхвзелс пзезпогу в; езк1 рес)заде пзетогу в1; 11Ьтагу Теее; иве 1ЕЕЕ.ЯТР 0001С 1154.е11з иве 1ЕЕЕ.ЕОИЕК10 ЯТ)з.а11; иве 1еее.вод 1одзс аг1сл.е11; иве всд.гехс1о.сехсзоз иве зптегй147.зптетй147.а11з — если в пакете рас)заде пзеиогу з1 ыы декларировали компонент пепюгу з, — то здесь декларируем сам объект пзепзогу зз -- объекты этого типа могут моделироваться отдельно, — а могут использоваться как компоненты в структурных описаниях других объектов елМ.йу пзезогу в 1в делег1о (ип паиезвтг1пу(1 ео 5)); роге(с1Е: 1л вод 1од1с; вс Ел вс 1одзс; зл вод 1одзс; аддгз 4л ят5 и1одзс уессог((аддт 1епдсь-1) доелео 0)з датазз 1л втд 1одзс деспот((геу в1зе-1) доелео 0)з датасз Оив Вод 1ОЯТС уЕССОт((ГЕд ВЕгв-1) дОИЛЕО О) Ьия; П ктирование нв И(Р1 1оас3 тщп: 1п вгб 1одбс; впоге тщп: 1п вгб 1одбс ат1 епс1пу тетогу в; агоМСеоапге гг1 ог тепагу в 1в в1()та1 тещ агг: тещ аггау; Ьад1п тощ багет Ше ог Ьпв: ргооевв(1оаб топ, с1)<) чаг1аЬ1е чесгог: бпгедег; чаг1аЬ1а сои 0:пагига1; чаг1вЬ1е с пате:всг1пд(1 по 5); таг1аЬ1е сп: бпгедег; Ьад1п М 1оаб пот'ечепг апб 1оад тип = '1' ГЬеп сп: = 0; м)б1е поо(епбй11е(чесгогв г)) апб сп = 0 1оор гоаб(чессогв г,с пате,5]; 1й с пате = сп пате ПЬеп сп; = 1; ~~б 1г; соц 0: = 0; мМ1е поп(епбШе(чесгогв г)) апб сои 0<тщч.в1ге 1оор геаб(чесгогв г,чесгог, 1); 1й с пате = ип пате сЬап тет агг(соп 0)< = восо 1одбс чесгог(го чпв1дпеб(чеспог, гед абае),гед вбге); епб 1г; сои 0: = сои 0 + 1; е1ве М с1)<'ечепг апб с1)с = '1' ПЬеп 1й и = '1' ПЬеп тещ агг(го 1пгедег(ипв1дпеб(асИг) ) )< = вагаб; апб 1й; «об 1г; апб 1й; апб ргооевв тет йгощ Ше ог Ьпв; ттп 1таде Со Ше: ргооевв(вгоге тет) гог /лава 4 чаг1аЬ1е чесеотс1пеесет; чагхаьзе втгт:виталя(1 то 5); чаг1аЬ1е сои О:патига1; Ьеяал 12 весте спепс'ечепт алСГ весте тел = '1' тлел Ше преп(честите с<,"1оас(5.с(ас",аррепс) лос(е) аггее(чессотв е,ип пале); Еог сои О гл О ео (спел въге-1) 1оор честотс = та Ептеяет(ипв1впес)(спеси атт(сои О))); етгсе(чессогв е,честит); Ше с1ове(честите и); ело 12с епс1 ргосевв лет Ьпаое со т11е; тел еотс) со Ьив: ртосевв (т, асИт) Ьеяал 12 г = '1' ЕЬел с)асао< = свеса атт(еа Естест(ипвгдпес)(асЫт))) е1ве с)атас< = "ЕЕ2ЕЕ222"; ел6 12; елст ргосевв спет еатс) со Ьив; ело агсЬ1гессиге тт1) Рассмотрим описание объекта тетогу в, соответствующего блоку памяти.