Главная страница  Автономные управляющие системы 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [ 31 ] 32 33 34 35 36 37 38 39 40

4.5.1. Описание простого объекта

Для иллюстрации возможностей VHDL рассмотрим пример проектирования простой комбинационной схемы, назовем ее объект F Объект проекта F имеет два входа - А1 и А2 и два выхода - В1 и В2

4.5.2. Объявление объекта проекта F

Entity Г IS

Port (Al, А2: хп BIT. Bl, В2: oat BIT)

Сигналы принимают значения 1 или О в соответствии с таблицей истинности

Входы

Выходы

4.5.3. Поведенческое описание архитектуры

Вариант описания архитектуры BEHAVIOR объекта F использует условный оператор If языка VHDL и учитывает, что только при обоих входахА! и А2, равных 1, выходы В1 = 1 и В2 = 0 В остальных случаях наоборот - В1=0иВ2=1.

Architecture BEHAVIOR of F is

Begin

Process

Begin

Hsit on (Al, A2)

If (Al=l) and (A2=l)

Then B1<=1, B2<=0,

End If,

End process;

End;

В каждом процессе может быть только 1 оператор wait on. Второй вариант поведенческого описания архитектуры объекта F, назовем его BEHAVIOR F, использует выбор case языка VHDL и учитывает то свойство функции F, что для первых трех строк ее значение не меняется В заголовке процесса указан список чувствительности процесса process (А1, А2). Это указание эквивалентно оператору wait on (А1, А2) в начале описания процесса

Architecture BEHAVIOR F of F is Begin

Process (A1,A2); Begin

-&-операция

esse (A1& A2) IS

-первые три строки таблицы

when 00 / 01 / 10 => В1<=0, В2<=1

-последняя строка таблицы

when 11 => В1<=4; В2<=О

end case

end process

end BEHAVIOR F,

4.5.4. Потоковая форма

В процессе проектирования объекта F могут быть предложены различные варианты его функциональных схем. Описание архитектуры объекта F может быть таким

Architecture F A of F is Begin

-хаждоку вентилю сопоставлен оператор назначения сигнала

В1<= А1 and А2,

В2<= not (Al and А2),

End,

Здесь каждому элементу сопоставлен процесс, отображающий Последовательность преобразования входной информации и передачи ее на выход Процесс представлен в форме оператора параллельного назначения сигнала. Операторы назначения сигнала (<=) срабатывают параллельно при изменении хотя бы одного из сигналов в своих правых частях

Другой вариант описания архитектуры F B. Здесь вентили включены последовательно

Architecture F B of F is

Signal X: bit

Begin

B2<= not (X), X <= Al and A2, Bl <= X; End;

Промежуточный сигнал X введен в описание архитектуры F B объекта F потому, что в описании интерфейса объекта F порт В1 объявлен выходным, то есть с него нельзя считывать сигнал и запись В2<= not(BI) была бы не корректной

Сигнал В2 вырабатывается только после изменения сигнала X Оператор В2<= not(X) сработает только тогда, когда изменится сигнал X, то есть после оператора Х<= А1 and А2, т к он реагирует только на изменение сигнала в своей правой части С учетом задержки Е1 = 10 НС , а Е2=5нс описание архитектуры будет иметь вид

Architecture F B TIME of F is

Signal X. bit

Begin

-задержка на Bl- 10 не -задержка на В2- 5 не В1<=Х,

В2<= not (X) after 5 ns, Х<= Al and A2 after 10 ns, End;

Через 10 не после изменения одного из входных сигналов (А1 или А2) может измениться выходной сигнал В1, и с задержкой 5 не после него изменится В2

4.5.5. Структурное описание архитектуры

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

4--4921



ГЛАВА 4. ЯЗЫК ОПИСАНИЯ АППАРАТУРЫ VHDL

ном виде, в отличие от предыдущих примеров в структурном описании не указываются Структурное описание включает описание интерфейсов компонент, из которых состоит схема их связей. Полные описания объектов-компонент (интерфейс + архитектура) должны быть ранее помещены в проектируемую библиотеку, подключенную к структурному описанию архитектуры

