Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 78
Текст из файла (страница 78)
Текст опи- сания для него приведен в листинге 6.4. Листинг 6;4 +Яеп Сс 12 (1)ес) +Ха10 гоп б пв +вед1п яереас 10 + реете!пепе Ьу 1 Хаьо гоп б пв евпа Еереае Временная диаграмма работы устройства приведена на рис. б.б. Ча!0Е О аа 10 еа 20 аа Зоее 40 еа 00 аа Бо па 1~~~~~~~~~1~~~~~~~ ~1~~~~~~~~~1 ~~~~~~~~1 ~~~~~~ 1~~ ~~~~~~1~ 1еа1 !1 1 0 1 2 3 4 5 6 7 8 9 А 1еа! П С С В А 9 8 7 6 5 4 3 2 (еа! 01 О 0 1 2 1 0 6 0 1 0 2 Рис. 6.6. Временная диаграмма работы устройства (листинг 6.4) Определение значений на вкладке С!Ос)(. Эта вкладка может использоваться для описания сигналов тактирования.
В ней, в окнах Ве1 1о и еог первой строки, можно указать значение, которое сигнал тактирования будет иметь в первой части такта, и ее длительность, а в окнах Ве1 1о и Рог второй строки — значение, которое сигнал тактирования будет иметь во второй части такта, и ее длительность. В окне В1аг1 а1 (начать в) можно задать время начала тактирования. Переключатель Кереа1/Кереа1 Гогетег определяет, будет ли цикл повторяться определенное количество раз (заданное в окне Тппев) или повторяться постоянно.
После того как для сигнала определено очередное значение или группа значений, в окне Б1ппв!пя йесг!рМопв добавляется строка с описанием введенного значения. Желательно, чтобы строки описания значений стояли в поряд- Глава 6 428 ке возрастания времени.
Каждое значение сигнала действует до тех пор, пока не наступит время смены сигнала, указанное в этом же наборе, или до окончания моделирования. В начале вновь введенной строки описания сигнала стоит знак +. Он означает, что строка активна. Для того чтобы строка временно не учитывалась при моделировании, необходимо щелкнуть по ней мышью и нажать кнопку Р!заЫе (Деактивация), после чего строка будет помечена знаком —. Для активации строки необходимо воспользоваться кнопкой ЕваЫе (Активировать).
На вкладке Ве!а1!те можно активировать и деактивировать только все строки сразу. На этой вкладке имеются кнопки РЬаые АП и ЕпаЫе АП. Для удаления строки служит клавиша Ре)ете (Удалить), а для вставки — 1взег(. Для редактирования строки, ее необходимо выделить мышью, после чего ее содержимое можно отредактировать. После окончания редактирования, лля того чтобы изменения вступили в силу, необходимо нажать кнопку Сйавйе (Изменить). После того как ввод закончен, надо нажать клавишу <Ептег> на клавиатуре или кнопку ОК в нижней части диалогового окна.
При создании новой строки и при редактировании допустимые значения сигнала можно выбрать из выпадающего списка. Выпадающий список содержит перечень значений, допустимых для выбранного сигнала. Это может быть или список нл.-з, или символическая карта.
Если рассматриваемый сигнал является группой, то можно указать специфический для этой группы тип (пас, них, ост, втн), в котором будет задаваться значение. Карта символов. Карта символов состоит из множества пар значение/символ. Каждая пара содержит значение сигнала и строку символов, которая отображается, когда группа сигналов принимает это значение. Если группа сигналов приняла значение, для которого в карте нет описания, то отображается только само это значение. Каждая Карта символов должна иметь свое уникальное имя.
Одна и та же Карта символов может соответствовать многим группам сигналов в модели, но только одной группе в пределах одного окна диаграммы. Файлы тестов на ЧНО!. (Тези Вело!з-файлы) Для создания Тез1 Вепсй-файлов (файлов тестов на ЧН01.) используется пункт Сгеа1е Тевт Вевсй (Создать тестовый файл) меню Я1!юв!яв (Тесты). В диалоге определяется сущность, для которой будет создан тестовый файл, и имя тестового файла.
Если установлен флажок Аая То Рго!ес1 (Добавить в проект), то файл будет автоматически добавлен в проект в соответствующую папку Б!ша!а1!оп Везоагсез (Ресурсы моделирования). Созданный файл содержит две сущности, предназначенные для выполнения различных вариантов тестирования. Имена этих сущностей формируются следующим обра- Проектирование на МНР1 я среде РтРАР Ехргеяя зом: Ьавеепс1супазпе всеь и севе Ьавеепс1супаве, где Ьавеепсьеупате— имя сущности, для которой строится тест. СущНОСтЬ Ьавеепс1еупате вспЬ ПрЕдНаЗНаЧЕНа дЛя ВЫПОЛНЕНИЯ ОтсбражЕНИя МЕжду тпревьдп Севс Ьепсь И реве Вал СПИСКОМ СВяЗЕИ.
В НЕМ ПРОИЗВО- днтея ОтОбражЕНИЕ ВЕКтОрНЫХ ПОртОВ ИЗ ПрЕдотаВЛЕНИя тпревьдп В МНОжЕСтВа скалярных портов, так как они представлены в ровс вьв, рис. 6.7. Рис. 6.7. Преоораяояание портов в сущности ьаяеепс1супате веиь Перед описанием этой сущности в файле расположен комментарий, специфицирующий действия, которые необходимо выполнить с описанием перед его использованием.
РаССМОтрИМ СущНОСтЬ Ьавеепе1еупаве вспЬ. ОПИСаНИЕ ПОртОВ ЭтОй СущНОСГИ СОВПадаЕт С ОПИСаНИЕМ ПОртОВ дЛя Ьаяеепс1еупате. В НЕЕ ВКЛЮЧаЕтСя КОМПОНЕНТ Ьавеепе1еупаве, В ОПИСаинн КОтсрОГО ВСЕ ВЕКтОрНЫЕ ПОртЫ представлены в виде множества скалярных. Архитектурное тело содержит отображение: Опе: Ьавеепе1супап~е ЬЫе ПОРТЫ КОТОРОГО СООтВЕтСтВУЮт ПОРтаМ КОМПОНЕНта Ьавеепеьсупате. ПрЕждЕ ЧЕМ ИСПОЛЬЗОВатЬ Ьавеепс1еупатае вспЬ, НЕОбХОдИМО В ЕГО ОПИСаНИИ изменить имя устройства, подлежащего тестированию с ьаяеепе1еупапе ЬЫе На Ьаяеепе1еупатае И ИЗМЕНИТЬ ИМя КОМПОНЕНта С Ьавеепеьсупщяе На Ьаяеепе1еупате всеь.
Сущность секс ьаяеепс1супаве является оболочкой для выполнения моделирования. Эта сущность не имеет входных и выходных портов. Сущность Ьавеепе1супате ВКЛЮЧаЕтСя В НЕЕ В КаЧЕСтВЕ КОМПОНЕНта. В НЕй ОПИСЫВаЮтся сигналы, совпадающие по имени и типу с входными и выходными сигналами Ьавеепс1супатпе. Это иллюстрируется рис. 6.8. Архитектурное тело содержит отображение Опе: Ьавеепс1еупате порты которого отображаются на одноименные сигналы, описанные внутри тевя Ьаяеепс1еупапе. 4ЭО Глава 8 Рис. 6.8.
Структура сущности севе Ьавеепсьсупаве ПЕрЕд ИСПОЛЬЗОВаНИЕМ Севе Ьавеепев супов, В МЕСТО ОПИСаНИя, ПОМЕЧЕН- ное комментарием Р1асе везлки1пв апп апа1увьв всаеевепев пете можно вписать операторы, определяющие значения входных сигналов и аНаЛИЗ ВЫХОДНЫХ СИГНаЛОВ дпя Ьавеепеьеупаве. ЭтО МОжЕт бЫтЬ СОВОКуП- ность параллельно выполняющихся операторов или совокупность процессов. Значения входных сигналов могут определяться на базе значений выходных сигналов.
Этим определяется преимущество использования данного метода перед заданием значений сигналов с помощью 1втегасйте (Интерактивного определения). Там значения сигналов определяются безусловно, а в Теяг Вепс)т возможно их условное определение. В окне менеджера проектов тестовый файл помечается буквой Т и тип его — ЧН01.
Тезг Вепс(т. После формирования файла и добавления его в проект, для того чтобы начать его использовать, проект необходимо перезагрузить. При перезагрузке выдается диалоговое окно, в котором запрашивается, какая из двух рассмотренных выше сущностей будет использоваться. Выбранная сущность получает статус корневой. Ее пиктограмма в менеджере проектов помечается косой чертой. Корневую сущность можно определить и вручную. Для этого в менеджере проектов необходимо выбрать зту сущность и воспользоваться пунктом Ма)се Квот (Сделать корневой) меню Ев(1 (Редактирование).
В проекте может быть только одна корневая сущность. Если на момент определения, в проекте уже была корневая сущность, то она перестает быть корневой. Если в проекте в явном виде не определена корневая сущность и нет файла ЧНРЕ Теяг Вепс)т, то корневой считается сущность, находящаяся в файле, имеющем тип ЧНР). яоигсе. Проектирование нв МН01 я среде ОгСАО Етргевя 431 Если описание модели имеет иерархическую структуру, то для выполнения моделирования необходимо также указать сущность, которая будет рассматриваться как сущность, находящаяся на верхнем уровне иерархии.
Она не обязательно физически должна находиться на верхнем уровне иерархии, но в этом случае все вышерасположенные сущности в моделировании принимать участие не будут. Рассмотрим пример использования этого механизма. Описание моделируемой сущности приводится в листинге 6.5. Листинг 6;6 13.Ьтату 1ЕЕЕ; иве 1ККК.кто ЬОО1С 1154.а11; иве 1ККК.НоивагС ктр.а11; епМеу гпусеят кв роет (ьп1, ьп2: кп яЫ и1одьс иестот(3 бовпто О); оит1: оит яс. и1од1с честит(3 повито О) оит2: оис яЫ и1одгс ); епо гяусеяг.; атоЫЕеосите тт1 оЕ гяутеят кв Ьед).п Ртооевв (ьп1, ьп2) иатьаЬ1е иоитп вес) и1одгс частот (3 ()пепси О); Ьед1п иоис :=ьп1 апо ьп2 оит1 <висит аттет 5 пяг оит2 <г гоит(0) евсея 5 пв; епд ртооевв; епк атсЬЗ.Ееотитег В данном примере моделируемая сущность имеет название пзугеьк Она имеет два входных порта векторного типа и два выходных порта, один из которых так же принадлежит векторному типу.
Тезг Вепс))-файл, сгенерированный ОгСА0 Ягпи)а(е для этой сущности, приведен в листинге 6.6. ':.Листинг 6.6 — иирь Ятиь то вар Ьетиееп 1превьдп Севтьепсь апд роет-РЬК пет11вт — тпьв ятиЬ 511е перв честит роттв ттогп тье 1преяьдп тертевептатьоп — то яса1ат роттв ьп СЬе роет-РЬВ Глава б то иве ептв шарр1пд до епе йо11опз1пдз 1. СЬапде ЕЬе паше ой ЕЬе 6ечтсе ипбег Ееяс тп ЕЬе агслтсессиге ой 'шусевп ясиЬ' йгош 'шусевс ЬЫе' Ео 'шусевс' 2. СЬапде ЕЬе паше об ЕЬе ссюпропепс гейегепсе6 1п Епе Еевс Ьепсп Ье1опз йгсш 'шупевс' Ео 'шусевс всиЬ' — Сгеапе6 Ьу ОгСА0 Яззпи1асе Моп Маг 18 18:39:07 2002 11Ьгагу тееез иве 1еее.вЕ4 1одтс 11бп.а11з иве теее.пишегтс яеб.а11з елЕ1пу шупевс ясиЬ 1в рогЕ ( оис2 з оип ясс( и1одз.с; оие1 : оие ве6 и1од1с иесеог(3 6оелео О); зп2: 1л яп6 и1одзс зессог(3 6оелсо О) з зп1: 1л всй и1одтс чессог(3 6свазпо О) )з еп6 пзусеяс ясиЬз агсЬ1Ееспиге шаррзпд ой шусевс,впиЬ Ав -- Рес1агастоп ой ЕЬе шеррер сопропепс ссаропеле шуееве роге ( оие2 : оие ве6 и1сдзсз оис10: оип вс6 и1сдз.сз оис11 : оип всй и1одз.сз оис12 з оие яес3.и1сдз.сз оис13 : оиЕ вп6 и1сдз.с; 1п20 : Ы вп6 и1сдзсз Ьп21: 1л яг6 и1одз.сз 1п22: 1л яе6 и1одз.сз зп23 : 1л ве6 и1сдтс; тп10 : 1л ясд.и1одз.сз 1п11 .