Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМТ_Методичка.doc
Скачиваний:
21
Добавлен:
15.03.2015
Размер:
107.01 Кб
Скачать

Лабораторная работа № 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нс.

Порядок выполнения работы.

  1. Запустить Quartus 7.1. (/afs/dcti.sut.ru/soft/quartus).

  2. Открыть новый проект, прописав его в свою директорию ../homes/students/m0.../m0...n.../xx

  3. Создать файл VHDL File и записать в него программу для демультиплексора на 3 адресных входа по образцу, записанному в Прогр.1.

  4. Сохранить и откомпилировать файл.

  5. Открыть редактор временных диаграмм. Построить диаграммы работы устройства, следуя записанным рекомендациям. Выводы записывать в файл временных диаграмм списком. Для получения списка выводов шины кликнуть на знак + возле ее обозначения.

  6. Продемонстрировать временные диаграммы преподавателю.

  7. Вызвать планировщик (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.

Скомпилировать файл.

Результат разводки продемонстрировать преподавателю!

  1. Вызвать программатор (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