- •Лабораторная работа № 1. Исследование дешифратора.
- •Задание на работу в лаборатории.
- •Лабораторная работа № 2. Исследование работы демультиплексора.
- •Порядок выполнения работы.
- •Проектирование 4-разрядного сумматора.
- •Лабораторная работа № 4.
- •Лабораторная работа № 5.
- •Исследование счетчиков.
- •Порядок выполнения работы.
- •Лабораторная работа № 6. Исследование регистров.
Лабораторная работа № 2. Исследование работы демультиплексора.
Цель работы: изучение принципов работы демультиплексора. Написание простейшей программы на VHDL.
Постановка задачи. На примере демультиплексора на 3 адресных входа рассмотреть принцип функционирования данного типа КЦУ. Выходы устройства соединить со светодиодной панелью макета , адресные входы и информацию подключить к тумблерам. Имена адресных входов: Аdr_i[2..0], информационного входа - D, выходов Y[7..0], Рекомендуемые интервалы для временных диаграмм: Аdr_i[0] –40нс, Аdr_i[1] –80нс, Аdr_i[2] –160нс, D – 15нс.
Порядок выполнения работы.
Запустить Quartus 7.1. (/afs/dcti.sut.ru/soft/quartus).
Открыть новый проект, прописав его в свою директорию ../homes/students/m0.../m0...n.../xx
Создать файл VHDL File и записать в него программу для демультиплексора на 3 адресных входа по образцу, записанному в Прогр.1.
Сохранить и откомпилировать файл.
Открыть редактор временных диаграмм. Построить диаграммы работы устройства, следуя записанным рекомендациям. Выводы записывать в файл временных диаграмм списком. Для получения списка выводов шины кликнуть на знак + возле ее обозначения.
Продемонстрировать временные диаграммы преподавателю.
Вызвать планировщик (Pin Planer) и произвести разводку выводов схемы, руководствуясь схемой панели макета. В нижней части полученного окна будет представлен список выводов, в верхней – внешний вид кристалла. Против наименования каждого элемента списка в позиции Location двумя кликами мышью вызвать список выводов кристалла. Затем выбрать один для соединения с выводом устройства в соответствии с выданной схемой макета. (Или левой клавишей мыши отметить название вывода и, не отпуская клавиши, переместить его на ножку кристалла). Например: Аdr_i[0], Аdr_i[1], Аdr_i[2] соединяем с выводами 42, 40 и 38, D – с выводом 48, а выходы Y[7..0] – c выводами 57, 53, 51, 49, 47, 41, 39 и 37.
Скомпилировать файл.
Результат разводки продемонстрировать преподавателю!
Вызвать программатор (Tools - Programmer). С помощью клавиши– Hardware Setup выбрать адаптер – Byteblaster MV. В строке с именем загружаемого файла поставить галочку на пункте Program/Configure.
Убедится в том, что макет подключен и запустить программатор (клавиша Start).
Результат работы продемонстрировать преподавателю. Отчет по данной работе должен содержать схему устройства, программу и графики работы.
Программа. 2.
library ieee;
use ieee.std_logic_1164.all;
entity dms is
port(
adr_i: in bit_vector(2 downto 0);
d: in bit;
data_out: out bit_vector(7 downto 0)
);
end dms;
architecture BBB of dms is
begin
process (adr_i)
begin
data_out(0)<=(not(adr_i(0)))and(not(adr_i(1)))and
(not(adr_i(2)))and(d);
data_out(1)<=(adr_i(0))and(not(adr_i(1)))and
(not(adr_i(2)))and(d);
data_out(2)<=(not(adr_i(0)))and(adr_i(1))and
(not(adr_i(2)))and(d);
data_out(3)<=(adr_i(0))and(adr_i(1))and(not(adr_i(2)))and(d);
data_out(4)<=(not(adr_i(0)))and(not(adr_i(1)))and(adr_i(2))
and(d);
data_out(5)<=(adr_i(0))and(not(adr_i(1)))and(adr_i(2))and(d);
data_out(6)<=(not(adr_i(0)))and(adr_i(1))and(adr_i(2))and(d);
data_out(7)<=(adr_i(0))and(adr_i(1))and(adr_i(2))and(d);
end process;
end ;
Лабораторная работа № 3