Структура программы на VHDL

Cодержание Следующая

Изучение VHDL

Структура программы на VHDL.

Дискретная система может быть представлена в VHDL как объект проекта. Объект — это основная составная часть проекта. Объект может быть использован в другом проекте, который, в свою очередь, описан как объект или может являться объектом более высокого уровня в данном проекте. Не путать объект проекта с объектами языка.

Объект проекта описывается набором составных частей проекта, таких как: объявление объекта называемое entity, тело архитектуры объекта (или просто архитектура), именуемое architecture, объявление пакета (package), тело пакета (package body) и объявление конфигурации (configuration). Каждая из составных частей объекта может быть скомпилирована отдельно. Составные части проекта сохраняются в одном или нескольких текстовых файлах с расширением .VHD. В одном файле может сохраняться несколько объектов проекта.

Объект проекта обычно описывается соглано синтаксису:

\объект проекта\::= [\описание library\]
       [\описание use\]
       \объявление объекта\
       \тело архитектуры\
       [\объявление конфигурации\]
[\описание library\]::= library \идентификатор\ {, \идентификатор\};

где идентификаторы — названия библиотек, которые используются в объекте проекта. Они указывают транслятору местоположение этих библиотек. Описание use указывает, какие пакеты и какие элементы этих пакетов могут быть использованы в объекте. Далее — более подробно об этом описании.

Описание use.

Объекты языка, объявленные в подпрограмме, процессе, пакете и объекте проекта видимы только в границах этих структурных единиц программы. Для того, чтобы в данной структурной единице был видимый объект, объявленный в другом месте, используется описание use. Его синтаксис:

\описание use\::= use \селективное имя\ {, \селективное имя\ };
\селективное имя\::= \имя1\. \имя2\

\имя2\::= \идентификатор\ | \символьный литерал\ |all

Здесь \имя1\ представляет собой обозначение места, где находится объект, который должен быть видимым. Это идентификатор библиотеки и идентификатор пакета в ней, разделенные точкой. Идентификатор — название объекта, который должен быть видимым, символьный литерал — символьное имя функции, например, » * «. Ключевое слово all означает, что видимы все oбъекты, объявленные в указанном месте.

Например, чтобы были видимы функции сложения и вычитания из пакета std_logic_arith библиотеки IEEE используют

use IEEE.std_logic_arith.»-«, IEEE.std_logic_arith.»+» ;

а если все объявления из этого пакета должны быть видимыми то используют

use IEEE.std_logic_arith.all;

Анатолий Сергиенко
E-mail: aser@comsys.kpi.ua