Оперативность, качество, доступные цены!
info@smart-sps.ru

Москва, ул. 6-я Радиальная, д.9​

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

 

ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ И НАУКИ ГОРОДА МОСКВЫ

СЕВЕРНЫЙ АДМИНИМТРАТИВНЫЙ ОКРУГ

 

 

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

 

Применение программируемых логических

интегральных схем (ПЛИС) для синтеза цифровых устройств

 

1. Цель работы

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

 

2. Краткие теоретические сведения

 

ПЛИС

 

 

Надпись: Рисунок 1.1. Схематическое изображе-ние расположения логических элемен-тов в кристалле ПЛИС

Программируемые логические интегральные схемы – ПЛИС являются одними из самых перспективных элементов цифровой схемотехники. ПЛИС представляет собой кристалл, на котором расположено большое количество простых логических элементов (рисунок 1.1). Изначально эти элементы не соединены между собой. Соединение элементов (превращение разрозненных элементов в электрическую схему) осуществляется с помощью электронных ключей, расположенных в этом же кристалле. Электронные ключи управляются специальной памятью, в ячейки которой заносится код конфигурации цифровой схемы. Таким образом, записав в память ПЛИС определенные коды, можно собрать цифровое устройство любой степени сложности (это зависит от количества элементов на кристалле и параметров ПЛИС). В отличие от микропроцессоров, в ПЛИС можно организовать алгоритмы цифровой обработки на аппаратном (схемном) уровне. При этом быстродействие цифровой обработки резко возрастает. Достоинствами технологии проектирования устройств на основе ПЛИС являются:

·         минимальное время разработки схемы (нужно лишь занести в память ПЛИС конфигурационный код);

·         в отличие от обычных элементов цифровой схемотехники здесь отпадает необходимость в разработке и изготовлении сложных печатных плат;

·         быстрое преобразование одной конфигурации цифровой схемы в другую (замена кода конфигурации схемы в памяти);

 

Система автоматизированного проектирования Quartus II

 

Программное обеспечение Altera Quartus II предоставляет полную мультиплатформенную среду проектирования, которая может быть легко перенастроена под конкретные требования. Это идеальная среда для проектирования на основе ПЛИС законченных систем на кристалле (SOPS). Программное обеспечение Quartus II включает в себя средства  для всех фаз проектирования с применением ПЛИС как FPGA, так  и CPLD структур. На рис.1.2 представлена общая структурная схема проектирования в среде Quartus II.

Рисунок 1.2. Структурная схема проектирования в среде Quartus II

 

Дополнительно Quartus II предоставляет возможность использовать графический интерфейс пользователя, EDA, или интерфейс командной строки в каждой фазе разработки схемы. Вы можете использовать какой-либо интерфейс для всего процесса проектирования или различные настройки для каждой отдельной фазы разработки.

 

Создание проекта

 

Под термином «проект» в рамках пакета Quartus II понимается набор файлов, связанных с проектируемым модулем, в котором выделяются две группы файлов:

·         логические файлы, описывающие алгоритм работы устройства (Design Files);

·         вспомогательные файлы(Ancilary Files).

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

·         файл верхнего уровня в иерархии описаний (Top-level Design File);

·         файлы нижних (одного или нескольких) уровней иерархии (Low-level Design files).

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

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

Работа в среде Quartus II созданием проекта. Прежде всего, необходимо создать папку для хранения файлов проекта. Имя папки желательно вводить латинскими буквами. Затем следует запустить программу Quartus II. Открыв пакет, Quartus II выбираем из меню File пункт New Project Wizard - мастер создания новых проектов. В открывшемся окне нажимаем кнопку Next и попадаем в окно для задания текущей директории проекта. Заполняем три строки как, показано на рисунке 1.3. В данном случае текущий проект будет назван LAB1. Проект будет создан в папке LAB на рабочем столе. Нажимаем кнопку Finish и подтверждаем создание проекта.

Меню задания текущей директории проекта 7,50КБ

Рисунок 1.3. Меню назначения текущей директории проекта

 

Графический редактор Quartus II

 

