logo search
mat_mod

43. Интерфейс и архитектура объекта в языке vhdl.

Полное VHDL-описание объекта состоит как минимум из двух отдельных описаний: описание интерфейса объекта и описание тела объекта (описание архитектуры).

Интерфейс описывается в объявлении объекта entity declaration и определяет входы и выходы объекта, его входные и выходные порты ports и параметры настройки generic. Параметры настройки отражают тот факт, что некоторые объекты могут иметь управляющие входы, с помощью которых может производиться настройка экземпляров объектов в частности, задаться временем задержки.

Например, у объекта Q1 три входных порта Х1, Х2, Х3 и два выхода У1, У2. Описаниеегоинтерфейсана VHDL имеетвид:

Entity Q1 is

Port (X1, X2, X3: in real; Y1, Y2: out real);

End Q1.

Порты объекта характеризуются направлением потока информации. Они могут быть:

Тело объекта специфицирует его структуру или поведение. Его описание по терминологии VHDL содержится в описании его архитектуры architecture.

VHDL позволяет отождествлять с одним и тем же интерфейсом несколько архитектур. Это связано с тем, что в процессе проектирования происходит проработка архитектуры объекта: переход от структурной схемы к электрической принципиальной, от поведенческого к структурному описанию.

Средства VHDL для отображения структур цифровых систем базируются на представлении о том, что описываемый объект entity представляет собой структуру из компонент component соединяемых друг с другом линиями связи. Каждая компонента, в свою очередь, является объектом и может состоять из компонент низшего уровня (иерархия объектов). Взаимодействуют объекты путем передачи сигналов signal по линиям связи. Линии связи подключаются к входным и выходным портам компонент. В VHDL сигналы отождествляются с линиями связи.

Описание структуры объекта строится как описание связей конкретных компонент, каждая из которых имеет имя, тип и карты портов. Карта портов port map определяет соответствие портов компонент поступающим на них сигналам, можно интерпретировать карту портов как разъем, на который приходят сигналы и в который вставляется объект-компонента.

Принятая в VHDL форма описания связей конкретных компонент имеет следующий вид:

Имя: тип связи (сигнал, порт).

Например, описание связей объекта Q1, представленного на рис. 3 выглядит следующим образом:

К1: SM port map (X1, X2, S);

K3: M port map (S, Y1);

K2: SM port map (S, X3, Y2);

Здесь К1, К2, К3- имена компонент; SM,M-типы компонент; Х1, Х2, Х3, S, Y1,Y2- имена сигналов, связанных с портами.

Полное VHDL описание архитектуры STRUCTURA объекта Q1 имеет вид: 

Architecture STRUCTURA of Q1 is

Component SM port (A, B: in real; C: out real);

End component;

Component M port (E: in real; D: out real);

End component;

Signal S: real;

Begin

K1: SM port map (X1, X2, S);

K3: M port map (S, Y1);

K2: SM port map (S, X3, Y2);

End STRUCTURA;

 Средства VHDL для отображения поведения описываемых архитектур строится на представлении их как совокупности параллельно взаимодействующих процессов. Понятие процесса process относится к базовым понятиям языка VHDL.

Архитектура включает в себя описание одного или нескольких параллельных процессов. Описание процесса состоит из последовательности операторов, отображающих действия по переработке информации. Все операторы внутри процесса выполняются последовательно. Процесс может находиться в одном из двух состояний - либо пассивном, когда процесс ожидает прихода сигналов запуска или наступления соответствующего момента времени, либо активном- когда процесс исполняется.

Процессы взаимодействуют путем обмена сигналами.

В общем случае в поведенческом описании состав процессов не обязательно соответствует составу компонент, как это имеет место в структурном описании.

Поведение VHDL-объектов воспроизводится на ЭВМ, и приходится учитывать особенности воспроизведения параллельных процессов на однопроцессорной ЭВМ. Особая роль в синхронизации процессов отводится механизму событийного воспроизведения модельного времени now.

Когда процесс вырабатывает новое значение сигнала перед его посылкой на линию связи, говорят, что он вырабатывает будущее сообщение transaction. С каждой линией связи (сигналом) может быть связано множество будущих сообщений. Множество сообщений для сигнала называется его драйвером driver.

VHDL реализует механизм воспроизведения модельного времени, состоящий из циклов. На первой стадии цикла вырабатываются новые значения сигналов. На второй стадии процессы реагируют на изменения сигналов и переходят в активную фазу. Эта стадия завершается, когда все процессы перейдут снова в состояние ожидания. После этого модельное время становится равным времени ближайшего запланированного события, и все повторяется.

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

В случае дельта – задержек новый цикл моделирования не связан с увеличением модельного времени. В приведенном выше примере новое значение сигнала У1 вырабатывается через дельта- задержку после изменения сигнала S.