3.2. Описание структур на языке VHDL
3. 2. Описание структур на языке VHDL По форме структурные и поведенческие архитектурные тела не различаются. Различие состоит в составе используемых операторов и деклараций. В разделе объявлений SAB, кроме характерных для любых архитектурных тел деклараций, таких как декларации типов, сигналов, констант, включаются специфические подразделы: обязательный подраздел декларации прототипов используемых компонентов и необязательный подраздел объявления конфигураций. Раздел операторов SAB содержит операторы вхождения компонентов, которые, собственно, и определяют порядок соединения компонентов. Могут включаться и другие параллельные операторы, а если таких операторов относительно много, подобное архитектурное тело называют смешанным, или структурно-поведенческим. Каждому модулю, используемому в качестве структурного компонента
COMPONENT < имя ENTITY компонента> IS [ < образ настройки> ] < образ порта> END COMPONENT [ < имя ENTITY компонента > ];
Здесь < образ настройки> и < образ порта> — являются прямой копией высказываний GENERIC и PORT из текста декларации ENTITY соответствующего компонента. Если в устройстве есть несколько одинаковых модулей, то прототип декларируется только один раз. Тем не менее, каждому экземпляру, включаемому в проект, при структурном описании присваивается собственное имя. Это собственное имя предъявляется в разделе операторов архитектурного тела в виде метки оператора вхождения компонента. В подразделе объявления сигналов обязательно объявление всех соединений между блоками. Каждый такой сигнал относят к типу, определенному в разделе PORT модуля, к которому он подключен.
Основными операторами SAB являются операторы вхождения компонентов (Component Instantiation Statement), которые определяют порядок соединения включаемых в проект модулей и, возможно, их параметры. Синтаксис оператора вхождения определяется следующим образом: < оператор вхождения компонента> :: = < метка вхождения> : ([ COMPONENT ] < имя компонента> GENERIC MAP (< список соответствий параметров настройки> ) PORT MAP (< список соответствий порта> ); < список соответствий> :: = ([ < формальный параметр> ] => < фактический параметр> «, [ < формальный параметр> ] => < фактический параметр> » )
Для параметров настройки фактическим параметром может быть только константное выражение, а для порта – только имя сигнала либо имя порта " главного" модуля. Нельзя объявлять в качестве фактического параметра в списке соответствий порта имя входа или выхода другого компонента. Все связи осуществляются только через объекты, объявленные в текущем архитектурном теле как сигналы. (В принципе, объявление сигналов может осуществляться в общедоступном модуле PACKAGE. ) С точки зрения процедуры моделирования оператор вхождения является параллельным и его исполнение инициируется при изменении состояния любого входного порта. При синтезе каждый оператор вхождения порождает копию обозначенного компонента, порты которого подключены к связям в порядке, определенном списком соответствия. При записи списка соответствий возможны полная и сокращенная формы
Замечание: Альтернативным способом структуризации описания является вызов подпрограмм. Каждый вызов подпрограммы также можно интерпретировать как создание копии подсхемы, представленной телом подпрограммы. Однако подпрограмма не может описывать структуру, а только задает последовательность действий. Подпрограмма не может быть вершиной проекта и даже представлять законченное устройство. И, наконец, оператор вызова подпрограммы не означает автоматически создание при синтезе соответствующей подсхемы. Возможен синтез только одного экземпляра модуля с коммутацией входов и выходов, соответствующей вариантам использования. Рассмотрим в качестве примера структурное описание логической схемы, приведенной на рис. 3. 1.
Рис. 3. 1. Простое логическое устройство
Предположим, что в библиотеку используемой САПР скомпилированы образы необходимых компонентов:
Универсальный элемент И:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|