Графический редактор предназначен для ввода принципиальной схемы устройства. Для создания файла, который будет содержать принципиальную схему устройства (после создания проекта) следует выполнить команду New меню File. В появившемся диалоговым окне на вкладке Devise Design File следует выбрать тип файла Block Diagram/Schematic File и нажать OK (см. рисунок 1.4).

Выбор типа файла проекта 4,50КБ

Рисунок 1.4. Диалоговое окно выбора типа файла проекта

 

 

В результате откроется окно графического редактора (см. рисунок 1.5) с файлом Block1.bdf, в котором создается схема.

 

Окно графического редактора 7,50КБ 

Рисунок 1.5. Окно графического редактора.

 

После создания файла проекта становится активной панель инструментов, расположенная слева от рабочей области окна. Назначение различных инструментов приведено на рисунке 1.6. Для ввода элемента схемы следует «щелкнуть» по Symbol Tool. В результате откроется окно с библиотеками элементов.

Рисунок 1.6. Панель инструментов графического редактора

 

Следует обратить внимание, что графические изображения элементов схемы в системе Quartus II отличаются от обозначений, принятых в России. Таблица, в которой приведены российские изображения и соответствующие им обозначения элементов в системе Quartus II, приведена в приложении 1.

Например, для ввода логического элемента «И» следует выбрать библиотеку primitives/logic. После размещения компонентов на схеме следует разместить входные (input) и выходные (output) контакты, которые находятся в папке primitives/pin. Соединение компонентов производится следующим образом: переместить курсор в одну из двух точек схемы, которые нужно соединить, нажать левую кнопку мыши и, не отпуская ее, перемешать курсор ко второй из соединяемых точек. Далее следует переименовать входные и выходные контакты. Для этого дважды щелкаем левой кнопкой мыши по имени контакта и редактируем его. В результате получим схему, изображенную на рисунке 1.7.

Схема после переименования входов и выходов 2,50КБ

Рисунок 1.7. Схема после переименования входов и выходов.

 

 

Текстовый редактор Quartus II

Текстовый редактор является средством ввода структурного и (или) пове-денческого описания проектируемого устройства с помощью языков описания аппаратуры и обеспечивает работу с файлами, имеющими следующие расширения: .txt, .v, .vlg, .vqm, .vh, .verilog, .vhd, .vhdl, .edf, .edif, .edn, .tdf, .inc, .tcl, .c, .cpp, .h, .s, .asm.

В своей дальнейшей работе нам часто придется использовать текстовый файл проекта (*.tdf) на языке AHDL (язык описания аппаратных средств фирмы ALTERA).

Для создания файла, который будет содержать описание архитектуры проекта, следует выполнить команду New меню File. В появившемся диалоговым окне (см. рисунок 1.8) на вкладке Devise Design File следует выбрать тип файла AHDL File и нажать OK.

Рисунок 1.8. Диалоговое окно выбора типа файла проекта

 

Редактор временных диаграмм Quartus II

 

Моделирование (Simulation) позволяет определить реакцию разработанного проекта на заданное входное воздействие, то есть позволяет убедиться в правильности его функционирования.

Исходными данными для моделирования являются внешние воздействия, заданные в виде некоторого входного вектора (набора кодовых слов). Подсистема моделирования (Simulator) пакета Quartus II, в соответствие с алгоритмом проекта, синтезирует выходные сигналы, соответствующие его реакции на заданное входное воздействие, которая очень близка к реакции запрограммированной ПЛИС. В типовых задачах разработчик задает наборы входных векторов и анализирует полученные в результате моделирования выходные сигналы.

Создание файла (*.vwf), содержащего временные диаграммы, выполняется в следующей последовательности:

·         в меню «Файл» (File)  выбирается команда «Новый» (New);

·         в открывшемся окне «Новый» (New) (рис. 1.9) выбрать закладку «Другие файлы» (Other Files) в которой выделить строку «Файл вектора временных диаграмм» (Vector Waveform Files) и нажать кнопку «ОК»;

 

 

Рисунок 1.9. Диалоговое окно выбора типа файла проекта

 

·         открывается пустое окно редактора временных диаграмм с именем по умолчанию  Waveform1.wvf (Рис. 1.10);

 

