Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭБВСиС ЛР Quartus

.pdf
Скачиваний:
2
Добавлен:
04.07.2024
Размер:
622.68 Кб
Скачать

–––––––Введение

Лабораторный практикум содержит четыре лабораторные работы, две первые из которых посвящены освоению среды автоматизированного проектирования (САПР) Quartus II фирмы Altera, позволяющей на основе программируемых логических схем (ПЛИС) создавать проекты цифровых устройств. Отработка механизмов проектирования осуществляется путем реализации простейших цифровых структур. Основой для выполнения данных работ являются описание САПР и знания функционирования базовых логических схем. В качестве языка описания цифровых устройств выбран язык AHDL. Третья работа знакомит с принципами использования предопределенных структур пакета Quartus II – примитивов, а также с особенностями проектирования устройств на их основе. В четвертой работе отрабатываются механизмы создания и применения модулей, имеющихся в библиотеке САПР и создаваемых разработчиком проекта.

Лабораторные работы выполняются фронтальным методом, т.е. все студенты группы одновременно выполняют одно и то же задание. По результатам выполнения работы оформляется отчет, содержащий название и цель работы, описание проектируемых цифровых структур с приведением их программной реализации на языке AHDL, временные диаграммы, отражающие результаты имитационного моделирования, тип выбранной микросхемы ПЛИС и параметры ее конфигурирования.

Лабораторная работа защищается каждым студентом индивидуально путем ответа на вопросы, сформулированные преподавателем.

Лабораторная работа № 1

Освоение среды разработки цифровых схем Quartus II

Цель: знакомство с особенностями работы приложения Quartus II 9.0 в процессе синтеза цифровых устройств на ПЛИС.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Открытие проекта

Вызов приложения Quartus II производится последовательным выполнением операций Пуск→Программы→Altera→Quartus II 9.0sp2 Web Edition→Quartus II 9.0sp2 Web Edition.

Создание нового проекта осуществляется запуском операций

File→New Project Wizard … ("ФайлМастер создания проекта…"),

вызываемых из главного меню приложения Quartus II. Открытие нового проекта также можно осуществить, кликнув на кнопке Create a New Project

вкладки Getting Started With Quartus II Software. Здесь же можно открыть уже существующий проект, кликнув на кнопке Open Existing Project либо на названии проекта из списка, отображаемого на данной вкладке. В появившемся окне New Project Wizard: Introduction ("Мастер создания проекта: введение") можно поставить "галочку" у надписи Don't show me this introduction again ("Не показывать мне это вводное окно снова"), если требуется, чтобы данное нефункциональное окно в будущем не появлялось, и

2

щелкнуть по кнопке Next ("Следующий шаг").

Для создаваемого проекта в появившемся окне New Project Wizard: Directory, Name, and Top-Level Entity [page 1 of 6] ("Мастер создания проекта: папка, имя и модуль верхнего уровня [страница 1 из 6]")

щелкнуть по кнопке с тремя точками у верхнего поля ввода и в новом окне Select Directory ("Выбрать папку"), переместившись в желаемое место на диске, выбрать требуемую папку. При необходимости папку можно создать, используя известные стандартные процедуры. Размещение проекта в отдельной папке вызвано тем, что проект может содержать достаточно большое количество файлов. Для того чтобы все разрабатываемые проекты находились в одном месте рабочего диска, их желательно помещать в папку с именем, соответствующим номеру группы студента. После этого щелкнуть по кнопке "Открыть" окна Select Directory.

При возвращении в окно New Project Wizard: Directory, Name, and Top-Level Entity [page 1 of 6] убедитесь в том, что в верхнее поле ввода занесен полный маршрут к вновь созданной папке (рис. 1). Во втором поле введите имя проекта. В третьем (нижнем) поле автоматически отобразится имя модуля верхнего уровня, аналогичное имени проекта, введенного во втором поле. Можно переместиться и в другие страницы данного окна, выполняя клики на кнопке Next. Вместе с тем начальную процедуру создания проекта можно завершить, щелкнув по кнопке Finish ("Завершение").

Рис. 1

При создании цифровых устройств, описание которых содержится в одном конструкторском файле (Device Design File), следует давать проекту и модулю верхнего уровня одно и то же имя.

В начале каждого следующего сеанса работы с уже созданным проектом необходимо кликнуть в главном меню File→Open Project. В появившемся окне Open Project найти папку проекта и, выделив файл проекта, щелкнуть по кнопке "Открыть". При запуске системы Quartus II открывается главное окно, показанное на рис. 2.

