Суворова Е.А., Шейнин Ю.Е. Проектирование цифровых систем на VHDL (2003) (1095892), страница 29
Текст из файла (страница 29)
Следует учитывать, что значение ч вычисляется независимо от значения внешнего сигнала, ассоциированного с ч. Даже когда все процессы внутри ггь агапе год ОтеоЕдИНЯЮт свои истоЧНиКИ от Ч, Решаюшая функция вычисляется и передает значение внешнему, ассоциированному с ч, сигналу. ЧНРЬ не предоставляет механизма отсоединения портов от ассоциированных с ними сигналов, что создает определенные трудности на высоких уровнях абстракции. На более низких уровнях абстракции отсоединение может моделироваться как г-состояние. Базовые конструкции моделей на языке И701 Охраняемые сигналы в качестве параметров подпрограмм. ЧНРз.
не предоставляет возможности указания того, что формируемый параметр-сигнал является охраняемым, однако фактический сигнал, связываемый в момент вызова процедуры с формальным параметром типа сигнал, может являться охраняемым. В подпрограмме к любому параметру типа сигнал может быть применена нулевая транзакция, но если на его место будет подставлен фактический сигнал, не являющийся охраняемым, это приведет к ошибке.
Подпрограммы работают с драйверами сигналов тех процессов, которые их вызвали. Например, модель устройства-регистратора, просматриваюшего и отображающего состояния двух портов, может иметь вид, представленный листингом 3.29. агеМГаогпга Ь1с)ЬС 1ессе1 ог с)ага 1оддег 1в веьеуре Ьуге 1в Ь1С зсесеог(7 ооепео О); гуре Ьусе аггау ав аггау (1пеадвг гапдв <>) ог Ьусе; гппоМ.оп гево1зсег (Ьссевз Ьусе аггау) гегогп Ьусе ав Ьед1п 1г Ьпсев'1еид~»0 гиеп геепгп Ьусев(Ьпгев' 1агс); а1ва гвФлзгп х"00"; епа гопоМоп гево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; (зв Глава 3 вава оп о1оо)с, оие епаЬ1е, с)с епс1 1оор; епсЗ рвоовасвсе пад с в1дпе1 с)а?а Ьив пвево1чес) ?у?е Ьивс ЬедЗп а педс пед(а вед о1)с,а пед пеас),рог? а,с)а?а Ьив) Ь гед: гед(Ь вед с1)с,Ь пед пеас),рог? Ь,с)а?а Ьив) епо авоЬЫеоеиве Ь?дь? 1аче1с Для каждого из портов предусмотрен входной регистр.
В один момент времени устройство-регистратор выдает на входную шину состояние одного из регистров. Процесс вед активизируется с использованием параллельного вызова процедур. Настраиваемые параметры модели(6епепсв) Проектирование современных цифровых систем обработки информации на СБИС предполагает широкое повторное использование разработанных узлов, блоков, устройств. Однако для того чтобы узел мог применяться в достаточно большом числе проектов, он должен быть адаптируемым, настраиваемым к условиям конкретного применения (и по функциональным свойствам, и по условиям реализации).
Одним из основных механизмов языка ЧНРЬ для этих целей является механизм настраиваемых параметров депввзо. Предположим, имеется готовый проект узла на ЧНРЬ, реализованного и успешно работающего при технологии, обеспечивающей задержку на вентиль в 3 нс. Для этого узла есть весь комплекс поведенческих и структурных моделей, тестовых векторов.
Естественно, в описании проекта узла на языке ЧНРЬ прописаны значения задержек компонентов схемы. Предположим, что они все нормированы относительно базовой временной характеристики — задержки на вентиль, прописанной как константа в моделях обьектов. Эти задержки используются, например, при временном моделировании. Теперь у нас появляются новые технологические возможности реализации СБИС, имеющей задержку на вентиль в 2 нс.
Для использования готового проекта узла в новых проектах, ориентированных на такую технологию, придется исправлять значения базовых констант во всех текстах программ. При достаточно сложных, многокомпонентных проектах с развитой иерархической декомпозицией моделей, с использованием библиотек и пакетов, проделать такую коррекцию крайне сложно. Использование настраиваемых параметров, декларированных как двпваза, позволяет создавать на ЧНРЬ модели проектируемых устройств, моделируемые и синтезируемые таким образом, что их функционирование зависит Базовые конструкции моделей на языке )тНР1 (39 от заданных настроек этих обобщенных параметров. Это стандартизованный языком ЧНРЬ механизм передачи параметров настройки по иерархии структурного описания объектов, составляющих модель проектируемого уетрОйСтВа.
КЛЮЧЕВОЕ СЛОВО депег1с (ОбсбщЕННЫЕ, ОбщИЕ дпя ВСЕХ) Отражает суть этого понятия в языке ЧНРЬ. НаСтраИВаЕМЫЕ ПараМЕтрЫ депегао ОПИСЫВаЮтСя В дЕКЛаратИВНОй ЧаСтИ описания объекта моделирования, епе1су и в секции декларации компонентов. Пример приведен в листинге 3.30. ', Листинг 3.30 -, ' . * 11ъгагу геее; пве гвее.всс( 1одгс 1164.а11( впе1еу агз 1в явпег1с (даее с)е1ау: Е1ве); роге (гп1, ъп2, ъпз: 1п вМ 1одгс; апс ргп: апе вес 1ад1с); впа епгасу огз; вгсысвсгигв )зе)точ огз аа огз 1в овг ргп <= (ъп1 ог гп2 ог гпз) аагвг даее с(е1ауг апа агсиясеоепгв )ве)тоу огз; Настраиваемые параметры двпегас — это константные значения.
Их значения могут использоваться в выражениях, но не могут изменяться в ходе выполнения программы на ЧНРЬ. Настраиваемые параметры широко применя)отея в проектах цифровых устройств на ЧНРЬ не только для параметризации задержек, но и для параметризации разрядности шин, числа портов объектов и др. Определение настроек, задание в проекте значений для настраиваемых параметров депег1с выполняется конструкцией депвг1с агар, входящей в оператор назначения компонента, который включает экземпляр объекта- компонента в структурное описание объекта более высокого уровня. Синтаксис этого определения: явпег1о агар (депеггс аввосаасъоп 11вс) Обратите внимание, что после конструкции двпегяс вар (... ) символ; не ставится.
(40 Глава 3 Список депегйс аввосъасйоп 1йвс состоит из пар, депегйс рагаввпег => ехргеввъоп перечисленных через запятую. Здесь депегъс рагавесег — имя настраиваемого параметра; выражение депегъс ехргеввьоп задает значение параметра. Еше есть возможность задавать так называемое позиционное соответствие, когда присваиваемое значение и какому настраиваемому параметру оив присваивается, определяются их положением в списках в девах~с и депегвс вар. Однако мы бы не рекомендовали его применять, как чревато( сложно выявляемыми ошибками.
Выражение депегйс ехргеввйоп может включать константы и настраивае. мые параметры, декларированные как депег~с. Выражения, задающие значения параметров депегъс при настройке, должны быть вычислимы на этапе компиляции программы на ЧНРЬ. Важным преимуществом настраиваемых параметров объектов проекта, определенных как депег~с, является то, что устанавливаемые депегвс вар значения настраиваемых параметров распространяются вглубь иерархии объектов, составляющих модель.
При описании настраиваемых параметров депегас в модели объекта„ии может задаваться конкретное исходное значение. Например, в листинге 3.3й мы можем поставить депегАс (даве ое1ау: Иве:=3 пв); Описанная таким образом модель объекта становится исполняемой, т. е. ев можно автономно моделировать, можно автономно синтезировать по ней реализацию специфицированного на ЧНРЬ устройства.
Однако когда мы включим такой объект в качестве компонента в структурное описание другого объекта (листинг 3.31), а в спецификации объекта более высокого уровня, используя депегз.с вар, зададим иное значение для этого настраиваемого параметра, например, депегас вар (дасе с)е1ау => 2 пв) то значение параметра даве се1ау в компоненте-экземпляре рассматриваемого объекта будет перегружено с 3 нс. на 2 нс. В этом наглядно проявляется "сквозной" характер настроек значений параметров депегзс, задаваемьп депег1с вар. агсМЕесепге всгисспге ехавр ог ехавр1е гв ссаропепв с)тгее Ьпрпс ог Ъв депегас (даве ое1ау: Ива); роге (х,у, г: гп веса 1одйс; Базовые конструкции моделей на языке [тН01 141 о опе вес( 1од1с) ) епс соаропепе Тптее ьпрпТ от; хох Тьтее ьпрпТ от пве епеьТХ отз (Ьеьое отз) Ьедап ппьТ10: Тьтее ЗприТ от депехас аар (даТе с1е1ау=> 2 пв) рохТ аар (х=>т)., у=>т2, х=>тз, 0=>тед); еае ахсьз.евсееве вТтссТпте ехаар; Здесь наглядно видны также отличия правил учета вложенности описаний И ОлрЕДЕЛЕНИй ЗНаЧЕНИй НаетраИВаЕМЫХ ПаРаыстРОВ депехьс ОТ ПраВИЛ видимости описания констант во вложенных программных конструкциях.
Локальное описание констант как бы закрывает их от влияния глобально определенных значений констант с теми же именами, в то время как параметры депехьс действуют с верхнего уровня задания значений на всю глубину вложенности содержащих их конструкций. Блоки Назначение блоков в модели В общем случае механизм блоков используется для иерархической декомпозиции программы на УНР[., для управления областью действия описаний переменных, процедур, аналогично применению блоков в традиционных иыках программирования.