Рисунок 1.10. Окно редактора временных диаграмм

 

 

·         в окне «Редактировать» (Edit) выбрать команду «Время окончания» (End Time) и в открывшемся окне (рис. 1.11) указать время окончания моделирования (длительность интервала моделирования и единицу измерения времени). Нажать «ОК»;

 


Рисунок 1.11. Выбор времени моделирования

 

·         созданный файл необходимо сохранить, используя команду «Записать как» (Save As) меню «Файл» (File). Программа автоматически предложит сохранить файл с именем, совпадающим с именем файла верхнего уровня проекта, присвоив ему расширение .vwf;

·         для завершения процесса создания файла необходимо нажать кнопку «Сохранить» (Save).

Далее в созданный файл необходимо ввести входные и выходные сигналы, присутствующие в проекте. Для этого необходимо:

·         в окне «Редактировать» (Edit) выбрать строку «Вставить узел или шину» (Insert Node or Bas);

·         в открывшемся окне (рис. 1.12) с названием «Вставить узел или шину» (Insert Node or Bas) нажать кнопку «Система поиска узлов »(Node Finder);

 


Рисунок 1.12. Окно назначения сигналов

 

·         открывается окно системы поиска узлов проекта (Node Finder), позволяющее ввести в файл временных диаграмм узлы текущего проекта (Рис. 1.13).

 

Рисунок 1.13. Окно системы поиска узлов проекта

 

·         для отображения оговоренных условиями поиска выводов необходимо нажать кнопку «Список» (List);

·         в левой части окна под заголовком «Найденные узлы проекта» (Nodes Found) появляется список найденных узлов проекта;

·         для того чтобы найденные узлы были введены в файл временных диаграмм, их необходимо переместить в правое подокно с именем «Выбранные узлы» (Selected Nodes).

·         после перемещения в правое подокно всех необходимых при моделировании узлов необходимо нажать кнопку «ОК». Появляется окно «Вставить узел или шину» (Insert Node or Bas) в котором тоже необходимо нажать кнопку «ОК». После этого в файле временных диаграмм проекта появляются оси для всех вышеуказанных сигналов (рис. 1.15).

 

Рисунок 1.14. Окно вставки узла или шины

 

 

Рисунок 1.15. Окно временных диаграмм с областью назначенных сигналов

 

 

Компиляция проекта

Компилятор является средством преобразования информации, которая содержится в файлах проекта, в информацию о соединениях между логическими ячейками внутри ПЛИС, а также средством оптимизации проектируемого устройства по критерию минимума требуемых ресурсов ПЛИС (в частности, ее ячеек) и критерию максимального быстродействия. Файлы проекта – это файлы, которые содержат структурное и/или поведенческое описание проектируемого устройства и в связи с этим предназначены для обработки компилятором.

Перед осуществлением компиляции произведем выбор типа кристалла. Для этого выбираем пункт Device из меню Assignments. В открывшемся окне в строке Family семейство MAX3000A, а в окне Available Devices выберем конкретное устройство EPM3128ATC100-7. Нажатием кнопки OK подтвердим выбор кристалла.

Для запуска компилятора необходимо в меню «Обработка» (Processing) выбрать команду «Запустить компиляцию» (Start Compilation). Начинается процесс компиляции. При этом появляются окна: «Модуль» (Module) в котором отражается процесс прохождения компиляции и фиксируется затраченное на это время и «Отчет о компиляции» (Compilation Report) (рис 48).

Процесс компиляции выполняется в фоновом режиме. Поэтому при длительной компиляции возможна работа с другими окнами пакета Quartus II или другими запущенными под операционной системой программами.

После завершения компиляции на экране появляется соответствующая надпись, свидетельствующая о завершении процесса и количестве найденных ошибок и информационных сообщений (см. рис. 1.16).

 


Рисунок 1.16. Окно компилятора

 

Для завершения процесса компиляции необходимо нажать кнопку «ОК».

 

 

 

Назначение внешних выводов подключения сигналов к ПЛИС

 

После того, как произведена компиляция проекта следует подключить входные и выходные контакты к внешним выводам ПЛИС. Для этого необходимо выбрать Assignment/Pins. В результате появиться окно (См. рисунок 1.17).