Libr&ry work; use work sll

-подключение рабочей библиотеки work, содержащей описание объекта соответствукодаго компоненте INE2 Architecture CXSW F C of F is -ниже интерфейсы компоненты INE2 Component INE2

Port (XI, X2: m bit; Y: out bit); End component;

-ниже описание связей экземпляров компонент

Signal X. bit;

Begin

El: INE2 port map (Al, A2, X); E2- INE2 port map (X, X, Bl); B2<= X; End,

В описании архитектуры CXEM F C объекта F сначала указан интерфейс компонент, из которых строится схема Это компоненты типа INE2 с двумя входными и одним выходным портом Затем после begin идут операторы конкретизации компонент Для каждого экземпляра компоненты следуют ее имя или карта портов, указывающая соответствие портов экземпляра компоненты поступающим на них сигналам Например, для компоненты по имени Е1 типа INE2HanopTX1 подан сигнал А1, на порт Х2 - сигнал А2 Порядок конкретизации безразличен, так как это параллельные операторы Для того чтобы описание F было полным, в данном случае в рабочей библиотеке проекта work необходимо иметь описание интерфейса и архитектуры некоторого объекта, сопоставляемого компоненте INE2 Обозначим этот объект в библиотеке как LA3 Его описание

Entity LA3 IS

Port (X, Y- m bit; Z: out bit); End LAS,

Architecture DF LA3 of LAS is Begin

Z<= not (X and Y) after 10ns; End,

У объекта LA3 может быть насколько архитектур В примерах дан вариант потокового описания архитектуры DF LA3 объекта LA3, который содержит оператор назначения сигналу Z инверсного значения конъюнкции сигналов X и Y с задержкой 10 не

4.6. ОПИСАНИЕ КОНФИГУРАЦИИ

Конфигурацию можно рассматривать как аналог списка компонентов для проекта Оператор конфигурации (идентифицируемый ключевым словом configuration ) определяет, какие реализации должны быть использованы, и позволяет изменять связи компонентов в вашем проекте во время моделирования и синтеза

Конфигурации не являются обязательными, независимо от того, насколько сложен описываемый проект При отсутствии конфигурации, стандарт VHDL определяет набор правил, который обеспечивает конфигурацию по умолчанию; например, в случае, когда предусмотрено более одной реализации для блока, последняя скомпилированная реализация получит приоритет и будет связана с объектом

Обозначение типа компоненты в описании архитектуры CXEM F C объекта F и обозначение соответствующего объекта проекта в библиотеке могут не соответствовать друг другу Связывание обозначений осуществляется в форме объявления конфигурации Для того чтобы задать информацию о том, что использованная при описании архитектуры CXEM F C объекта F компонента INE2 соответствует библиотечному объекту LA3 и варианту его архитектуры под названием DF LA3, необходимо объявить конфигурацию configuration Конфигурация V1 указывает, что из рабочей библиотеки проекта library work для архитектуры CXEM F C объекта F для компонент с именами Е1 и Е2 типа INE2 следует использовать архитектуру DF LA3 объекта LA3

Library WORK

-подключается рабочая библиотека проекта

configuration VI of F is -конфигурация по имени VI объекта F use WORK, all;

-используются все (all) компоненты библиотеки WORK for CXEM F C

-для архитектуры CXEMFC

-компоненты El, Е2 соответствуют объекту LA3 с архитектурой DF LAS из библиотеки WORK for Е1,Е2. INE2 use entity LAS (DF LA3); end for, end for; end VI;

4.7. ВЕКТОРНЫЕ СИГНАЛЫ И РЕГУЛЯРНЫЕ СТРУКТУРЫ

Одним из средств повышения компактности описаний цифровых устройств является использование векторных представлений сигналов и операций над ними Например, пусть некоторый объект FV выполняет ту же функцию, что и объект F, но над 20-разрядными двоичными векторами AV1 и AV2

Его описание определяет порты как двоичные векторы:

Entity FV IS

Port (AVI, AV2: m bit vector (1 to 20);

BVl, BV2. out bit vector (1 to 20)); End FVl;

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

