VHDL язык создания дискретных систем

         

ОСНОВНЫЕ СВОЙСТВА VHDL


ПРИНЦИПЫ МОДЕЛИРОВАНИЯ ДС и СРЕДСТВА VHDL

1. Событийное моделирование. Важнейшими в алгоритмах моделирования ДС являются: -- имитация реального времени; -- имитация параллельных процессов в однопроцессорной моделирующей ЭВМ.

Для организации моделирования во времени в VHDL применяется принцип событийного моделирования как наиболее эффективный по быстродействию. Его суть состоит в следующем: -- время в моделях представляется дискретным и может задаваться в диапазоне натуральных единиц времени от фемтосекунды (10-15 с) до часа; -- приращение времени на каждом шаге моделирования -- величина переменная, равная интервалу времени между двумя последующими событиями (событием в моделях ДС называется любое изменение одного из сигналов в схеме).

2. Синхронизация параллельных процессов. Синхронизация параллельных процессов в VHDL обеспечивается:

  • применением для сигналов специальных операторов параллельного присвоения "<=", являющихся эквивалентами операторов присвоения ":=" для простых переменных, но выполняемых на данном шаге моделирования с бесконечно малой дельта-задержкой. Например, при выполнении операторов Y <= X1 and X2; (1) Z <= not (X3 and Y); (2) происходит параллельное (через бесконечно малые дельта-задержки) присвоение вычисляемых значений сигналам Y и Z, так что в правой части оператора (2) будет использоваться не полученное в операторе (1), а старое значение Y, определенное ранее, например на предыдущем шаге моделирования во времени;
  • использованием механизма процессов (PROCESS) и их запуска: -- с помощью сигналов активизации (два символа -- служат признаком комментария): process (X1,X2) -- процесс запускается только при изменении хотя бы одного из сигналов X1,X2 begin Y <= not X1 and X2; Z <= Y or X3; end process; -- с помощью оператора WAIT задержки процесса, который может располагаться в конце или в начале процесса: process process begin begin Y <= not X1 and X2; WAIT ON X1,X2; Z <= Y or X3; Y <= not X1 and X2; WAIT ON X1,X2; Z <= Y or X3; end process; end process;

Оператор WAIT позволяет задавать достаточно сложные условия активизации процесса: WAIT ON <список сигналов> UNTIL <условие> FOR время;

Например, для задания условия срабатывания схемы по фронту или по срезу (справа) сигнала С можно записать операторы WAIT ON C UNTIL C=1; WAIT ON C UNTIL C=0; 3.
Использование механизма атрибутов. Атрибуты -- это значения, связанные с поименованным объектом (сигналом, переменной), позволяющие более полно отображать свойства этих объектов (статические -- переменных и динамические -- сигналов). Наличие мощных средств атрибутов, а также средств имитации задержки WAIT, AFTER позволяет порождать многообразие моделей, имитирующих одни и те же свойства схемы, что дает возможность учитывать в VHDL-программах различные нюансы построения и работы цифровых схем. Так, то же условие срабатывания по фронту или по срезу С можно задать с помощью одного из выражений: CEVENT and C=1; not CSTABLE and C=1; CLAST_VALUE=0 and not CSTABLE; CEVENT and C=0; not CSTABLE and C=0; CLAST_VALUE=1 and not CSTABLE; где CEVENT -- атрибут типа Boolean, принимающий значение true, если с сигналом С произошло событие (сигнал С изменился); CSTABLE(T) -- атрибут типа Boolean, принимающий значение true, если сигнал С стабилен в течение последних Т единиц времени (по умолчанию Т=0); CLAST_VALUE -- атрибут, определяющий значение сигнала С перед последним изменением этого сигнала. Условие срабатывания схемы по фронту С и задержки переключения выходного сигнала Y на 15 нс можно записать в четырех вариантах: 4. Два типа моделей задержек распространения сигналов -- инерционная и транспортная. Важными для описания работы реальных схем являются введенные в VHDL операторы задержки переключения сигналов:

  • инерционная задержка (по умолчанию);
  • транспортная задержка (сопровождается ключевым словом TRANSPORT).
Инерционная модель задержки разрешает переключение выходного сигнала Y только при условии, что длительность входных сигналов не меньше времени задержки, заданного после слова AFTER, т. е. инерционная задержка имитирует устойчивость схемы от высокочастотного "дребезга" на ее входе (в следующем примере длительностью менее 3 нс): Y <= not X1 and X2 AFTER 3 ns; Транспортная модель соответствует "чистой" задержке распространения: передается любой импульс, каким бы коротким он ни был.


Так, оператор Y <= TRANSPORT not X1 and X2 AFTER 15 ns; передает на Y с задержкой в 15 нс значения, соответствующие логическому выражению, независимо от частоты изменения этих значений. 5. Разнообразие форм описания объекта проекта. К замечательным свойствам VHDL, позволяющим использовать его для решения задач синтеза по методологии нисходящего проектирования, относится возможность описания объекта проекта с различной степенью детализации:
  • на поведенческом уровне с помощью двух форм: -- потоковой, имитирующей поведение объекта проекта как последовательность прохождения потока данных и сигналов управления; -- процессной, имитирующей поведение объекта проекта как совокупность независимых, но синхронизируемых во времени процессов, определяющих алгоритм функционирования;
  • на структурном уровне имитирует объект проекта как совокупность компонентов структуры и связей между ними, при этом для описания компонентов может быть выбрана любая из перечисленных форм.


Содержание раздела