Рисунок 1.17. Окно подключения схемы к внешним выводам

 

В колонке Node Name располагаются имена входов и выходов ПЛИС. Для назначения номера вывода ПЛИС выбранного входа или выхода, необходимо произвести двойной щелчок указателем мыши в колонке Location напротив соответствующего сигнала, и выбрать номер вывода, к которому необходимо подключить вход (выход) электронной схемы. После назначения всех выводов следует провести повторную компиляцию проекта.

 

Конфигурирование ПЛИС

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

Наиболее простым и доступным разработчикам средством прошивки ПЛИС является загрузочный кабель ByteBlasterMV. Схема электрическая принципиальная и таблица цоколевки разъема кабеля ByteBlasterMV приведена в приложении 2 на рисунке 1.21 и таблице 1.2. На рис. 1.18 показано подключение устройства ByteBlasterMV к LPT порту компьютера. Схема электрическая принципиальная приведена в приложении 2.

 


Рисунок 1.18. Подключение кабеля ByteBlasterMV к ЭВМ.

 

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

Для начала процесса программирования необходимо открыть окно программатора. Для этого необходимо «кликнуть» иконку  на панели инструментов или выбрать в меню Tools вкладку Programmer (см. рисунок 1.19).

 


Рисунок 1.19. Диалоговое окно программатора

 

Убедиться что в столбце File находиться файл для конфигурирования и установлена метка в поле Program/Configure. Нажать кнопку «Старт» (Start) меню программирования файла***.pof, показанного на рисунке 1.19. О ходе выполнения конфигурирования можно судить по процентам выполнения, появляющимся в окне «Выполнение конфигурирования» (Progress). После успешного окончания конфигурирования система Quartus II выдаст соответствующее сообщение.

 

Описание стенда

 

Все лабораторные работы выполняются на стенде, основой которого является ПЛИС семейства MAX3000A. Принципиальная схема приведена в приложении 3. Стенд подключается к компьютеру через параллельный порт (LPT1) посредством кабеля ByteBlasterMV. Схема электрическая принципиальная кабеля ByteBlasterMV и цоколевка разъема кабеля ByteBlasterMV приведены в приложении 2 (см. рисунок 1.21, 1.22, таблица 1.2). К выводам ПЛИС (D1) подключены 4 двухцветных светодиода (HL1 – HL4) (см. рисунок 1.27), которые могут быть использованы как индикаторы логических уровней в различных точках схемы. Два 7 – сегментных индикатора (HL5, HL6) (см. рисунок 1.28) предназначены для индикации цифр от 0 до 9. К входу общей синхронизации ПЛИС (вывод 87) подключен кварцевый генератор частотой 5 МГц (см. рисунок 1.31). Элемент SA1-SA4 представляет собой одиночную кнопку (см рисунок 1.29), формирующую, благодаря резисторам R29-R32, два логических уровня (0 и 1). Сборка микропереключателей SB5 (см. рисунок 1.25) предназначена для формирования логических уровней на выводах ПЛИС. Микросхема DA1 – стабилизатор напряжения питания платы (см рисунок 1.30). Выводы конфигурирования ПЛИС выводятся на контакты разъема (XP1) (см. рисунок 1.26), который служит для смены конфигурационного файла ПЛИС с помощью персонального компьютера и согласующего кабеля ByteBlasterMV.

Расположение описанных компонентов можно проследить по сборочному чертежу, приведенному на рисунке 1.20.

 


Рисунок 1.20. Сборочный чертеж платы лабораторного стенда

 


 

Задание для самостоятельного выполнения

 

 

Внимание!

При выполнении практикума в лабораторном классе:

Соблюдайте правила техники безопасности при работе со стендом и приборами как с электрическими установками! Сетевое питание на стенд и питание на тестируемые схемы подавайте только после полного монтажа схемы и проверки монтажа преподавателем!

 

Загрузите проект, из предложенных преподавателем, в среду Quartus II. Как видно из окна графического редактора, схема состоит из двух логических элементов: логических элемент «И» на два входа, а также логический элемент «ИЛИ» на два входных сигнала.

