Смекни!
smekni.com

Моделирование времени. Обеспечение параллельности в работе устройств ВС в системе VHDL (стр. 2 из 2)

Базовым элементом описания систем на языке VHDL является блок. Блок содержит раздел описаний данных и раздел параллельно исполняемых операторов. Частным случаем блока является описание архитектуры объекта. В рамках описания архитектуры могут использоваться внутренние, вложенные блоки. Наряду со всеми преимуществами блочной структуры программы и ее соответствия естественному иерархическому представлению структуры проекта операторы блока языка VHDL позволяют устанавливать, условия охраны (запреты) входа в блок. Только при истинности значения охранного выражения управление передается в блок и инициирует выполнение операторов его тела.

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

Наряду со всеми преимуществами блочной структуры программы и ее соответствия естественному иерархическому представлению структуры сложной системы, операторы блока (block) языка VHDL позволяют устанавливать условия охраны выполнения параллельных операторов назначения сигналу, входящих в тело блока.

Средства поведенческого описания ВС. Оператор process

Приведенный ниже вариант описания архитектуры behavior1 обьекта Object1 (при A1 = A2 = 1 выходы В1=1 и В2=0, в остальных случаях В1=0, В2=1) использует условный оператор (if) языка VHDL

architecture behavior1 of Object1 is

begin

process

begin -- в теле процесса последовательные

if (A1='1') and (A2='1') -- операторы if и wait

then B1<='1'; B2<='0';

else B1<='0'; B2<='1';

end if;

wait on А1,А2;

end process;

end ;

После заголовка, содержащего имя архитектуры (behavior1) следует ее тело, являющееся процессом (process). Процесс, находясь в операторе wait on, ожидает, пока не изменится хотя бы один из сигналов (А1 или А2), указанных в списке оператора ожидания wait. Как только это произойдет, дойдя до оператора конца (end process) вернется к своему началу. Выполнится условный оператор if, который, в зависимости от истинности условия, передает управление той или другой группе операторов назначения ( <= ) выходным сигналам В1 и В2 новых значений. В итоге процесс снова будет ожидать в операторе wait on.

Второй вариант поведенческого описания архитектуры обьекта Object2, назовем его behavior2, использует оператор выбора (CASE) языка VHDL. В заголовке процесса дан список чувствительности процесса process (A1,A2)). Это указание эквивалентно оператору wait on A1,A2 в конце описания процесса и позволяет повысить компактность описания. Процесс со списком чувствительности не может содержать явный оператор wait on. Ниже приведен текст второго варианта:

architecture behavior2 of Object1 is

begin

process (A1,A2)

begin

case (A1 & A2) is

when "11"=> В1<='1'; B2<='0';

others B1<='0'; B2<='1';

end case;

end process;

end behavior2;

Средства потокового описания ВС.

Параллельный оператор назначения сигналу

Параллельные операторы назначения сигнала ( <= ) срабатывают параллельно при изменении хотя бы одного из сигналов в своих правых частях.

Например, если некоторые выходные сигналы B1 и B2 зависят от входных сигналов A1, A2, A3 следующим образом: B1 = A1 & A2, B2 = A1 & A3, то их можно описать следующим образом:

begin

B1<= A1 and A2;

B2<= A1 and A3;

end;

Здесь при изменении сигнала A1 вычисляется новое значение обоих сигналов, сигнала A2 – только сигнала B1, A3 – только B2.

Средства структурного описания ВС.

Оператор конкретизации компоненты

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

A1 X B2

A2

B1

Например, структурное описание архитектуры объекта Object2, схема которого приведена выше, может быть таким:

architecture STRUCT_Object2 of Object2 is

component INE2 -- ниже интерфейс компоненты INE2

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

end component;

signal X: bit; -- вспомогательный сигнал Х

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

E1:INE2 port map (A1,A2,Х); -- схема Е1

E2:INE2 port map (Х,Х,B1); -- схема Е2

B2<=X; -- передача Х на порт В2

end;

Источники:

1. А.Поляков «Моделирование ЭВМ на языке VHDL»

2. Дж.Армстронг «Моделирование цифровых систем на языке VHDL»

3. http://ermak.cs.nstu.ru/

4. http://www.sm.bmstu.ru/

5. http://www.chipnews.ru/