ОСНОВНЫЕ СВОЙСТВА 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 <= TRANSPORT not X1 and X2 AFTER 15 ns; передает на Y с задержкой в 15 нс значения, соответствующие логическому выражению, независимо от частоты изменения этих значений. 5. Разнообразие форм описания объекта проекта. К замечательным свойствам VHDL, позволяющим использовать его для решения задач синтеза по методологии нисходящего проектирования, относится возможность описания объекта проекта с различной степенью детализации:
- на поведенческом уровне с помощью двух форм: -- потоковой, имитирующей поведение объекта проекта как последовательность прохождения потока данных и сигналов управления; -- процессной, имитирующей поведение объекта проекта как совокупность независимых, но синхронизируемых во времени процессов, определяющих алгоритм функционирования;
- на структурном уровне имитирует объект проекта как совокупность компонентов структуры и связей между ними, при этом для описания компонентов может быть выбрана любая из перечисленных форм.