3

Рис. 2

В верхней части окна отображается полное имя проекта. Ниже располагаются кнопки основных инструментов системы. В левой части главного окна размещены навигатор, показывающий дерево иерархии проекта, и окно состояний решаемых задач. В правой части главного окна расположено рабочее окно, в котором в зависимости от решаемой задачи выводятся окна конструкторского файла, редактора временных диаграмм и отчета о компиляции. Нижнюю часть главного окна занимает окно сообщений об ошибках и предупреждениях.

Создание конструкторского файла

Для создания конструкторского файла в главном меню выберите File→New… ("ФайлНовый"). В появившемся окне New (рис. 3) на закладке Device Design Files ("Конструкторские файлы устройств")

определите тип создаваемого конструкторского файла.

Конструкторский файл устройства – это главный файл проекта, он содержит функционально-логическое описание устройства. Пакет Quartus II поддерживает ввод описания проекта на основе пяти типов конструкторских файлов:

AHDL File – файл на языке описания аппаратуры фирмы Altera

(AHDL Altera Hardware Description Language);

Block Diagram/ Schematic File – файл в виде графического представления схемы или блок-схемы проекта;

EDIF File – файл в формате обмена электронными проектами

(Electronic Design Interchange Format);

Verilog HDL File – файл на универсальном языке описания аппаратуры Verilog;

4

VHDL File – файл на универсальном языке описания аппаратуры

VHDL (Very High Speed Integrated Circuit Hardware Description Language).

Рис. 3

Рассмотрим проектирование, основанное на использовании языка описания аппаратуры AHDL. В окне New (рис. 3) выберите строку AHDL File

("Файл на языке описания аппаратуры AHDL"). Далее щелкните по кнопке

"OK" в нижней части окна. В рабочем поле главного окна (в правом верхнем углу) появится окно созданного файла с именем AHDL1.tdf. Его расширение означает, что это "Text Design File", т. е. файл с текстовым (программным) представлением проекта.

Текст описания проекта можно непосредственно ввести в рабочее окно приложения либо ранее подготовленное в любом из текстовых редакторов описание перенести в данное рабочее окно. Строки описания проекта нумеруются (рис. 4).

Незаполненный конструкторский файл имеет имя AHDL1.tdf. Если в него вводится программа, имя файла меняется на AHDL1.tdf*.

Подготовленное описание проекта следует сохранить с именем, соответствующим имени проекта. Для этого необходимо в главном меню выбрать File→Save As… ("Файл→Сохранить с новым именем…"). В

появившемся диалоговом окне "Сохранить как" будет предложено сохранить файл с именем проекта и расширением "tdf". Следует принять предложение и щелкнуть по кнопке "Сохранить". В результате имя AHDL1 файла заменится на имя проекта.

Выбор микросхемы и компиляция проекта

Поскольку реализация проекта предполагается на основе определенной микросхемы ПЛИС, необходимо в проекте указать тип используемой микросхемы. Для этого выберите в главном меню Assignments→Device… ("Назначения→Микросхема…"). В открывшемся окне Device в списке

5

Рис. 4

Family ("Семейство") укажите семейство микросхем, например MAX3000A. В расположенном ниже списке Available devices ("Доступные микросхемы") отметьте микросхему, например EPM3032ALC44-10. Окно выбора микросхемы имеет вид, показанный на рис. 5.

После назначения микросхемы можно выполнить компиляцию проекта.

Выберите в главном меню Processing→Start Compilation

("ПроцессыЗапуск компиляции"). По окончании компиляции в рабочем окне отобразится информация о процессе компиляции (рис. 6).

Вокне, показанном на рис. 6, присутствуют следующие окна:

окно иерархии проекта Project Navigator (состав и подчиненность модулей) – было на экране до компиляции;

окно состояния процесса компиляции Tasks ("Status window") – было до компиляции незаполненным; в ходе компиляции отражает текущий объем выполнения отдельных этапов в процентах и фиксирует время, затраченное на каждый этап и на весь процесс в целом;

окно отчета о компиляции ("Compilation Report") – появилось в процессе компиляции;

окно сообщений ("Message Window") – было незаполненным до компиляции; отражает статистическую информацию о проекте, а также предупреждения (warnings) и сообщения об ошибках (error messages);

