Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 93
Текст из файла (страница 93)
Файлы ЧЕО и ЧНО, сгенерированные СогеОеп, содержат информацию, которая может быть использована пользователем для интеграции блока в модель. В модели проектируемого устройства этот блок будет рассматриваться как "черный ящик". Описание блока на поведенческом уровне содержится в библиотеках Соте Сепегагог; указатель на него содержится в ЧНО-файле (для ЧНР1.) или ЧЕО-файле (для Чег!!08). В общем случае ЧНО-файл имеет следующую структуру: Е! Х!!!пхСогеЬ|Ы.(ВКАКУ Рес!агагюп — описание библиотек; Е! СОМРОХЕНТ Рес!агабоп — описание компонента; С! 1пзгапбабоп !егор!а!е — шаблон назначений входных параметров; Е! СОННО()ВАТ(ОН Рес!агабоп тт!1!т ЧНР1. 8епепсз — конфигурационная декларация.
Рассмотрим процесс интеграции блока в модель на примере поведенческого моделирования, синтеза и реализации проекта с использованием восьми- разрядного сумматора. Сначала надо выполнить генерацию макроячейки сумматора (1р-блока), предварительно указав значения полей Рея!8п Епггу, Чепг(ог, и Ве)!ау!Ога! 8!пш!аг!Оп зец!пйв в соответствии с выбранным типом проекта. Далее, в диалоговом окне, открывшемся при выборе элемента — сумматора, нужно определить его параметры — разрядность входов данных (например, 8).
В листинге 7.5 приведен пример ЧНО-файла для восьмиразрядного сумматора (текст и комментарии сгенерированы автоматически, программой СогеОеп). !0Лиетииг7.$:: '. '" ',: " '; .:;-,, '., '::.-.;,' '--"-'...:!:' "',:, 0::::.М вЂ Па: Махе яппе спас Сьеяе яеасепепея арреая --аЬоче Епе сор-1еее1 епс1еу оес1апасгоп Ьп уопг 0НОЬ пеяьдп. --ЫВ тла Ьхозаву ХШпхсогеЬ1Ьг Пве Х111пхСогеЬЬЬ.пи11 сдпр.а11; ыв тАО ено — Пает: Маке яше епае Ептя ясасееепс аооеатя 502 Глава 7 Хп СЬе агсЬХСестите Ьеа6ег Хп уоит 'ЛП)Ь 6евХдп. СОВР ТАО оовропепг а66ег8 роге ( а: ХВ вт6 1одХс иестОЕ(7 6овпео 0)с Ь| ХВ вс6 1одзс ЪЕСТОК(7 6овпго О); с: ХМ яс6 1од1с; се: ХМ япа 1од1с; с1: ХМ вт6 1од1с; с1т: ХМ ят6 1одХс; я: ООТ ятй 1од1с иЕСТОЕ(8 6овпоо О) )," еп6 осввропепе; СОМР ТАО ЕВП -- Свет: Ма)се вите ГЬат ГЬХв втатевепг арреатя Хп СЬе атсЬХСесгите Ьо6у Хп уоиг иЕХР бев1дп, -- яиЬвт1титХпд уоиг сап Хпятапсе паве чЖете яЛоюп.
-- По пот йогдег Со сЬапде СЬе пег потев Хп ГЬе роги шар — го уоиг оъп 6ев1дп'я пес пап|ее. ХВБТ ТАО уоиг Хпвгапсе паше : а66ег8 роге вар ( а => а, Ь => Ъ, с => с, се => се, с1 => с1, с1г => с1т, в => я); ХВБТ ТАО ЕВ() ивет: Ма)се вите ГЬат СЬХв техт арреагв юХСЬХп тЬе тор-1еие1 сопй1дитаСХоп Ьобу Хп уоиг 'ЛПЭЬ 6ев1дп, Тот ехатр1е: оопггдигаегсы с1д тор ой Сор 1еие1 Хв Хог агсЬ пате <1пветт техт Ьете> еп6 Хог; еп6 сйд тор; СОВР ТАО Проектирование СБИС на языке )тН:)(. з среде Гоип0а(юп Ехргезз Еог в11: ас)дет8 иве епсзеу Х111пхсотеЬТЬ.пи11(ЬеьвМыв1) депегзо ввр ( яьдпед => ттие, ьприп иьс)СЬ => 8); епс) тот; СОБР ТАО ЕБО ЙО(Е: Тле 11пея Ьетиееп Сье Сио петхетя, -- СОБР ТАО, апс)— СОБР ТАО ЕБО: -СОБР ТАО тот в11 : асЫет8 иее епсЫу Х).11пхСоте( ЕЬ.пи11(Ьеьззт1огв1) депег1е евр( яьдпес) => ттие, ьприт иЫть => 8); епс) тот; СОБР ТАО ЕБО --Тьеяе 11пея пюят Ье ас)с)ет) Со а СОБР1отЗРАТ1ОИ япатептепт ьп уоит --итЮЬ Сеет Гьптите Ше от Сор 1ече1 йеяьдп Г11е.
503 После того как блок сгенерирован, для поведенческого моделирования необходимо выделить поведенческую модель блока и включить ее в состав проекта. Созданное генератором СогеОеп описание компонента необходимо включить в модель на соответствуюшем уровне иерархии. Для этого необходимо скопировать секции сопропепт, ьпзсзпсе и сспг1дитзтьоп с)ес1зтетьопя В тЕКСт ОПИСаНИя На тОМ УРОВНЕ ИЕРарХИИ, На КОтОрЫй включается компонент. Затем в шаблон секции ьпзсзпсе и сспеьдитатьоп сес1зтзсьопя необходимо вписать фактические имена сигналов и констант, используемых в модели для присоединения соответствуюшего компонента. ДаЛЕЕ, Прн НЕОбХОдИМОСтИ, МОЖНО СОЗдатЬ тЕСтОВЫй НабОр (Оес1ате з сопг1дитет1оп 1п сье сеятьепсь) подобно тому, как это выполняется в ОгСАВ Ехргезз (си. гл.
б). Конфигурационная декларация необходима только для выполнения поведенческого моделирования. Она окружена директивами компилятору, которые позволяют отключить ее при синтезе и реализации, чтобы позволить при реализации включить в модель оптимизированный список связей, а не тот, который может быть получен по приводимому поведенческому описанию. Пример того, как рассмотренный выше сумматор (листинг 7.5) может быть добавлен в модель, составленную пользователем, приведен в листинге 7.6 (текст и комментарии на английском языке сгенерированы автоматически, программой СогеОеп). Проектирование СБИС на языке чНС(.
в среде Гоцпс(айоп Ехргеяя 505 — — яо гЬаг фг те81есся асгиа1 з1дпа1я ияес) Ьп сье — -- девфдп, евгаЬ11вЬфпд сЬе соппессфчфсу Ьегыееп сЬе — — - соте апс) оСЬет 1одфс ас СЬЬв 1ече1. ТЬе Ьпвгапсе — — о8 СЬе соте шият а1во Ье дгчеп ап ассиа1 1аЬе1 Го — — тер1асе ГЬе сЪлшпу "уоиг фпвгапсе паше" гад.
1п СЬфв — — — ехашр1е, фс фя тер1асе<2 Ьу "шуасЫег8" . -- Имена сигналов, выделенные курсивом, определяются пользователем; — сам же шаблон назначения может быть скопирован из файла *.ЧНО, — сгенерированного Согедеп. шуасЫет8 1 . 'шуасЫег8 рогп швр ( а => ар, Ь => Ьр, с => с)с, се => сер, сф => сйр, с1г => с1тр, я => яр) г епа ияе соте; А рагг1а1 соп81дитатфоп ягасешепс 1в Тоипс) Ьп — — шуасЫег8.чЬо.1С сопгафпя ЬпТотшагфоп песеввату со 11п)с тье ьеьачьог ой гье соте ыфсь сье фся ---- Тпягапгфасфоп. ТЬфв сопИдитагфоп вестфоп йгсап ---- шуасЫег8 чЬо шивт Ье тертос)исес) фп СЬ1я ратепг — -- девфдп, ешЬесЫес) ыфГЬЬп ГЬе сопйфдигагфоп ягасешепт ---- ой рагепг с)евфдп. НОТНЬ Рог еасЬ соте ГЬат фв фпвтапгфасес) фп ГЬфя с)евфдп, а ипфдие рагсфа1 — — соп81дигагфоп ягагмпепг шияс Ье фпс1ис)ес).
-- Значения параметров, выделенные курсивом, определяются пользователем, — сам же шаблон конфигурационной декларации может быть скопирован из — файла *.ЧНО, сгенерированного сотедеп. -- яупоряув Сгапя1аге отг — Это директива компилятору, указыватпшя, что при синтезе дальнейший текст до — директивы яупоряуя Стапв1асе оп, т.е. конфигурационная спецификация должна — быть проигнорирована (используется только для выполнения поведенческого — моделирования) Глава Х 506 СОИРХООВАТХСИ сед язуас)сета тор ОР взуас?з?ета тор ХВ РОВ пве соте Тот а11 з язуасЫета пве епЕАЕу Х111пхсотеЬХЬ.язуасИетае?туит(Ьеиач?ота1) депетао зяар( вздпес? => 2, Хорст ззтт)тЬ => 8)з епзт Тот) епа Хотз епзт сед язуасЫета торз — яупоряуя ттапв1ате оп Пример структуры теста для рассмотренного сумматора может иметь вид, приведенный в листинге 7.7. , Листинг 7.7 11Ьтату 1ЕЕЕз пяе ХЕЕЕ.ята 1одзс 1164.аььз ЕИТХТХ тевтЬепсЬ Хв еип тевтЬепсиз висихтестове взяп1ате ОР тевтЬепсЬ хв — ТЬе ратепт т)евздп, язуадс?ет8 тор, Хв зпвтапттатед зп тизв теятЬепсЬ.
Моте тпе сопропепт — — — с)ес1ататзоп апб тие зпвтапттатзоп. ССЯЗРСИЕНТ язуас)ает8 тор РОЕТ ( ар : хи вот) 1одвс ззестот(7 зтозааео О); ?р з ХИ ятс) 1одзс уестот(7 аоепяо О); свз ХН ятс) 1одас серз ХИ вод. 1одтсз сврз ХИ втс) 1одзсз с1тр: ХН втб 1одз.сз врз СОТ ята 1одтс З/ЕСТОР (8 зтоепво О]); ЕИО язуасЫетв тор; вхдиззп а с?ата зпрпт : втс) 1одз.с уестот(7 в(вяитО О); вхдиззп ь с?ата зпрпт з яы 1одзс уестот(7 Зххиехо О); ВХЯНВЬ с1оси: втс? 1одзс; Проектирование СБИС на языке МН01 в среде Есипова((оп Ехргевв 507 81ЯИ))Ь с1оск епаЬ?е з вгб 1од?с; ЕЕОИЗЗй Сапу ЗЛ з Вгб 1ООЗ.С; егдиззй с1еаг: вгб 1одзсз 81)ЕЯЗ)1 вззвз з всб 1одз.с (8 ВСЯЯЗРРО 0); ВИШИ иисз туаббет8 сор РОЕТ ИВР ( ар => а бага борис, Ьр => Ь баса борис, сй => с1ос1с, сер => с1ос~с епаЬ1е, с1р => сатту зп, с1тр=> с1еаг, яр => яипз)з вт?ззи1ияз РЕОСЕЕЯ ВИШИ вЂ” В этой секции выполняется собственно определение значений сигналов для -- тестирования.
-- Ргоч1бе ясзвзи1ив зп гпзв вессбоп. (пот яЬозаз Ьеге) еаЫ з епб ргосевв; — вг?зпи1ия Рвяр взвяз1аве) --ТЬе сопЕздигас1оп, сйд сеясЬепсЬ, о8 сЬе севгЬепсЬ, теихпбв сЬе вбязи1агот Го тейег то СЬе сопНдитаг1оп Ягасвыаит ).П СЬЕ РатЕПС бЕВЗдл. ИОСЕ ГЬаг кИОГК" Иая юав сЬе беЕаи1с 11Ьтату злсо иЬ?сЬ сЬе гевсЬепсЬ апб сЬе рагепс бевздп юете апа1угеб.
СОИРГЯОЕАТГОИ сйд тевСЬепсЬ ОР СеяГЬепсЬ 28 РОР. взлзи1ате Рог а11 . "Иуаббез8 сор иве сопйбдигагбоп нот)с.сйд вуаббет8 Горз епб Еогз ЕИР Рогз ЕИО сйд СевтЬепсЬ) Глава 7 После того как модель откорректирована, можно выполнять моделирова- ние, синтез и реализацию. Описание автоматически сгенерированного 1Р-блока на поведенческом уровне по умолчанию недоступно для чтения пользователем.
Однако оно может быть получено с использованием утилиты яег вюее!в. Утилита йеГ воаеЬ вызывается из командной строки. Она может быть ис- пользована как для получения описания конкретного блока, так и для полу- чения описания множества блоков, представленных в библиотеках. Обращение к утилите яег пюве!в имеет следующий синтаксис: яее аоде1е ~ -еее11ед ) -еМЪ 3 п1евс1пае1оп о1песеогу> Здесь ееве1пае1пп е1песеопу — каталог назначения.
Внутри этого каталога генератор создает группу подкаталогов, каждый из которых соответствует одному производителю. Имена этих подкаталогов имеют следующую струк- туру: <Уевбог>Соге1аЬ; например, ХП~вхСогеВЬ. Приложение 1 Некоторые особенности использования конструкций языка ЧН01 при Синтезе Таблица П1.1 Конструкция языка ЧНОЦ Специфика при Синтезе Диапазон значений типов сигналов и данных определяет разрядность элементов синтезируемого устройства.
Явная спецификация диапазонов значений декларируемых сигналов и данных помогает синтезирующим компиляторам оптимизировать генерируемую реализацию устройства. Описание сигналов и пере- менных При синтезе игнорируются Начальные значения в дек- ларации сигналов При синтезе игнорируются Начальные значения в дек- ларации переменных При синтезе игнорируются Начальные значения в опи- сании портов объекта Использование перечислимых типов, вместо цифро- вых кодировок, дает лучшие возможности оптимиза- ции генерируемой реализации устройства синтези- рующими компиляторами Перечислимые типы Не поддерживается при синтезе Не поддерживается при синтезе Тип хеа1 Тип гаге Цель данного приложения — не столько дать справочную информацию, сколько привлечь внимание разработчика к определенным категориям средств языка ЧНР1. при переходе от Моделирования к Синтезу.