Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

3.2. Описание структур на языке VHDL




3. 2. Описание структур на языке VHDL

По форме структурные и поведенческие архитектурные тела не различаются. Различие состоит в составе используемых операторов и деклараций.

В разделе объявлений SAB, кроме характерных для любых архитектурных тел деклараций, таких как декларации типов, сигналов, констант, включаются специфические подразделы: обязательный подраздел декларации прототипов используемых компонентов и необязательный подраздел объявления конфигураций. Раздел операторов 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...