Составители:
42
Параметры, определяющие количественные свойства реализаций (например, разряд-
ность данных, время задержки), в выражениях внутри подчиненных архитектурных тел яв-
ляются обычными константами. Но, кроме того, часто применяются параметры структурного
характера, уточняющие функции, реализуемые конкретными вхождениями параметризован-
ного модуля и/или его структуру. Чаще всего такие параметры объявляются в операторах ге-
нерации, синтаксис которых определен как:
<оператор генерации>::=
<метка оператора генерации>: <схема генерации> generate
<параллельный оператор>
{<параллельный оператор>}
end generate [<метка оператора генерации>];
<схема генерации>::=
if <булевское выражение>
| for <имя> in <диапазон>
Схема генерации с ключевым словом if разрешает (или блокирует) создание компо-
нентов, представленных вложенными параллельными операторами. Схема с ключевым сло-
вом
for определяет число компонентов, создаваемых в структуре модуля в зависимости от
значения параметра настройки.
В случаях, когда вариативность компонента достигается разработкой нескольких архи-
тектурных тел, т. е. первичному проектному модулю (
entity) этого компонента в библио-
теке проекта соответствует несколько различных архитектурных тел, проектный модуль
высшего уровня иерархии должен содержать объявление конфигурации компонента. Объ-
явление конфигурации определяет, какое именно архитектурное тело компонента использу-
ется в текущем проекте или сеансе отладки. Объявление конфигурации компонента подчи-
няется следующему синтаксическому правилу:
<конфигурация компонента>::=
for <спецификация компонента> use <индикатор привязки>;
<список вхождений>::=
<метка вхождения> {,<метка вхождения>}
| others
| all
<индикатор привязки>::=
entity <имя сущности> (<имя архитектурного тела>)
<спецификация компонента> ::= <список вхождений> : <имя компонента>
4.13. Пакеты
Мы уже неоднократно обращались к понятию пакета (package) в VHDL. Пакет — это
программный модуль, содержащий описание объектов, доступных нескольким другим про-
граммным модулям. В пакете могут быть объявлены глобальные типы, константы, функции,
сигналы и т. п. Фактически, общие для нескольких подпроектов типы и сигналы можно объ-
явить только в пакете.
Рассмотрим более формально правила записи пакетов.
Параметры, определяющие количественные свойства реализаций (например, разряд- ность данных, время задержки), в выражениях внутри подчиненных архитектурных тел яв- ляются обычными константами. Но, кроме того, часто применяются параметры структурного характера, уточняющие функции, реализуемые конкретными вхождениями параметризован- ного модуля и/или его структуру. Чаще всего такие параметры объявляются в операторах ге- нерации, синтаксис которых определен как: <оператор генерации>::= <метка оператора генерации>: <схема генерации> generate <параллельный оператор> {<параллельный оператор>} end generate [<метка оператора генерации>]; <схема генерации>::= if <булевское выражение> | for <имя> in <диапазон> Схема генерации с ключевым словом if разрешает (или блокирует) создание компо- нентов, представленных вложенными параллельными операторами. Схема с ключевым сло- вом for определяет число компонентов, создаваемых в структуре модуля в зависимости от значения параметра настройки. В случаях, когда вариативность компонента достигается разработкой нескольких архи- тектурных тел, т. е. первичному проектному модулю (entity) этого компонента в библио- теке проекта соответствует несколько различных архитектурных тел, проектный модуль высшего уровня иерархии должен содержать объявление конфигурации компонента. Объ- явление конфигурации определяет, какое именно архитектурное тело компонента использу- ется в текущем проекте или сеансе отладки. Объявление конфигурации компонента подчи- няется следующему синтаксическому правилу: <конфигурация компонента>::= for <спецификация компонента> use <индикатор привязки>; <список вхождений>::= <метка вхождения> {,<метка вхождения>} | others | all <индикатор привязки>::= entity <имя сущности> (<имя архитектурного тела>) <спецификация компонента> ::= <список вхождений> : <имя компонента> 4.13. Пакеты Мы уже неоднократно обращались к понятию пакета (package) в VHDL. Пакет — это программный модуль, содержащий описание объектов, доступных нескольким другим про- граммным модулям. В пакете могут быть объявлены глобальные типы, константы, функции, сигналы и т. п. Фактически, общие для нескольких подпроектов типы и сигналы можно объ- явить только в пакете. Рассмотрим более формально правила записи пакетов. 42
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »