
Контрольные вопросы:
Какие функции выполняет редактор временных диаграмм САПР “MAX+PLUS II”?
Перечислите способы создания комбинационных схем в САПР “MAX+PLUS II”. Какой способ по вашему мнению наиболее прост?
Перечислите основные этапы функционального моделирования проекта в САПР “MAX+PLUS II”.
Как осуществляется формирование входных воздействий при функциональном моделировании системы в САПР “MAX+PLUS II”?
Дает ли функциональное моделирование гарантию работоспособности системы?
Лабораторная работа №3
Цель работы: Синтез устройства динамической индикации дисплея стенда.
Задание на лабораторную работу:
Изучите структурную схему устройства динамической индикации, изображенную ниже. Сравните ее со схемой, полученной после выполнения лабораторных работ №№1-2. Определите недостающие компоненты схемы для реализации устройства динамической индикации.
Используя редактор схем в САПР “MAX+PLUS II”, нарисуйте схему счетчика адреса для устройства динамической индикации дисплея. В схеме используйте примитивы триггера, инвертора, логических элементов. Выходной сигнал счетчика должен быть четырехразрядным, поскольку в стенде с динамической индикацией совмещен опрос клавиатуры. Проведите функциональное моделирование счетчика.
Создайте символ разработанного счетчика (в меню File выберите пункт Create Default Symbol). Откройте схему, получившуюся после выполнения лабораторной работы №2.
Добавьте в эту схему синтезированный счетчик адресов. Тактировать его целесообразно от генератора частоты 32768 Гц, имеющегося на плате стенда и подключенного к выводу 55 ПЛИС. Выходные сигналы счетчика подключаются к выводам 26, 23 – 21 ПЛИС.
Откомпилируйте проект, загрузите его в ПЛИС. Во всех разрядах дисплея вы должны увидеть число, заданное на входе дешифратора двоичного числа в 7-сегментный код схемы.
Используя текстовый редактор САПР “MAX+PLUS II”, опишите на языке VHDL методом структурного описания счетчик, использованный в вашей схеме. Счетный триггер используйте в качестве компонента. Ниже приведено описание счетного триггера на языке VHDL:
library IEEE;
use IEEE.std_logic_1164.all;
entity tdff is
port(
clk: in std_logic;
d: in std_logic;
q: out std_logic;
r: in std_logic;
s: in std_logic
);
end tdff;
architecture beh of tdff is
signal tq: std_logic;
begin
process(clk, r, s)
begin
if (s = '0') then
tq <= '0';
elsif (r = '0') then
tq <= '1';
elsif (rising_edge(clk)) then
tq <= d;
end if;
end process;
q <= tq;
end beh;
Проверьте работоспособность этого счетчика, заменив на него имеющийся в вашей схеме. Откомпилируйте проект, загрузите его в ПЛИС.
Опишите аналогичный счетчик на VHDL методом поведенческого описания. Для сигналов и переменных используйте тип std_logic. Проверьте его работоспособность.
Дополните схему динамической индикации недостающим мультиплексором. Опишите его на языке VHDL. После выполнения лабораторной работы на всех разрядах дисплея должны быть высвечены разные цифры.