Входы логических элементов подключены (см. схему электрическую принципиальную, приложение 3) к сборке микропереключателей SB5, два выхода к светодиодам HL1 и HL2.

Пользуясь редактором временных диаграмм, заполните таблицу истинности 1.1 представленных элементов.

 

IN 0

IN1

OUT

0

0

?

0

1

?

1

0

?

1

1

?

Таблица 1.1. Таблица истинности логических элементов (заполняется

при выполнении лабораторной работы)

 

Сконфигурируйте ПЛИС, предложенным файлом и проведите исследование логических элементов. Для этого с помощью младших (левых) двух микропереключателей в сборке SB5 последовательно устанавливайте возможные комбинации уровней на входах элемента «И», контролируя состояние выхода последнего с помощью светодиода HL1. Повторно заполните таблицу истинности 1.1. Проведите аналогичное исследование для элемента «ИЛИ», используя для управления логическими входами элемента, старшие два микропереключателя (правые) из сборки SB5 и для контроля выхода светодиод HL2. Данные занесите в таблицу истинности 1.1.

Сравните по заполненным таблицам истинности результаты моделирования и практического исследования. Оформите отчет выполненной лабораторной работы.

 

5. Контрольные вопросы

Расскажите что такое ПЛИС.

Что такое файл конфигурации ПЛИС?

Каким образом производиться конфигурирование ПЛИС?

Расскажите как устроен лабораторный стенд.

Что такое таблица истинности?


 

Приложение 1.

Таблица соответствия обозначений логических элементов

Название элемента

Российское обозначение

Название элемента в Quartus

Обозначение в Quartus

«И»

И

and

and

«И-НЕ»

И-НЕ

nand

and

«ИЛИ»

ИЛИ

or

or

«ИЛИ-НЕ»

ИЛИ-НЕ

nor

nor

«ИСКЛЮЧАЮЩЕЕ
ИЛИ»

ИСКЛЮЧАЮЩЕЕ ИЛИ

xor

xor

«ИСКЛЮЧАЮЩЕЕ
ИЛИ-НЕ»

ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ

xnor

xnor

«НЕ»

НЕ

not

not

 

 


Приложение 2

Схема электрическая принципиальная кабеля ByteBlasterMV

 

Рисунок 1.21. Принципиальная электрическая схема кабеля BateBlaster II

10-контактный разъём загрузочного кабеля показан на рисунке 1.22


Рисунок 1.22. Разъем загрузочного кабеля

 

Обозначение и назначение контактов разъема загрузочного кабеля для различных режимов конфигурирования приведены в таблице 1.2.

 

Контакт

Сигналы

PS-режим

JTAG-режим

 

Обозначение

Описание

Обозначение

Описание

1

DCLK

Тактовый сигнал

TCK

Тактовый сигнал

2

GND

Земля

GND

Земля

3

CONF_DONE

Контроль состояния конфигурации

TDO

Выход данных

4

VCC

Напряжение питания

VCC

Напряжение питания

5

nCONFIG

Контроль состояния конфигурации

TMS

Управление конечным автоматом JTAG

6

-

Не используется

-

Не используется

7

nSTATUS

Состояние конфигурации

-

Не используется

8

-

Не используется

-

Не используется

9

DATA0

Вход данных

TDI

Вход данных

10

GND

Земля

GND

Земля

Таблица 1.2. Цоколевка и назначение контактов кабеля BateBlaster II


Приложение 3

 

Схема электрическая принципиальная лабораторного стенда

 

Рисунок 1.23. Подключение питающего напряжения к ПЛИС

 

Рисунок 1.24. Подключение контрольных точек к ПЛИС

 

Рисунок 1.25. Подключение сборки микропереключателей

 

Рисунок 1.26. Подключение конфигурирующего разъема

 

Рисунок 1.27. Подключение светодиодов

 

Рисунок 1.28. Подключение семисегментных индикаторов

 

Рисунок 1.29. Подключение тактовых кнопок

 

Рисунок 1.30. Стабилизатор +3.3В

 

Рисунок 1.31. Подключение кварцевого генератора