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

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_16 IS

END lab1_16;

ARCHITECTURE test1 OF lab1_16 IS

SIGNAL stim_integer: integer;

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

BEGIN

logic_unit:process(x0,x1,x2)

begin

y1 <= (not x0) and (not x1) and (not x2) after 20 ns; -- с уч. задержки

y2 <= x0 and (not x1) and (not x2) after 20 ns; -- с уч. задержки

y3 <= (not x0) and x1 and x2 after 20 ns; -- с уч. задержки

END process;

z <= y1 or y2 or y3 after 20 ns; -- с уч. задержки

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.

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

15