Architecture BECHAV FV of FV is Begin

BV2<= not (AVI and AV2); BV1<= AVI and AV2; End BECHAV FV;



Структурное описание архитектуры FV для варианта реализации объекта FV как совокупности объектов F, представленное ниже, выполнено с использованием оператора генерации конкретизации Это позволяет повысить компактность описаний регулярных фрагментов схем.

Architecture STRUCT FV of FV is

Coii5>onent F port (XI, X2. m bit; Yl, Y2: out bit).

End component;

Begin

-первая компонента конкретизирована обычным способом с использованием позиционного соответствия сигналов портам

К1: F port тар (AV1 (1), AV2 (1), BV1 (1), BV2 (1));

-вторая компонента конкретизирована с использованием ключевого способа указания соответствия сигналов ее портам

К2: F port map (AVl ( 2)=>Х1, BVl ( 2)=>Y1, AV2 (2)=>X2, BV2 (2) =>Y2 ) ;

-компоненты КЗ - K20 конкретизированы с использованием оператора генерации, позволяющего компактно описывать регулярные фрагменты схем

for I m 3 to 20 generate

К( I ): F port map ( AVI ( 1 ), AV2 (1), BVl (1), BV2 (1) ) ;

End generate; End STRUCT FV,

4.8. ЗАДЕРЖКИ СИГНАЛОВ И ПАРАМЕТРЫ НАСТРОЙКИ

Y<= XI and Х2 after Т, End Al inert;

Architecture Al transport of 12 is Begin

Y<= transport Xland X2 after 10 ns; End;

Ниже Представлен вариант описания архитектуры, иллюстрирующей возможность использования параметра настройки (задержка Е1 равна 5 не, Е2 - 20 не) и возможность совмещения структурного и поведенческого описаний в одной архитектуре

Architecture М1Х 8 а of F is Component 12 Generic (Т time),

Port (XI, X2 m bit, Y out bit );

End component,

Begin

El 12 generic map (S ns );

Port map ( Al, A2, Bl), E2. B2<= not ( Al and A2 ) after 20 ns; End,

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

Одним из вариантов описания инерциального поведения вентиля 2И с разными задержками фронта и среза может быть следующим

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

В языке VHDL встроены две модели задержек - инерциальная и транспортная

Инерциальная модель предполагает, что элемент не реагирует на сигналы, длительность которых меньше порога, равного времени задержки элемента Транспортная модель лишена этого ограничения

Инерциальная модель по умолчанию встроена в оператор назначения сигнала языка VHDL Например, оператор назначения Y<=X1 and Х2 after 10 ns, описывает работу вентиля 2И и соответствует инерциальной модели Указание на использование транспортной модели обеспечивается ключевым словом transport в правой части оператора назначения Например, оператор YT<=transportX1 andX2 after 10ns, отображает транспортную модель задержки вентиля

Задержка может быть задана не константой, а выражением, значение которого может конкретизироваться для каждого экземпляра объекта, используемого как компонента Для этого ее следует задать как параметр настройки в описании интерфейса объекта

Приведенное ниже описание объекта 12 включает описание интерфейса и тела 12 с инерциальной задержкой, заданной как параметр настройки

Entity 12 IS

-параметр настройки Т по умолчанию равен 10 не

Generic (Т- time = 10 ns>,

Port ( XI, Х2: m bit; Y: out bit ),

End 12;

Architecture Al inert of 12 is Begin

Architecture INERT of 12 is Begin

Process ( XI, X2 ); Variable Z bit, Begin

-выход идеального вентиля Z=X1 and X2,

if Z= 1 and ZDELAYED= 0 then -срез

Y<= 0 after 3 ns End if, End process. End,

Атрибут ZDELAYED дает предыдущее значение сигнала

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

В случав транспортной задержки, если новое сообщение имеет время, большее, чем все ранее запланированные, оно включается в драйвер последним В противном случае предварительно уничтожаются все сообщения, запланированные на большое время

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



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [ 31 ] 32 33 34 35 36 37 38 39 40

© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.