Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 26
Текст из файла (страница 26)
Конфигурационная спецификация используется в архитектурном теле описываемого объекта для определения связи между компонентами и парами (декларация объекта моделирования / архитектурное тело объекта моделирования), соответствующими этим компонентам. Предполагается, что модели объектов, соответствующих компонентам, расположены в библиотеках. Конфигурационная спецификация позволяет определить, в какой библиотеке расположена модель объекта, соответствующая компоненту, имя объекта-компонента в библиотеке, а также позволяет задать имя его архитектурного тела, которое должно быть использовано в данном контексте (при включении такого объекта как компонента в описываемый объект более высокого уровня).
Выполнение конфигурационной спецификации называют связыванием (Ъ1пгй па). Конфигурационная спецификация имеет следующий синтаксис: Доя совропепс врес)дьсасаоп Ыпдапд ълс)ьсае1оп; евй Вовг Секция согпропеш зрес)йсабоп задает идентификатор компонента- экземпляра или компонентов-экземпляров, к которым относится данная конфигурационная спецификация. Она имеет следующий синтаксис; (1пвеапезаеъсп 1аЬе1 (,...
) ( осиевв ! а11): сопропепе паве Здесь: ъпвсвпсьвсъсп 1вьв1 — имя-метка экземпляра компонента в структурном описании объекта (выше мы подчеркивали необходимость наличия уникальной метки при каждом операторе назначения). Конфигурационная спецификация относится ко всем компонентам-экземплярам, имена-метки которых перечислены в этом списке. Ключевое слово в11 говорит о том, что конфигурационная спецификация относится ко всем экземплярам компонентов этого типа, а сеиввв — ко всем остальным, кроме отдельно специфицированных, экземплярам компонентов этого типа. Тип компонентов указывается идентификатором согвропепс пате (введен декларацией компонента в данном структурном описании архитектурного тела).
базовые конструкции моделей на языке )тНОЬ (гЗ СЕКцИя Ьтоц1од 1оптсаетоо ПОЗВОЛяЕт ОПрЕдЕЛИтЬ ОбЪЕКт МОдЕЛИрОВаНИя, который будет соответствовать данному компоненту. Она имеет следующий синтаксис: вве еоедсу еоеьсу паое ((атстеесеше Ыеоетттет)] Поле еостсу пате задает идентификатор — имя модели, которая берется как модель конфигурируемого компонента; в этом поле могут быть указаны и имя библиотеки, и имя пакета, в которых помещено описание модели с указанным именем. Если в описании модели имеется несколько альтернативных архитектурных тел, то далее, в круглых скобках, указывается идентификатор архитектурного тела, которое должно использоваться для конфигурируемого компонента.
Пример приведен в листинге 3.2Ь Листинг 3.21 Еов Ысо, Ьтс1: д11рт1ср ове ~тСИу ыотх.ес)де т стддетес] с]ГГ(Ьавтс) еоа воат В этом примере конфигурационная спецификация относится к двум компонентам — ьтсо и ьтс1. Эти два конкретных компонента соответствуют одному типу компонента — д11рвтор. Он сопоставлен обьекту, описание мо- ДЕЛИ КОтОрОГО (ИдЕНтнфИКатОр — епде Сттддетеп Оде) раСПОЛОжЕНО В библиотеке ыотк. Для конфигурируемых компонентов нужно использовать архитектурное описание с именем Ьавъс. Конфигурационная спецификация компонента всегда является частью описания структурной формы описания архитектуры некоторого объекта моделирования, в который включается конфигурируемый компонент.
Конфигурационная декларация Поскольку конфигурационная спецификация компонента располагается внутри архитектурного тела, ее изменение приводит к необходимости редактировать текст модели объекта, включающего этот компонент, и перекомпилировать ее. Другая форма задания конфигурации компонентов структурного описания объектов — конфигурационная декларация (ооое1докасдоо). Она содержит ту же информацию, что и конфигурационная спецификация, но организована как отдельный модуль программы на ЧНРЬ, может быть расположена в отдельном файле и использоваться независимо, наравне с модулями вос1су декларативной части описания объекта моделирования и модулями а*сььееосоке описания архитектуры объекта моделирования.
[г4 Глава 3 Конфигурационная декларация должна иметь уникальное имя. Конфигурационная декларация пишется для конкретного объекта моделирования, для его конкретной архитектуры. Конфигурационная декларация имеет следующий синтаксис: оопййдигасяоп сопййдпгае1оп паве ой епе1еу паве йя йог агснйеесеиге папе -- имя конфигурируемого описания архитектуры (йог ссвропепе яресйййсаейоп Ыпсйпд йпоцсаезопз епзй йогз) епзт йогу азий [ оопййдогамоп] [сопййдихаез.оп папе] з Здесь: О ИдЕНтИфИКатОр сопййдпгаЫоп паве — ИМя КОНфИГурацИОННОй дЕКЛарации; О идентификатор епысу папе — имя обьекта моделирования, для которого она предназначена; О идентификатор агс)зйсесспге папе — имя конкретного архитектурного описания объекта моделирования. Внутри конфигурационной декларации указываются конфигурационные спецификации для компонентов, входящих в состав данного архитектурного описания.
Например, конфигурационная спецификация (листинг 3.22) может быть включена в состав конфигурационной декларации следующим образом: оопййдогасйоп сопй 1 ой епе1еу Ыяя йя йог епе1еу Ыея негусе йог ЫСО, ЫС1з й1зрй1ор пяе ~змяу иогх.ес]де Сгзддегес с]йй[)зая1с)з апо йог; епзй йогз епо оопййдпгаяйоп сопй 1; В этом примере конфигурация сопй 1 определяется для объекта модЕЛИрОВаиня С ИМЕНЕМ епЫСу Ыея, дЛя ЕГО арХИтЕКтурЫ С ИМЕНЕМ епейяу Ыея яягисе.
Конфигурирование моделей с многоуровневой иерархией Конфигурации являются мощным механизмом языка ЧНО[., позволяющим задавать конкретную реализацию моделей проектируемых устройств пазовые конструкции моделей на языке ] 4НРс 12о в условиях, когда на различных уровнях модели есть множество вариантов их реализации: и по форме (поведенческая/структурная), и по уровню детализации, и по ориентации на разные технологии воплошения в СБИС, и др. При конфигурировании моделей с многоуровневой иерархией возникает необходимость структурировать сами конфигурационные декларации, создавать многоуровневую иерархию конфигураций. Для этого в секции ]ойпг]йпд йпс]йсасйоп конфигурационной спецификации может включаться указание на имена используемых конфигураций.
Это указание имеет следуюший синтаксис: пве оопййдпгаейоп сопййдпгагйоп папе; Например: йог й1ад гед:гед44 пве оопййдпгаейоп еог\с.гед4 даге 1еое1; епа йог; Такая форма связывания компонента в модели позволяет присоединить предварительно сконфигурированные пары объект/архитектура, просто называя конфигурационную декларацию, где они специфицированы. Образ тите внимание, что в этой конфигурационной спецификации мы указали сопййдпгасйоп папе — имя конфигурационной декларации, которая, в отличие от конфигурационной спецификации, является самостоятельным программным модулем на ЧН]З].
и имеет имя. Для того чтобы конфигурировать объект, содержащий множество уровней иерархии, используется комплексная кон4изурационная декларация, которая имеет следуюший синтаксис сопйздпгасйоп Ыепсйййег ой епсйсу папе йв Ыос)с. сопййдпгасйоп епд [оопйгдпгасгоп] Ыепсйййег]; Здесь секция ]з1оск сопййдпгасйоп имеет следуюший синтаксис: йог агспйсесспге папе [йог сопропепс вресйййсагйоп 'ойпойпд йпс]йсагйоп; [Ь1оск сопййдогасйоп] епа йог;] Комплексная конфигурационная декларация позволяет сконфигурировать компоненты, входящие в состав объекта моделирования.
[гв Глава 3 Использование полностью сконфигурированного обьекта моделирования При включении компонента-экземпляра в структурное описание архитектуры объекта можно использовать в качестве компонента полностью сконфигурированный объект моделирования. В этом случае оператором назначения компонента сразу указывается имя используемой конфигурации.
Такая конструкция имеет следующий синтаксис: 1пяпаппъас1оп 1а)зе1: сопгвдззгас1оп сопйъдигапъоп пате [депегАс тар (депегзс аввосьвпаоп 11вс) ] [рогп взар (роге аяяосъасзоп 11вп)]з КОНфИГурацИя С ИМЕНЕМ сопаъдигас1оп пате ВКЛЮЧаЕт СПЕцИфИКацИИ ОбЪ- екта моделирования и соответствующего ему архитектурного тела.
Секции депег1с тар и роге пар позволяют задать действительные значения обобщающих констант, входных и выходных сигналов. ВКЛЮЧЕНИЕ депегАс зпар И рогп тар В СЕКЦИЮ Ыпбьпд ьпб1сас1оп КОНФИ- гурационной спецификации предоставляет очень гибкие возможности по присоединению компонентов. Синтаксис такой конструкции имеет следующий вид: пве еппасу епс1су пате [ (агс)з1сесппге ЫепСШсасог) ] ~ сопгйдпгапаоп соптздигаеъоп папе [депег1с тар (депег1с аввосзасьоп 11вс)] [роге зпвр (роге аввосьасъоп 11яп)] Одним из возможных применений данного механизма является отделение спецификации обобщающих констант (используемых для задания временных характеристик) от спецификации собственно структуры схемы. Можно написать декларацию компонента структурно, не включая обобщающие константы, и только потом, включая его экземпляр в модель, указать значения этих констант.
Пример приведен в листинге 3.23. ],Листинг 3.23 1аъгаву ъееез пве зеее.яЫ 1одзс 1164.а11з — декларативная часть описания объекта сед епе1еу гед 1в депег1с (и вебер, с )зо1п), с рс):с)е1ау 1епдс)зз иъЖЬзров1Шзе); рогп (с1оскззп впд 1одзсз п)ада зпз Ап всс3 1од).с чеспог (О Ео иЫьь-1)з Базовые конструкции моделей на языке ИтШ (г7 бата оцтз опс втс? 1одз.с ззестот(0 Ео кать-1)) епа епМЕу тед; — описание архитектуры (вариант яттцстцта1) для объекта соптто11ет атс?зйсесспге яттистцта1 ой сопето11ет гв ссвзропепе тед Ав депегйс (ыЫСЬз ров3.еЬзе)з ротс (с1оскз йп ятб 1одйсз з?ата йто йп втб 1одзс уестот (О Ео иЫЕЬ-1)з г?ага оцтз опт ятб 1одзс уестог (О Ео ыЫСЬ-1))," еп(( соевзопепт тед; Ьедзп втасе тедз ссацропепе тед депег1с вар (ыЫЕ?з=>втаее гуре'1епдтш ротс звар (с1оск=> с1оск рпаяе1, бата Ы=>пеке агате, баса опт=> сцттапс агате) еоа агсьйгеогпге аттис?цта1; — конфигурационная декларация сопййдогегйозз соптто11ет идти тнпйпд ой соптто11ет тв йог яетцстцта1 йог веате тедз тед пве епМЕу ыотк.тед(дате 1еззе1) депегйс звар (С яе?цр=>200 пв, т Ьо1б=>150 пя, Е рз?=>150 пя, ыЫЕ?з=>ыЫСЫ; епо йог; еаза йог? епд сопйздпгаейзпз соптто11ег ызть е1пппдз Более того, это позволяет решать в модели проблемы, связанные с несовпадением не только имен констант и сигналов, но даже их количества.