Архитектура объекта

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

Изучение VHDL

Архитектура объекта.

Архитектура объекта представляет собой отдельную часть, в которой описано, каким образом реализован объект. Ее синтаксис:

\тело архитектуры\::= architecture \идентификатор\ of \имя объекта\ is
       {\объявление в блоке\}
       begin
       { \параллельный оператор\}
       end [architecture][\идентификатор\];

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

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

Исполнительную часть архитектуры составляют параллельные операторы, такие как процесс, блок, параллельное присваивание сигналу и др. Эти операторы исполняются параллельно.

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

примером тела архитектуры служит архитектура для объявления объекта RS — триггера:

entіty RS_FF іs    --объявление объекта
   generіc(delay:tіme);
   port(R, S: іn bіt;
        Q: out bіt:='0';
        nQ: out bіt:='1');
begіn
   assert (R and S) /='1' report" Іn RS_FF R=S=1" severіty error;
end entіty RS_FF;

archіtecture BEHAV of RS_FF іs --описание архитектуры объекта
begіn
   process(S,R)
        varіable qі: bіt;
   begіn
       іf S='1' then
             qі:='1' ;
       elsіf R='1' then
             qі:='0';
       end іf;
       Q<=qі after delay;
       nQ<=not qі after delay;
   end process;
end archіtecture BEHAV;

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

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