информационное окно ("Quartus II") – появляется по окончании процесса компиляции; сообщает о его успешном или неудачном завершении.

Наибольший интерес представляют последние два окна. Информационное окно не позволит продолжать работу, пока вы не щелкните по кнопке "OK", размещенной в данном окне. В окне сообщений, в случае аварийного завершения процесса компиляции, будут представлены сообщения об ошибках. В случае появления сообщения об ошибках требуется установить местоположение ошибок, а также необходимо устранить их. После этого повторить компиляцию проекта.

Наиболее часто встречающейся ошибкой является несоблюдение требования одинаковости названия программы и папки проекта.

6

Рис. 5

Рис. 6

Информация, размещенная в окне Compilation Report - Flow Summary, позволяет проверить состояние статуса компиляции, название проекта, выбор микросхемы, число используемых макроячеек и количество задействованных выводов. Детальное назначение выводов микросхемы можно посмотреть, используя последовательный вызов из меню Compilation

Report→Fitter→Resource Section→All Package Pins.

Если назначение выводов, сделанное средой проектирования, не удовлетворяет пользователя, необходимые назначения можно выполнить

7

вручную, кликнув Assigments→Pins. В результате выведется окно планировщика выводов Pin Planner (рис. 7), в котором показан внешний вид (схема выводов) микросхемы и обозначен тип используемых выводов. В левой части окна дается перечень групп, а в нижней части – список входных и выходных переменных проекта. При подведении курсора к любому из выводов микросхемы выводится расшифровка его назначения.

Рис. 7 Переменным проекта, показанным в нижней части окна, можно сделать

назначение выводов микросхемы. Для этого в поле Location после двойного клика открывается меню, из которого можно выбрать номер назначаемого вывода. При переходе в другую ячейку поля Location ранее выполненное назначение вывода микросхемы фиксируется и назначенный вывод отмечается на схеме красным цветом. Аналогично можно сделать назначения других переменных проекта. После закрытия окна планировщика выводов все сделанные назначения сохраняются. Для того чтобы назначения вступили в силу, следует повторно выполнить компиляцию проекта.

После выполнения компиляции, используя вызов из меню Compilation

Report→Fitter→Resource Section→All Package Pins, можно посмотреть назначения выводов микросхемы.

Увеличить размеры окна Compilation Report можно следующим образом. Навести курсор мыши на кнопку Compilation Report, кликнуть правой кнопкой мыши и в выпадающем меню выбрать Detach Window.

Закрытие ненужных окон реализуется кликом правой кнопкой мыши на названии выбранного окна и выбором Close из выпадающего меню.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1.Запустите приложение Quartus II.

2.На рабочем диске (например, W) создайте папку с номером группы,

вкоторой в дальнейшем будет сохраняться создаваемый проект.

3.Выполните действия, описанные в разделе «Открытие проекта»,

8

учитывая, что названия имени проекта и имени модуля верхнего уровня должны совпадать с именем программы, указанным в tdf-файле после слова

SUBDESIGN.

4.Выполните действия по созданию конструкторского файла, описанные в разделе «Создание конструкторского файла».

5.Внесите в редактор системы Quartus II текст представленной ниже программы.

%Ф.И.О., гр. 735, Дешифратор 7-сегментного индикатора %

SUBDESIGN prim1

-- Название проекта

(

 

i[3..0] : INPUT;

-- Объявление входных переменных

a, b, c, d, e, f, g : OUTPUT;

-- Объявление выходных переменных

)

 

BEGIN

 

TABLE

-- Объявление таблицы истинности

i[3..0] => a, b, c, d, e, f, g;

 

H"0" => 1, 1, 1, 1, 1, 1, 0;

 

H"1" => х, х, х, х, х, х, х;

 

H"2" => х, х, х, х, х, х, х;

 

H"3" => х, х, х, х, х, х, х;

 

H"4" => х, х, х, х, х, х, х;

 

H"5" => х, х, х, х, х, х, х;

 

H"6" => х, х, х, х, х, х, х;

 

H"7" => х, х, х, х, х, х, х;

 

H"8" => х, х, х, х, х, х, х;

 

H"9" => х, х, х, х, х, х, х;

 

H"A" => х, х, х, х, х, х, х;

 

H"B" => х, х, х, х, х, х, х;

 

H"C" => х, х, х, х, х, х, х;

 

H"D" => х, х, х, х, х, х, х;

 

H"E" => х, х, х, х, х, х, х;

 

