Лабораторная работа 4 / Лабораторная работа4
.doc
4. Таким образом, задача сводится к проектированию схемы, реализующей функции, полученные в п.2. Для этого воспользуемся одним из языков описания систем на кристалле – VHDL. Будем использовать САПР Xilinx ISE 9.1.
Создадим новый проект ( File – New Project) со следующими свойствами:
Рис. 1. Свойства проекта.
Далее, щелкнув в области Sources правой кнопкой мыши, создаём новый файл (New Source…), выбрав из предлагаемого списка VHDL - Module.
Напишем следующий код:
entity vh is
Port ( X : in STD_LOGIC_VECTOR (3 downto 0);
Y : out STD_LOGIC_VECTOR (6 downto 0));
end vh;
architecture Behavioral of vh is
begin
process(X)
begin
case X is
when "0000" =>Y<="1111110";
when "0001" => Y<="0110000";
when "0010" => Y<="1101101";
when "0011" => Y<="0000000";
when "0100" => Y<="0110011";
when "0101" => Y<="0000000";
when "0110" => Y<="1011111";
when "0111" => Y<="0000000";
when "1000" => Y<="1111111";
when "1001" => Y<="1111011";
when "1010" => Y<="0000000";
when "1011" => Y<="0011111";
when "1100" => Y<="1001110";
when "1101" => Y<="0000000";
when "1110" => Y<="0000000";
when "1111" => Y<="0000000";
when others => null;
end case;
end process;
end Behavioral;
Для проверки правильности написания, воспользуемся инструментом Check Syntax из группы Synthesize в области Processes. Если на вкладке Console области Transcript в нижней части экрана нет сообщений об ошибках, можно переходить к подключению 4-х разрядного счетчика.
5. Возьмем готовый счетчик CB4CE из библиотеки элементов САПР Xilinx ISE 9.1. Чтобы перенести схему управления индикатором в Schematic – файл, выделим название файла в области Sources на вкладке Source. Выберем на вкладке Processes одноименной области операцию Create Schematic Symbol из группы Design Utilities.
Теперь создадим новый Schematic – файл, и выберем в списке логических элементов в категории с названием проекта сгенерированный элемент.
Для создания сигнала разрешения счета необходимо сравнивать новое поступающее на вход значение с предыдущим. Для этого будем использовать логические элементы – защелки и элементы xor2.
На вход данных защелки поступает сигнал данных, а на вход разрешения записи в защелку – синхросигнал. При этом записанное до того значение поступает на выход элемента, и попадает на вход xor2 вместе с текущим значением входного сигнала.
Разработанная схема показана на рисунке 2:
Рис.2. Схема разработанного устройства.
6. Построим временную диаграмму.
Временная диаграмма показывает зависимость сигнала на выходе схемы от сигналов на входе и служит для проверки соответствия схемы требованьям, указанным в техническом задании.
Чтобы построить ВД, на вкладке Source области Sources щелкнем правой кнопкой по созданному VHDL-файлу, выберем пункт меню «New source…» и, выбрав из предложенного списка “Test Bench WaveForm” зададим значения входных сигналов. После сохранения, выделив файл с ВД в области Sources, выберем в области Processes действие Simulate Behavioral Model. Полученная Временная диаграмма на рисунке 3:
Рис. 3. Временная диаграмма.
Из сравнения временной диаграммы с таблицей истинности видно, что схема собрана правильно.
Также видно и то, что четырехразрядный счетчик сбрасывается в ноль при превышении его максимального значения.