
- •Отчет о выполнении заданий:
- •Изменить текст программы lab1.Vhd так, чтобы реализовать одну из функций таблицы по заданию преподавателя.
- •12. Ввести в программу процесс, реализующий функцию на основе разложения Шеннона по одной или двум переменным по заданию преподавателя.
- •15. Оператор вычисления z в программе, созданной по п. 14, оформить как параллельное присвоение (т.Е. Как оператор в общей операторной части архитектурного тела).
- •16. Модифицировать программу п. 15 так, чтобы учитывались задержки, полагая задержки перехода 0-1 и 1-0 равными для всех элементов.
15. Оператор вычисления z в программе, созданной по п. 14, оформить как параллельное присвоение (т.Е. Как оператор в общей операторной части архитектурного тела).
--Изменение в программе для пункта 15
…
ARCHITECTURE test OF lab1_p15 IS
signal stim_integer:integer range 0 to 7;
signal z,x0,x1,x2,y1,y2,y3,y4:std_logic;
BEGIN
logic_unit:process(x0,x1,x2)
begin
y1<=((not x2) and (not x1) and (not x0));
y2<=((not x2) and x1 and x0);
y3<=(x2 and (not x1) and (not x0));
y4<=(x2 and (not x1) and x0);
end process;
z<=y1 or y2 or y3 or y4; --Вычисление выражения параллельным оператором
…
end test;
Результаты моделирования программы:
16. Модифицировать программу п. 15 так, чтобы учитывались задержки, полагая задержки перехода 0-1 и 1-0 равными для всех элементов.
--Изменение в программе для пункта 16
…
ARCHITECTURE test OF lab1_p16 IS
signal stim_integer:integer range 0 to 7;
signal z,x0,x1,x2,y1,y2,y3,y4,not_x2,not_x1,not_x0:std_logic;
-- Пусть задержка на переход 0-1 и 1-0 будет 5 нс;
BEGIN
logic_unit:process
begin
wait for 5 ns; --Задержка:T=5 ns (Переключение 1-го уровня)
not_x2<=not x2;
not_x1<=not x1;
not_x0<=not x0;
wait for 5 ns; -- Задержка:T=5 ns (Переключение 2-го уровня)
y1<=((not_x2) and (not_x1) and (not_x0));
y2<=((not_x2) and x1 and x0);
y3<=(x2 and (not_x1) and (not_x0));
y4<=(x2 and (not_x1) and x0);
wait for 5 ns; -- Задержка:T=5 ns (Переключение 2-го уровня)
z<=y1 or y2 or y3 or y4;
end process;
…
end test;
Результаты моделирования программы:
В увеличенном масштабе для наглядности работы с учетом временных задержек:
Вывод: В данной лабораторной работе в процессе выполнения комплекса заданий были использованы и изучены базовые конструкции языка VHDL такие как объявление сигналов и переменных, использование процессов и параллельных операторов, использование конструкций IF-THEN, CASE, LOOP, WAIT ON(FOR) и др. , также были освоены основы работы(компиляция,отладка,построение временной диаграммы) в среде ModelSim.