Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Задержки сигналов и параметры настройки




Векторные сигналы и регулярные структуры.

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

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

Entity FV is

Port (AV1, AV2: in bit_vector (1 to 20);

BV1, BV2: out bit_vector (1 to 20));

End FV1;

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

Architecture BECHAV_FV of FV is

Begin

BV2<= not (AV1 and AV2);

BV1<= AV1 and AV2;

End BECHAV_FV;

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

Architecture STRUCT_FV of FV is

Component F port (X1, X2: in bit; Y1, Y2: out bit);

End component;

Begin

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

K1: F port map (AV1 (1), AV2 (1), BV1 (1), BV2 (1));

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

K2: F port map (AV1 (2)=>X1, BV1 (2)=>Y1, AV2 (2)=>X2, BV2 (2) =>Y2);

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

for I in 3 to 20 generate

K(I): F port map (AV1 (1), AV2 (1), BV1 (1), BV2 (1));

End generate;

End STRUCT_FV;

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

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

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

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

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

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

Entity 12 is

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

Generic (T: time = 10 ns);

Port (X1, X2: in bit; Y: out bit);

End 12;

Architecture A1_inert of 12 is

Begin

Y<= X1 and X2 after T;

End A1_inert;

Architecture A1_transport of 12 is

Begin

Y<= transport X1and X2 after 10 ns;

End;

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

Architecture MIX_8_a of F is

Component 12

Generic (T: time);

Port (X1, X2: in bit; Y: out bit);

End component;

Begin

E1: 12 generic map (5 ns);

Port map (A1, A2, B1);

E2: B2<= not (A1 and A2) after 20 ns;

End;

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

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

Architecture INERT of 12 is

Begin

Process (X1, X2);

Variable Z: bit;

Begin

--выход идеального вентиля

Z=X1 and X2;

if Z=’ 1’ and Z’DELAYED=’ 0’ then

--срез

Y<=’ 0’ after 3 ns

End if;

End process;

End;

Атрибут Z’DELAYED дает предыдущее значение сигнала.

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

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

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




Поделиться с друзьями:


Дата добавления: 2015-06-30; Просмотров: 591; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.