Скачиваний:
45
Добавлен:
01.05.2014
Размер:
183.3 Кб
Скачать

Variable I:integer;

Variable stim_vector: std_logic_vector(2 downto 0);

BEGIN

FOR i IN 0 TO 15 LOOP

stim_integer <=i;

stim_vector :=to_vector(i,3);

x0<= stim_vector(0);

x1<= stim_vector(1);

x2<= stim_vector(2);

WAIT for 50 ns;

END LOOP;

ASSERT false REPORT "End of Stimulation !"

SEVERITY note;

WAIT;

END PROCESS;

END test1;

Временные диаграммы:

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

9. Модифицируем программу так, чтобы учитывались задержки, полагая задержки перехода 0-1 и 1-0 равными для всех элементов.

Сделаем задержку равную 20 нс для всех элементов.

Текст программы:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE work.util_1164.all;

USE STD.textio.ALL;

ENTITY lab1 IS

END lab1;

ARCHITECTURE test1 OF lab1 IS

SIGNAL stim_integer: integer;

SIGNAL z,y1,y2,y3,y4,x0,x1,x2: std_logic;

BEGIN

logic_unit:process(x0,x1,x2) -- процесс, отвечающий за описание функции

-- в форме логических уравнений, в двухуровневую

-- последовательную И-ИЛИ форму

begin

-- z<=(x0 and x1 and x2) or

-- (x0 and y1 and (not x2));

y1<= (not x2) and (not x1) and x0 after 20ns;

y2<= (not x2) and x1 and x0 after 20ns;

y3<= x2 and (not x1) and x0 after 20ns;

y4<= x2 and x1 and x0 after 20ns;

END process;

z<= y1 or y2 or y3 or y4 after 20ns;

Stimulator: PROCESS

Variable I:integer;

Variable stim_vector: std_logic_vector(2 downto 0);

BEGIN

FOR i IN 0 TO 15 LOOP

stim_integer <=i;

stim_vector :=to_vector(i,3);

x0<= stim_vector(0);

x1<= stim_vector(1);

x2<= stim_vector(2);

WAIT for 50 ns;

END LOOP;

ASSERT false REPORT "End of Stimulation !"

SEVERITY note;

WAIT;

END PROCESS;

END test1;

Временные диаграммы:

Теперь мы наблюдаем все сигналы с учетом временных задержек логических элементов.

Выводы по работе

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

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

19