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

Лабораторная работа № 1. Исследование дешифратора.

Цель работы: получение основных навыков проектирования схем в редакторе пакета Quartus. Изучение функционирования простейшего КЦУ.

Задание на работу в лаборатории.

1. Зайдя в свою директорию, на рабочем столе правой клавишей мыши создать кнопку запуска. В открывшемся окне возле кнопки Имя записать Quartus , а возле кнопки Команда активировать Просмотреть и указать путь (файловая система/afs/dcti.sut.ru/soft/quartus). Затем нажать ОК, на рабочем столе появится ярлык Quartus. Пользуясь созданной кнопкой запустить пакет Quartus 7.1.

2.Открыть проект. Для этого в окне File верхнего меню выбрать New project wizard, проверить путь к проекту до папки пользователя, создать в ней папку для работы в лаборатории в течении семестра, например …/homes/students/m0./m0.n../xx, объявить имя проекта и файла верхнего уровня, нажать Next. Окно добавления внешних файлов пока проигнорировать, Next. Выбрать тип кристалла: Cyclone – верхнее окно меню, EP1C6T144C8 – нижнее окно меню. Нажать FINISH.

  1. Открыть файл VHDL- редактора. Для этого проделать следующий путь: File – New – VHDL File. При таком выборе откроется окно редактора. На открывшемся поле записать программу функционирования дешифратора на 3 входа. Обратите внимание на то, что в программе имя устройства –dec. Замените его в соответствии с именем вашего проекта или файла верхнего уровня.

Программа 1

library ieee;

use ieee.std_logic_1164.all;

entity dec is

port(

adr_i: in bit_vector(2 downto 0);

data_out: out bit_vector(7 downto 0)

);

end dec;

architecture BBB of dec is

begin

p0: process (adr_i)

begin

case adr_i is

when "000"=>data_out<="00000001";

when "001"=>data_out<="00000010";

when "010"=>data_out<="00000100";

when "011"=>data_out<="00001000";

when "100"=>data_out<="00010000";

when "101"=>data_out<="00100000";

when "110"=>data_out<="01000000";

when "111"=>data_out<="10000000";

end case;

end process;

end ;

5.Сохранить и откомпилировать полученный файл. Путь к компилятору: Processing – Start Compilation, или соответствующий значок верхнего меню редактора. Если компилятор указывает на ошибки, обратиться к преподавателю или лаборанту.

6. Построить временные диаграммы работы устройства. Для этого открыть файл временных диаграмм File – New – Others Files – Vector Waveform File. C помощью двух кликов мышью с левой стороны от вертикальной оси открыть окно Insert Node or Bus, выбрать в нем кнопку Node Finder. В разделе Filter выбрать Pins all, затем нажать List и проверить наличие списка выводов схемы в левом окне. Перенести список в правую часть с помощью кнопки >>, нажать OK. Временные интервалы – клик на обозначении вывода, обращение к опции C бокового меню, выбор в открывшемся окне пути Timing, установка временного интервала в ns. (20ns, 40ns, 80ns).

Сохранить файл и обратиться к симулятору: Processing – Start Simulation или соответствующий значок верхнего меню редактора. При получении сообщения об ошибках обратиться к преподавателю или лаборанту. Если симуляция прошла без ошибок, проанализировать полученные диаграммы.

Отчет должен содержать программу устройства и диаграммы его работы.

В качестве проверки полученных знаний попробуйте самостоятельно составить программу работы шифратора на 4 входа и проанализировать временные диаграммы этого устройства. Внимание! При записи программы по образцу, указанному выше необходимо запись bit_vector заменить на std_logic_vector, adr_i на y_i и data_out на adr_out и, т.к. оператор требует записи всех комбинаций, последняя строка описания поведения устройства имеет следующий вид:

when others=>adr_out<=”ZZ