H"F" => х, х, х, х, х, х, х;

 

END TABLE;

 

END;

 

6. Замените символы «х» в модуле TABLE объявления таблицы на 0 или 1 в зависимости от структуры изображаемого символа.

Семисегментный индикатор имеет семь сегментов (светодиодов), размещаемых пространственно в порядке, показанном на приведенном ниже рисунке. Каждый из сегментов индикатора имеет буквенное обозначение.

Структура начертания символов на семисегментном индикаторе имеет следующий вид:

9

.

7.Сохраните введенную программу в созданной ранее папке. Имя файла должно соответствовать имени проекта.

8.Назначьте микросхему, используемую для реализации проекта. Например, микросхему семейства MAX3000A – EPM3032ALC44-10.

9.Выполните компиляцию программы. При наличии стилистических ошибок в программе исправьте их.

10.Просмотрите параметры загрузки (используемые ресурсы микросхемы), тип и назначение выводов ПЛИС.

11.Измените назначения выводов микросхемы таким образом, чтобы для входных и выходных сигналов использовались выводы, начиная с меньших номеров, в следующем порядке: i[0], i[1], i[2], i[3], a, b, с, d, e, f, g. Назначать можно только комбинированные выводы I/O (input/output).

12.Взяв за основу программу ранее выполненного проекта, составьте программы для синтеза комбинационных устройств по приведенным на рис. 8 схемам (a и b). Программа должна содержать название проекта, объявления входных и выходных переменных, заключенные в круглых скобках, логические выражения, размещенные в операторных скобках BEGIN – ЕND.

13.Выполните компиляцию программ и исправьте возможные ошибки.

 

 

&

Y0

 

 

 

 

 

&

Y1

 

 

 

A0

1

 

 

 

 

&

Y2

A1

1

 

 

 

 

 

&

Y3

E

1

 

 

 

 

 

&

Y4

 

 

 

 

 

&

Y5

 

 

 

 

 

&

Y6

 

 

 

 

 

&

Y7

 

 

 

S

&

 

 

 

 

K

 

 

 

 

 

 

R

&

L

 

 

 

 

 

&

Q

C

&

M

&

Q

 

 

D

&

N

 

 

 

 

 

 

 

 

 

б

 

a

Рис. 8

10

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Как реализуются открытие проекта в Quartus II и создание его конструкторского файла?

2.Для чего выполняется компиляция проекта и какую информацию содержит отчет о компиляции?

3.Как отыскать ошибки, имеющиеся в программе проекта, и как их исправить?

4.Как осуществляется назначение микросхемы, используемой при реализации проекта?

5.Объясните механизм назначения сигналов выводам микросхемы.

Лабораторная работа № 2

Освоение моделирования работы цифровых схем в среде Quartus II

Цель: знакомство с особенностями работы приложения Quartus II в процессе моделирования цифровых устройств на ПЛИС.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Создание файла временных диаграмм

Процедура проверки функционирования проекта ("Simulation") предваряется определением сигналов, представляющих собой импульсные процессы требуемой формы, подаваемых на входные выводы спроектированного устройства. Входные воздействия выполняются в виде так называемых временных диаграмм ("Waveform") переменных, задаваемых разработчиком в редакторе временных диаграмм ("Waveform Editor") и записываемых в файл *.vwf ("Vector Waveform File"). В процессе моделирования симулятор определяет, какие сигналы разработанное устройство сформирует на выходных выводах, и представляет результаты также в виде временных диаграмм.

Для запуска процесса моделирования необходимо в главном меню последовательно выбрать Processing → Generate Functional Simulation Netlist ("Процессы→Создание списка цепей для функционального моделирования"). В результате выводится окно Quartus II, в котором отражается информация об успешном создании списка. На этом этапе из конструкторского файла извлекается список цепей для функционального моделирования.

Далее следует выбрать в главном меню File→New, в появившемся окне New активизировать закладку Verification Debuger Files и в списке файлов на этой закладке выбрать строку Vector Waveform File. Щелкнуть по кнопке "OK" окна New. В рабочем поле приложения поверх других окон появится незаполненное окно редактора временных диаграмм с именем Waveform1.vwf. Для дальнейшей работы с данным окном его необходимо сохранить, присвоив ему имя проекта. Для этого следует выбрать в главном меню File→Save As… и в появившемся окне Сохранить как нажать кнопку Сохранить. В результате файлу по умолчанию будет дано имя проекта. То