Цель работы: Получение навыков работы в пакете Quartus; построение многоуровнего проекта, изучение функционирования простейшего КЦУ.
Задание на работу в лаборатории. Построить схему четырехразрядного сумматора, взяв за основу схемы полусумматора и полного одноразрядного сумматора. В редакторе временных диаграмм задать форму входных сигналов и получить диаграммы выходов.
Порядок выполнения работы.
1. Через ярлык на рабочем столе произвели загрузку пакета Quartus.
2. Создали новый проект в своей папке xx, назвав его summ.
3. Открыли VHDL файл и записали в него прогр. 1. Сохранили файл под именем add1 и установили его старшим в иерархии проекта.
4. Откомпилировали файл.
5. Пользуясь методикой работы 1, открыли файл временных диаграмм и построили диаграммы полусумматора, взяв интервал для a1 - 20ns, а для b1 – 30ns. Сохранили файл. Для симуляции временного файла надо воспользовались строчкой Simulator Tool меню Processing. Через поиск нашли название последнего временного файла и нажали Start. Просмотрели результат, нажав в том же окне справа Simulator Report. Проанализировали полученный результат, записали задержку.
6. Открыли новый VHDL файл и записать в него прогр. 2. Сохранили файл под именемadd11 и установили его старшим в иерархии проекта. Откомпилировали файл.
7. Построили временные диаграммы одноразрядного сумматора, взяв интервалы для a1 - 20ns, для b1 – 30ns, для c1 – 50ns. Проанализировали результат симуляции.
8. Открыли новый VHDL файл и записали в него прогр. 3. Сохранили файл под именем add4 и установили его старшим в иерархии проекта. Откомпилировали файл.
9. Построили временные диаграммы четырехразрядного сумматора. Число a установили равным 10 на интервале 30ns и, затем, на интервале 50ns равным 3. Число b установили равным7 на интервале 50ns и, затем на интервале 50ns равным 13. Для появления всех разрядов шины на диаграмме кликнуть на + возле имени шины. Проанализировали результат симуляции.
10. Создали библиотечный модуль 4-разрядного сумматора. Для этого открыли VHDL-файл с прогр. 3, в меню File выбрали последовательно Create/Update и Create Symbol Files for Current File.
11. Далее включили в свой проект два файла периферийных устройств. Имена файлов multiplexor, decoder. Все файлы лежат в папке материалы. Наши действия: File – Open произвели поиск afs – dcti.sut.ru – matherials – sk -3kurs – далее до списка файлов. Выбрали multiplexor, записали в проект – File – Save As произвели поиск– afs – dcti.sut.ru – home –students и далее к своему проекту. Для записанного файла создали библиотечный модуль. Аналогичные действия проделали для файла decoder.
12. Открыли файл графического редактора File – New – Block Diagram/Schematic File. Двумя кликами мыши в поле листа вызвали библиотеку символов и последовательно вывели на лист редактора модули add4, multiplexor, decoder. Кроме этих символов вывели из библиотеки на лист символы gnd, input и output. Входы модуля add4 a[3..0], b[3..0] соединили с примитивами input, выходы суммы S[3..0]- со входами data0[…..] модуля multiplexor, а выходc вывели и назвали линию c[0]. К примитиву gnd подвели 3 линии, поименовав их c[1], c[2] и c[3]. Вход data1 модуляmultiplexor вывели и поименовать шину c[3..0]. Вход clk модуля multiplexor вывели через input.Выходы модуля multiplexor columns[3..0], определяющие количество используемых сегментных индикаторов, вывели и поименовать линию col[3..0], а выходы outputdata[] соединили со входами indata[3..0] модуляdecoder. В таблицу значений параметров модуля multiplexorв строке значений WIDTH заменили 15 на4. Для обозначения количества индикаторов взяли отдельный примитив output. Выходы модуля decoder соединили с примитивом output. Проименовать входы и выходы полученного устройства. Для этого произвели два клика на названии pin name примитива input и output. Например: A[3..0], B[3..0] для обозначения входов, COL[1..0], OUT[8..0] – для обозначения выходов.
13. Созданный файл графического редактора сохранили под именем проекта summ, установить старшим в иерархии и откомпилировали.
14. Открыли Pin Planner и произвели разводку выводов. Входы A[3..0] и B[3..0] соединили с тумблерами (38, 40, 42, 48; 50, 52, 56, 58), вход clk с генератором тактовой частоты макета(16). Выходы COL[1..0] с питанием индикаторов (109, 110), а выходы OUT[8..0] с сегментами, начиная снулевого (74, 73, 72, 70, 61, 79, 75, 69, 71). Откомпилировали файл планировщика.
15. Подключили макет. Вызвали программатор и, убедившись что загружен нужный файл, подключили требуемый тип кристалла и ByteBlaster, поставили галочку в клетку Program/Configure и нажали Start. Продемонстрировали преподавателю работу устройства на макете.