МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОУ ВПО «ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ»
КАФЕДРА «ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ
ЛАБОРАТОРНЫХ РАБОТ
по дисциплинам «Основы комплексной автоматизации проектирования и производства СВТ»
«Организация ЭВМ и систем»
(Часть
I
)
Ижевск 2008
УДК 681.32.003
Составитель: канд.техн.наук, доцент кафедры «ВТ» К. Ю. Петухов.
Методические указания содержат основные сведения по работе в САПР QUARTUS II v. 4.1 WEB EDITION, а также приводится описание лабораторного стенда SDK 6.1, способы его подключения и конфигурирования.
Методические указания предназначены для выполнения лабораторных работ по дисциплинам «Основы комплексной автоматизации проектирования и производства средств вычислительной техники», «Организация ЭВМ и систем».
Ил. 33. Табл. 2. Библиограф.: 2 назв.
Рецензент: канд.техн.наук, доцент кафедры «РАДИОТЕХНИКА»
О. Б. Юминов
Ó Петухов К. Ю.
Содержание
ВВЕДЕНИЕ………………………………………………………………………………...............4
2. Процесс Создания проекта............................................................................. ....….. 5
Начало создания проекта.......................................................................................................5
Создание нового файла проекта...……………...……………………............….……….....7
Ввод и редактирование схемы……………………………..……………………….….…...7
Рисование цепи……………………………………………………………………….…..…10
Присвоение имени цепи.…………………………………………………………………....11
Задание констант «0» и «1»………………………………………………………………...11
Рисование шины……………………………………………………………….………........11
3. Формирование собственной библиотеки
МАКРОЭЛЕМЕНТОВ
……………………………………………………………………...….... 11
Создание макроэлемента……………………………………………………………..….....13
Выбор подсхемы из библиотеки……………………………………………...……..…......13
Редактирование УГО макроэлемента……………………………………………..…….....13
4. КОМПИЛЯЦИЯ ПРОЕКТА
…………………………………………………….……….…...14
5. моделирование схемы…………………………………………………18
6. ПОДГОТОВКА К РАЗМЕЩЕНИЮ СХЕМЫ
……………………………….….….21
Редактор Назначений (Assignment Editor)………………………………………………...21
Поуровневый планировщик (FloorРlan Editor)……………………………………….…...23
7. реализация проекта на стенде SDK 6.1…..………………..….26
Особенности SDK-6.1…………………………………………………………….…….….26
Назначение SDK-6.1……………………………………………………………….…….....26
Подготовка схемы для размещения ее на кристалле…………………….…….………....27
Состав и параметры SDK-6.1………………………………………….………….………..28
Структурная схема SDK 6.1………………………………………………….………….....30
Конфигурирование ПЛИС…………………………………………….……….……….….29
8. ЛИТЕРАТУРА
…………………………………………………………………………….....…34
ПРИЛОЖЕНИЕ……..………………………………………………….…….………..…….……
35
Таблица распайки выводов и сигналов ПЛИС и элементов управления стендa…..…....35
Таблица каналов дискретного ввода-вывода…………………………………….………..36
Тест стенда SDK-6.1…………………………………………………...………….…….…..38
ВВЕДЕНИЕ
Основные возможности пакета
Quartus
II
v.4.1:
· Различные способы ввода поведенческих , потоковых и структурных описаний проекта
· Интегрированные средства помощи для создания сложных проектов Mega Wizard & SOPC
· Система синтеза проекта
· Система размещения внутренних ресурсов и разводки ПЛИС
· Система моделирования проекта
· Система временного анализа и анализа потребляемой энергии проекта
· Система программирования ПЛИС
· Средства оптимизации быстродействия проекта - LogicLock
· Система интеграции с другими САПР
· Система проектирования блоков цифровой обработки сигналов (DSP)
· Поддержка использования IP-модулей (IP-Cores - от англ. Intellectual Property – интеллектуальная собственность)
· Поддержка ОС – Windows, Linux, Solaris, HPUS
Способы ввода описания проекта в рамках пакета
Quartus
II:
- Текстовый ввод (VHDL, AHDL, VerilogHDL)
- Посредством редактора памяти (Hex-, Mif-файлы)
- Схемный ввод (Block Diagram File)
· Импорт проекта из других САПР в виде списка соединений (EDIF Netlist File)
· Использование мегафункций фирмы Altera и IP- модулей
· Сочетание различных способов
Текстовый ввод описания проекта:
· Возможности:
- Нумерация линий
- Использование заготовок языковых конструкций
- Отображение ключевых слов цветом
· Используемые языки
- AHDL (Altera Hardware Design Language) - <файл
.tdf>
- VHDL (Very High Speed Integrated Circuit Hardware Description Language - язык описания аппаратных средств сверхбыстродействующих интегральных микросхем) - <файл
.vhd>
- VerilogHDL (Verilog Hardware Description Language) - <файл
.v>
Схемный ввод описания проекта:
При схемном вводе описания проекта могут использоваться:
· Простейшие логические элементы (примитивы)
· Параметризируемые модули
· Мегафункции компании Altera
· Ранее созданные компоненты
Вход в систему
Для входа в систему Quartus II v.4.1 Web Edition необходимо на рабочем столе Windows дважды щелкнуть мышью пиктограмму системы:
Начало создания проекта
Работа в системе начинается либо с выбора уже существующего проекта File
->
Open
Project
…
(Ctrl
+
J
), либо с создания нового проекта File
->
New
… (
Ctrl
+
N
).
Создайте новый проект: выберите из меню File
пункт New
Project
Wizard…
- мастер создания новых проектов. В открывшемся окне нажмите кнопку Next
и в окне для задания текущей директории проекта заполните все строки (в данном случае текущий проект будет назван top
и будет создана директория по адресу C:/Program Files/altera/Primer- рис.1), нажмите кнопку Next несколько раз до тех пор, пока не дойдете до окна «
Device
Family»
.
Рис.1 Меню задания текущей директории проекта
В окне «Device Family» выберите семейство «Cyclone»
, а на вопрос: «Хотите ли вы выбрать конкретную модель?» ответьте утвердительно.
В следующем окне «
Select
a
Target
Device»
значение Speed Grade выберите равным 8
, а тип кристалла – EP
1
C
3
T
144
C
8 –
это марка ПЛИС типа FPGA, использованной в лабораторном стенде.
Следующие файлы автоматически генерируются мастером New
Project
Wizard
:
-
Project
Configuration
File
– файл хранит конфигурацию проекта, Имя, задаваемое по умолчанию – <имя_проекта.quartus
>. Может редактироваться в текстовом редакторе.
-
Project
Settings
File
- файл с установками проекта - имя, задаваемое по умолчанию – <имя проекта.PSF
>.
Создание нового файла
проекта
После создания нового проекта произведем создание нового файла проекта. Меню File
пункт New…
в открывшемся диалоговом окне Рис.2 выберем тип создаваемого файла.
Рис.2 Меню выбора типа файла проекта
На закладке Device
Design
File
можно выбрать:
- АHDL File – создать файл с описанием проекта на языке AHDL,
- Block Diagram/Schematic File – создать описание проекта в виде схемы,
- EDIF File – файл Electronic Design Interchange Format,
- VerilogHDL File – создать файл с описанием на языке VerilogHDL,
- VHDL File – создать файл с описанием на языке VHDL.
Создадим файл, содержащий описание схемы. Для этого выберем пункт Block
Diagram/
Schematic
File
и нажмем OK. На рабочей панели Quartus II откроется окно с файлом Block1.
bdf
, в котором и создадим наш проект.
! |
Файлы графического редактора, созданные в
Quartus
II не
могут быть открыты в системе
Quartus 1.1 и более ранних версиях, включая САПР МАХ
PLUS.
Ввод и редактирование схемы
Графический (Схемный) редактор позволяет увеличивать или уменьшать масштаб изображения проекта на экране, выбирать размер шрифта, задавать стили линий, получать зеркальное отображение, поворачивать выделенные фрагменты на 90, 180 и 270 градусов, задавать размер и ориентацию текущего листа схемы (рис. 3).
При создании схемы могут использоваться:
– Простейшие логические элементы, триггеры, элементы ввода-вывода и другие элементы (primitives
);
– Параметризируемые модули (мегафункции, megafunctions) - созданные фирмой Altera модули с нефиксированными параметрами;
– Ранее созданные (в текстовом или графическом редакторах) компоненты.
Для операций создания схемы применяется следующая панель инструментов (рис. 3).
|
|
|
|
|
|
|
Рис. 3 Свойства панели инструментов
*
“
Rubberbanding“
или “
Rubber-
banding“ –
от англ. «
эластичное соединение, соединение резиновой нитью» (в компьютерной графике) – при выбранной функции соединение (цепь, проводник или шина) останется неразрывно связанным с элементом при его перетаскивании в другое место.
Рассмотрим процедуру создания простой схемы на примере. На рис. 4 приведена схема, которую следует ввести в графическом редакторе..
Рис. 4. Логическая схема
В схеме используются два элемента AND2
(2И) и один элемент NOR2
(2ИЛИ-НЕ). Эти элементы являются стандартными для системы Quartus II (т. н. «примитивы»), доступ к ним осуществляется как показано на рис. 5. Также можно просто ввести наименование элемента в поле «Name».
Рис. 5 Окно
Symbol
Tool
Подключите ко всем внешним контактам схемы входные и выходные элементы и дайте им названия (например, А1, А2, А3, А4 и F) (рис. 6);
Рис. 6. Логическая схема с подключенными внешними элементами
На рис. 7 показано как задать имя и тип элементов ввода-вывода в схемном редакторе.
|
|
Рис.7 Окно
Pin
Properties
Рисование цепи
Создание новой цепи осуществляется путем рисования ее фрагментов. Фрагмент цепи - это отрезок, соединяющий два объекта. Объектом является либо контакт (входной или выходной) элемента, либо цепь. Таким образом, фрагмент цепи соединяет контакт с контактом, контакт с цепью, цепь с контактом.
Рисование фрагмента цепи выполняется не прорисовкой конфигурации соединения, а только указанием соединяемых объектов, фрагмент цепи прорисовывается автоматически.
Можно начать рисование фрагмента цепи и на свободном поле, но закончить его вы должны на объекте.
Щелкните на панели инструментов (рис. 3)
1. кнопку «Рисование цепи» (Orthogonal Node Tool). Курсор примет вид перекрестия с маленькой пиктограммой цепи.
2. укажите щелчком левой клавиши мыши первый объект или желаемую точку на свободном поле (начало фрагмента цепи), затем вторым щелчком - второй объект (конец фрагмента цепи). После этого на экране появится автоматически прорисованный фрагмент цепи.
3. Повторите действия пункта 2 для рисования всей цепи.
Для перемещения цепи:
1. Переместите курсор на цепь и нажмите левую клавишу мыши.
2. Не отпуская клавишу, переместите цепь на требуемую позицию и отпустите клавишу мыши.
Для удаления цепи:
1. Щелкните мышью цепь, которую вы хотите удалить. Она будет выделена синим цветом. 2. Нажмите на клавиатуре клавишу Delete
.
Присвоение имени цепи:
1. Щелкните правой кнопкой мыши на цепи, которой вы хотите присвоить имя. Откроется окно Node
Properties
(рис. 8).
2. Введите имя и нажмите кнопку OK.
|
Рис. 8 Окно
Node
Properties
Задание констант «0» и «1»
Для подачи на вход элемента постоянного сигнала «0» необходимо подсоединить к нему символ «земля». Для этого из библиотеки элементов (кнопка «Symbol» на рис. 3 или выберите команду Edit->Insert Symbol
) необходимо извлечь элемент с именем GND
.
Для подачи на вход элемента постоянного сигнала «1» необходимо подсоединить к нему символ «питание». Для этого из библиотеки элементов необходимо извлечь элемент с именем VCC
. Элементы удобно выбирать, задавая их имя в поле «Name».
Рисование шины
Для более наглядного представления схемы и создания удобств ее рисования в системе предусмотрено использование шин.
Шина
- это совокупность одиночных проводников, изображаемая на рисунке одной утолщенной линией.
Имя шины
состоит из идентификатора и индексных пределов, заключенных в квадратные скобки: BUS_
NAME [
X..
Y],
где X и Y - целые числа больше или равные 0.
Каждый проводник (сигнал), входящий в шину, получает имя шины и индекс: BUS_NAMEN
,
где n
- индексное значение, заключенное между X и Y. Например, шина DATA[3:0] представляет набор дискретных сигналов:
DATA3, DATA2, DATA1, DATA0,
здесь DATA3 - старший бит шины,
а шина DATA[0:3] представляет тот же набор сигналов, но в обратном порядке:
DATA0, DATA1, DATA2, DATA3,
здесь старший бит шины - DATA0.
Это позволяет изменять соединения в схеме без удаления и перерисовки шинных соединений, для этого достаточно в имени шины поменять местами индексы X и Y.
! |
Имя шины не должно заканчиваться цифрой.
Иначе могут быть непредвиденные подключения. Например, шины
DATA1[0:7] и
DATA[0:10] совместно используют сигнал
DATA10, который является членом обеих шин.
Для примера приведем схему шинного соединения:
Рис. 9. Шина
BUS[5..0]
c подключенными контактами
Как видно из рис. 9 выходы QА … QЕ сдвигового регистра (Shift Register) получают имена QА … QЕ и выходят на некую комбинационную схему.
Следует заметить, что проектирование только в графическом редакторе является непрофессиональным. Связано это с тем, что зачастую синтезируемые логические функции достаточно громоздки, и рисовать полученную комбинационную схему весьма долго и трудоемко, к тому же теряется прозрачность решения. Создавать проект только в текстовом редакторе тоже не следует по той же самой причине - теряется наглядность. Поэтому разработка любого цифрового устройства должна носить «тексто-графический» характер
3. Формирование собственной библиотеки МАКРОэлементов
При проектировании цифровых устройств может потребоваться элемент, отсутствующий в библиотеке моделей базовых элементов системы. В этом случае требуемый элемент можно создать на основе базовых элементов системы, а затем оформить его в виде подсхемы (макроэлемента) с прорисовкой условного графического обозначения (УГО). C этой задачей призван справляться Символьный редактор позволяет создавать и редактировать УГО (символ). Символьный файл имеет то же имя, что и проект, с расширением .
bsf
Создание макроэлемента
Под макроэлементом понимается определенным образом оформленная и записанная в рабочую библиотеку проекта схема, которой поставлен в соответствие рисунок УГО. Макроэлементы целесообразно использовать для оформления функционально законченных частей сложного проекта. Само собой разумеется, что оформление схемы в форме макроэлемента выполняется после ее отладки.
1) Откомпилируйте проект, нажав кнопку Start
Compilation
на верхней горизонтальной панели инструментов, или, выбрав пункт File->
Processing->
Start
Compilation
в главном меню);
2) Выполните команду File->
Create/
Update-
>Create
Symbol
Files
from
Current
File
из главного меню. Появится сообщение о создании символа (УГО) – файл будет включен в вашу библиотеку (
top .
BSF)
, автоматически будет сформирован рисунок УГО.
Выбор подсхемы из библиотеки
Созданный системой рисунок УГО вы можете в дальнейшем использовать в своих схемах, а также при создании более сложных макроэлементов. Нажмите на панели инструментов окна редактора схем кнопку «
Symbol
Tool»
. Появится диалоговое окно Symbol выбора модели элемента (рис. 10). В этом окне найдите и выделите имя макроэлемента. Затем выберите в поле рисования требуемую позицию для размещения УГО макроэлемента и нажмите левую клавишу мыши. Появится рисунок УГО выбранного макроэлемента.
|
Рис. 10. Выбор макроэлемента
Редактирование УГО макроэлемента
Созданный системой рисунок УГО можно изменить по своему усмотрению.
Для редактирования УГО макроэлемента необходимо выполнить следующие действия:
1. Выберите в папке проекта редактируемый макроэлемент (<имя_файла>.BSF
) (рис. 11).
Рис.
11. УГО макроэлемента
2. При помощи графических элементов панели инструментов отредактируйте изображение УГО макроэлемента (рис. 12).
Рис.
12. Отредактированный рисунок УГО макроэлемента
3. Сохраните введенные изменения в УГО макроэлемента.
Чтобы увидеть логическую структуру макроэлемента, необходимо дважды щелкнуть мышью по УГО элемента.
4. КОМПИЛЯЦИЯ ПРОЕКТА
После того как схематическое описание проекта введено в САПР Quartus II оно обрабатывается множеством специализированных инструментов (Tools). Вначале производится синтез проекта для перевода проекта из схематического описания в логические выражения. Затем в процессе, называемом «составление технологической карты» (technology mapping) определяется, как каждое логическое выражение будет представлено на логических вентилях кристалла.
Использование Компилятора (
Compiler
):
Специализированные инструменты доступные в Quartus II делятся на несколько модулей. Выполните команду Tools->Compiler Tool
для просмотра пяти основных модулей (рис. 13).
Рис. 13 Инструмент Compiler Tool
- Модуль «Analysis & Synthesis» (Анализ и Синтез) обеспечивает функцию синтеза в САПР Quartus II. Он производит схему из логических элементов, в которой каждый элемент может быть отображен на требуемый кристалл.
- Модуль «Fitter» (Размещение и Трассировка) определяет конкретное место на кристалле для каждого логического элемента.
- Модуль «Assembler» (Сборщик) генерирует конфигурационные файлы для прошивки ПЛИС.
- Модуль «Timing Analyzer» (Временной Анализатор) позволяет разработчику анализировать работу проектируемой логической цепи после того, как она была синтезирована и оптимизирована компилятором. Разработчик может исследовать все пути прохождения сигналов в проектируемой логической цепи и определить критические задержки в цепях.
- Модуль «EDA Netlist Writer» - подготавливает список сетей для других САПР.
Все эти модули управляются программой-приложением, называемой компилятором
. Компиляция предусматривает синтез проекта, т. е. построение базы данных и оценку быстродействия объекта компиляции.
В Quartus II предусмотрено несколько способов компиляции проекта. Доступ ко всем режимам компиляции осуществляется через меню File->
Processing->
Start
(рис.14). Компиляцию можно остановить в любой момент, просто нажав кнопку «Stop
Processing
» на главной панели инструментов.
|
Рис. 1
4 Меню
File->
Processing->
Start
Перед осуществлением компиляции, если еще не выбран тип кристалла, то его необходимо выбрать. Для этого выберем пункт Assignments
(Назначения)->
Device…
В открывшемся окне в строке Family выберем семейство Cyclone, а в окне Available Devices выберем нашу микросхему – EP1
C3
T144
C8
. Нажатием кнопки OK подтвердим выбор кристалла.
Существует такое понятие, как объект компиляции «
Focus
Points»
. Это такой компонент в иерархии описаний проекта, который будет компилироваться так, как если бы он был компонентом верхнего уровня в иерархии описаний. Файл верхнего уровня в иерархии описания проекта (Top-
level
entity
) является объектом компиляции по умолчанию (рис. 15).
Рис. 15 Пример назначения
Focus
Points
Для запуска процесса компиляции выберем пункт Start
Compilation
из меню Processing
или нажмем Ctrl+
L
. Подтвердив сохранение текущего файла, ожидаем окончания процесса компиляции. По окончании компиляции появляется окно Compilation
Report
с сообщениями о результатах компиляции, количестве ошибок и предупреждений.
Индикация процесса компиляции осуществляется следующим образом (рис. 16):
- опустошаются и переворачиваются песочные часы, что указывает на активность компилятора, процент завершения компиляции постепенно увеличивается до 100% и время, прошедшее с начала компиляции;
- один за другим высвечиваются прямоугольники модулей компилятора, по мере того как компилятор завершает каждый этап обработки;
- при обнаружении в процессе компиляции каких-либо ошибок или возможных проблем автоматически открывается окно обработчика сообщений, в котором отображается сообщения об ошибках и информационные сообщения, а также дается справка по исправлению ошибки. Кроме того, можно определить источники сообщений в файлах проекта или в его редакторе назначений.
|
Рис 1
6 Окно
Compilation
Report
Возможно переключение режима отображения результатов в режим измерительных приборов. Для этого необходимо нажать правую кнопку мыши в поле Summary
(рис. 16) и выбрать пункт Gauge
Summary
(Измерительные Приборы - Итог). Любой датчик можно переключить в режим отображения результатов в процентном соотношении (Percent
) (рис. 17).
Рис. 17 Режим
Gauge
Summary
5. моделирование схемы
Создание временных диаграмм (временное моделирование) в САПР QuartusII (Waveform
entry
) осуществляется одним из следующих способов:
– .vwf (vector waveform file) – файл редактора временных диаграмм пакета Quartus II
– .vec (vector file) – векторный файл, использовавшийся в пакете MAX+PLUS II, поддерживается для обратной совместимости пакетов
– .tbl (table file) – табуляционный файл, используемый для импортирования временных диаграмм, созданных в пакете MAX+PLUS II (.scf), в пакет Quartus II
– Создание тестовых воздействий на языке Tcl/TK
– Использование систем моделирования сторонних производителей (Modelsim, ActiveHDL и др.)
– Создание тестов на языках Verilog и VHDL.
Перед началом симуляции требуется задать файл временных диаграмм – File->
New->
Other
Files->
Vector
Waveform
File.
Откроется окно моделирования (рис. 18).
Рис. 18 Окно моделирования схемы
Сохраните файл под именем top.
vwf.
Задайте желаемый временной интервал моделирования равным 1 мкс - Edit->End Time
и загрузите список входов и выходов схемы, для которых необходимо провести симуляцию. Для этого дважды щелкните в левом свободном поле (рис. 18) или выберем команду Edit->
Insert
Node
or
Bus
в главном меню. Появляется окно Insert
Node
or
Bus
(рис. 19), в котором нажимаем кнопку Node
Finder…
Рис. 19 Окно
Insert
Node
Bus
В окне Node
Finder
в поле Filter
(Фильтр) устанавливаем Pins:
all
(Выводы: все) и нажимаем List
(Отобразить) и переводим найденные входы и выходы в выбранные (т. е из левой части в правую). После чего последовательно нажимаем ОК до выхода. Результат приведен на рис. 20.
Рис. 20 Список всех входов и выходов
Выделяя необходимые сигналы на требуемом интервале времени, при помощи панели инструментов (рис. 21), задаем на данном интервале необходимые логические уровни из меню сигналов, расположенного непосредственно над выделяемой областью. Для навигации в окне симуляции удобно пользоваться комбинациями горячих клавиш Ctrl+
Shift+
Space
– для уменьшения масштаба и Ctrl+
Space
– для увеличения (или удерживая клавишу Ctrl
крутить колесико мыши).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 21 Панель инструментов для задания векторов сигнала
Рис. 22 Окно симуляции после задания векторов сигналов
После задания всех уровней сигналов запускаем симуляцию. Для запуска системы моделирования могут использоваться следующие команды:
- Processing =>Start Compilation & Simulation
- Processing => Start Simulation
- Иконка на главной панели инструментов.
Просмотреть результат моделирования в виде временной диаграммы можно, если в разделе Simulator выбрать Simulation Waveforms (рис. 23).
|
|
|
Рис. 23 Отчет о результатах моделирования
Отметим, что САПР Quartus II позволяет проводить сравнение двух врем
пункт Compare
to
Waveforms
in
File…
и указать тот файл временных диаграмм, с которым нужно произвести сравнение.
6. ПОДГОТОВКА К РАЗМЕЩЕНИЮ СХЕМЫ
Для размещения схемы, созданной в системе Quartus II, непосредственно на кристалле необходимо задать физическое отображение (иначе - назначение, распределение, задание) созданных элементов ввода - вывода (input/output) на реальные выводы конкретной ПЛИС. Эту задачу призван выполнять Редактор Назначений
(Assignment
Editor)
. Для доступа к нему выполните команду Assignments->
Assignment
Editor
или нажмите Ctrl+
Shift+
A
.
Этот редактор позволяет отобразить все выводы ПЛИС и их свойства, а также задать для каждого вывода стандарт ввода – вывода. С помощью этого редактора вы можете сортировать и фильтровать назначения, основанные на имени цепи или типе назначения.
Окно Редактора Assignment Editor состоит из четырех вкладок – Category (Вид)
, Node
Filter (Фильтр Цепей),
Edit (Редактирование),
Information (Информация)
и главной таблицы (рис. 24).
Вкладка Category содержит список всех назначений, доступных для данной ПЛИС. Вы можете использовать эту вкладку для того, чтобы выбрать один тип назначений и отфильтровать все остальные.
Вкладка Node Filter отображает все назначения только для цепей, указанных фильтром. Галочка «Show
assignments
for
specific
nodes»
должна быть включена.
Вкладка Edit позволяет вводить и изменять значения в таблицу назначений.
Вкладка Information отображает справочную информацию о конкретной ячейке таблицы.
|
Рис. 24 Редактор
Assignment
Editor
Данный редактор поддерживает Систему динамической проверки назначений
(Dynamic Checking of Assignments) (рис. 25), которая обеспечивает:
- проверку допустимости назначений в процессе их ввода;
- отображение цветом статуса назначения.
Если назначение выделено:
- коричневым
цветом – это значит, что назначение неполное,
- черным
– назначение активно,
- зеленым
– новое назначение может быть задано,
- серым
– назначение отключено,
- красным
– назначение содержит ошибку,
- желтым
– назначение содержит предупреждения (warnings
), например, из-за неизвестного имени цепи.
Рис. 25 Проверка назначений
Все заданные назначения хранятся в файле <имя_файла>.
pin.
Файл будет автоматически создан пакетом Quartus II при компиляции. В рабочей папке проекта может быть несколько файлов <имя_файла>.
pin.
Теперь рассмотрим возможности FloorР
lan Editor (
Редактора Общей Топологической Структуры ПЛИС или Поуровневого Планировщика), с помощью которого пользователь назначает ресурсы физических устройств и просматривает результаты разветвлений и монтажа, сделанных компилятором.
В окне поуровневого планировщика могут быть представлены два типа изображения:
1) Chip
Editor
(Редактор кристалла) показывает все соединения устройства в сборке и их функции;
2) Timing
Closure
Floorplan
представляет собой проект, размещенный внутри кристалла - показывает внутреннюю структуру устройства, в том числе все логические блоки (LAB) и отдельные логические элементы или макроячейки.
В окне Compilation Report выберем из меню Fitter
пункт Floorplan View
или выберем Assignments->Timing Closure Floorplan
. Окно Floorplan View изображено на рис. 26. На этом рисунке представлено укрупненное внутреннее содержимое выбранного нами кристалла с назначенными выводами. Внутреннее содержимое кристалла типа FPGA представляет собой совокупность логических блоков, каждый из которых содержит по 10 логических элементов.
|
|
|
|
Рис. 26
Floorplan
Editor для кристалла типа
FPGA
Окно Floorplan View, изображенное на рис. 27, соответствует проекту, реализуемому на базе ПЛИС типа CPLD (МАХ 3000А). Представлены макроячейки этой ПЛИС, которые, как известно, организованы в логические блоки по 16 в каждом.
Вместо того, чтобы отображать логические блоки, бывает полезно взглянуть на то, где конкретно расположены нужныевыводы ПЛИС. Для этого перейдите (View->Package Top)
к виду сверху или снизу (View->Package
Bottom)
.
Рис. 27
Floorplan
Editor для кристалла типа
CPLD
7. реализация проекта на стенде SDK 6.1
После отработки логической схемы с использованием функционального моделирования необходимо поместить её на кристалл. Затем выполнить моделирование схемы с учетом фактических задержек элементов, полученных после размещения схемы на кристалле. При необходимости откорректировать полученные решения. После чего осуществляется загрузка схемы в ПЛИС и отработка её на макете (рис. 28).
Рис.28 Этапы проектирования цифрового устройства на ПЛИС
Подготовка схемы для размещения её на кристалле
Перед помещением схемы на кристалл её необходимо надлежащим образом подготовить. Для этого следует определить, какие точки схемы будут выводиться на внешние контакты корпуса ПЛИС. Контакты корпуса ПЛИС уже распаяны на печатной плате универсального лабораторного стенда и выведены на его органы управления (клавишные переключатели, тумблеры и индикаторы). Поэтому подготовка схемы сводится к подключению органов управления стенда.
Назначение SDK-6.1
Учебный лабораторный комплекс SDK-6.1 предназначен для обучения основам проектирования современных электронных модулей на базе микросхем программируемой
логики (ПЛИС) средней и большой степени интеграции. Внешний вид стенда изображен на рис. 29. В SDK-6.1 использованы ПЛИС фирмы ALTERA семейства CYCLONE и МАХ3000. Кроме того, стенд оснащен постоянной и оперативной памятью значительного объема, разнообразными интерфейсными каналами, устройствами консольного ввода-вывода, надежной системой электропитания, что позволяет применять его в качестве прототипа при разработке разнообразных электронных модулей: контроллеров и приборов.
Рис. 29 Внешний вид учебного стенда SDK-6.1
Особенности SDK-6.1
· ПЛИС семейства Cyclonе фирмы Altera, установленная в SDK-6.1, обладает достаточной емкостью для реализации проектов различной сложности: от простых автоматов до процессорного ядра NIOS/NIOSII (Altera)
· Стенд оснащен подсистемой памяти (FLASH, EEPROM), необходимой для построения полнофункционального вычислительного ядра.
· SDK-6.1 может функционировать автономно, без подключения к инструментальному компьютеру.
· Допускается хранение во внутренней FLASH-памяти и загрузка по выбору до 16 конфигурационных файлов ПЛИС.
· Ввод конфигурационного файла с ПК в ПЛИС может осуществляться через порты RS232 с помощью адаптера BBA 1.0, или по интерфейсу JTAG с помощью адаптера ByteBlasterMV.
· JTAG-порт обеспечивает поддержку механизмов внутрисистемной отладки.
· Повышенная надежность системы электропитания: диапазон 9..36В, встроенный супервизор напряжения и корректного перезапуска.
· Конструкция стенда может быть модифицирована для установки на монтажную рейку DIN35 при необходимости использовании стенда в промышленных условиях
Состав и параметры SDK-6.1
− основная ПЛИС EP1C3T144-8 (Altera)
− вспомогательная ПЛИС EPM3128ATC100-10 (Altera)
− объем памяти конфигураций (FLASH) 1 Мбайт
− объем EEPROM I2
C 256 байт
− количество хранимых конфигураций ПЛИС 8 шт
− параллельный высокоскоростной порт ввода/вывода 22 разряда
− последовательный порт RS232 1 шт.
− ЖКИ 2 строки х 16 символов 1 шт.
− управляемые светодиоды 9 шт.
− двухпозиционные переключатели 8 шт.
− кнопка тактовая 1 шт.
− кнопка сброса 1 шт.
− интерфейсы отладки/программирования JTAG, цепочка из 2-х ПЛИС
− габариты модуля стенда, не более 120 мм x 160 мм x 40 мм
− питание постоянным током с напряжением 9–30 В
− потребляемая стендом мощность, не более 5 Вт
Структурная схема SDK 6.1
Рис.
30 Структурная схема
SDK 6.1
Конфигурирование ПЛИС
Общие сведения:
Учебно-лабораторный стенд SDK-6.1 допускает несколько режимов конфигурирования ПЛИС, каждый из которых используется на определенных этапах работы со стендом, для решения различных задач:
1. Конфигурирование через последовательный порт RS232;
2. Конфигурирование через интерфейс JTAG;
3. Конфигурирование из микросхемы автоконфигурации EEPROM (не используется в данной версии SDK-6.1).
Конфигурирование ПЛИС с использованием интерфейса RS232
Режим конфигурирования через интерфейс RS232 используется только в процессе разработки и отладки учебных или прикладных проектов и, в отличие от режима конфигурирования через интерфейс JTAG, не может использоваться для начальной инициализации стенда, однако обеспечивает большее удобство в работе. При работе в данном режиме конфигурационные файлы будут сохраняться
во flash-памяти, и, следовательно, не будут утеряны при отключении питания.
Порядок конфигурирования ПЛИС с помощью RS232:
1. Подключите разъем J7 стенда SDK-6.1 к COM-порту ПК при помощи
интерфейсного кабеля;
2. Подключите питание к SDK-6.1;
3. Переключите стенд в режим загрузки конфигурационных файлов для EP1C3 по
последовательному каналу. Для этого: либо установите на переключателе «PAGE» номер страницы flash-памяти, в которой находится Flash-загрузчик (по умолчанию - 0) и нажмите кнопку «RESET», либо нажмите кнопку «RESET» при нажатой и удерживаемой кнопке «CONTROL» (это приведет к тому, что будет загружен файл из нулевой страницы, независимо от того, в каком положении находится переключатель «PAGE»).
После этого на ЖКИ стенда будет выведено сообщение «SDK6.1 Flash Writer», светодиоды «D0»-«D7» будут по очереди зажигаться и гаснуть, а светодиод «CONFIG» будет погашен. Если этого не произошло – воспользуйтесь режимом конфигурирования через интерфейс JTAG и загрузите конфигурационный sof
-файл Flash-загрузчика (cyclone_flash_writer.sof) в ПЛИС EP1C3;
4. Создайте и скомпилируйте проект (лабораторную работу), предназначенный для основной ПЛИС EP1C3 стенда SDK-6.1, в инструментальной среде Altera Quartus II Web Edition. В результате успешной компиляции должен быть создан конфигурационный файл с расширением .rbf
.
Для создания этого файла в меню Quartus II включите опцию генерирования
rbf
-файла при компиляции проекта. Для этого нужно открыть диалоговое окно настроек (Assignments->Device
), в котором нажать кнопку «Device & Pin Options».
В открывшемся окне выберите вкладку «Programming Files» и отметить галочкой пункт «Raw Binary File (.rbf)» (рис. 31).
Рис.
31 Создание Raw Binary File (.rbf)
5. Запустите на ПК программатор sdk61fw
для того, чтобы произвести запись конфигурационного файла во flash-память стенда. Например, чтобы записать файл file1.rbf
в страницу номер 5
через СОМ-порт 1
, нужно вызвать программатор со следующими параметрами:
sdk61fw write 0x0A0000 file1.rbf com1
или
sdk61fw write page5 file1.rbf com1
где:
sdk61fw - имя программы,
write – режим записи во flash-память,
0x0A0000 – адрес пятой страницы во flash-памяти стенда,
page5 - номер пятой страницы во flash-памяти стенда,
file1.rbf – имя записываемого конфигурационного файла,
com1 – имя последовательного порта, к которому подключен конфигурационный кабель.
! |
Нужно помнить, что по умолчанию в нулевой странице расположен Flash-загрузчик. Если записать в эту страницу другой конфигурационный файл, то дальнейшее конфигурирование с использованием интерфейса RS232 станет невозможным! (По-крайней мере до тех пор пока не будет снова «прошит» Flash-загрузчик).
6. После того, как программатор завершит работу, путем нажатия кнопки «RESET»производится рестарт системы, при этом в ПЛИС EP1C3 будет загружен конфигурационный файл из той страницы flash-памяти, номер которой указан на переключателе «PAGE» (см. таблицу 1). В случае, когда нажатие кнопки «RESET» производится при нажатой кнопке «CONTROL», независимо от состояния переключателя «PAGE» в ПЛИС будет загружен конфигурационный файл из нулевой страницы.
Конфигурирование через интерфейс JTAG
Интерфейс JTAG был разработан группой специалистов по проблемам тестирования электронных компонентов (Joini Action Group). Oн был зарегистрирован в качестве промышленного стандарта IEEE Std 1149.1-1990 (IEEE Standard Test Access Port and Boundary-Scan Architecture). Он может быть использован для следующих целей:
· тестирования печатных плат
· конфигурирования (программирования) кристалла
· внутрисхемной отладки
Применительно к лабораторному стенду режим конфигурирования через интерфейс граничного сканирования JTAG используется в процессе разработки и отладки учебных или прикладных проектов. Данный режим позволяет: конфигурировать вспомогательную ПЛИС EPM3128 (возможно только в режиме конфигурации через JTAG) и основную ПЛИС EP1C3, выполнять внутрисхемную отладку проекта, используя встроенные средства пакета проектирования Altera Quartus II. Конфигурационные файлы для основной ПЛИС EP1C3 при таком режиме работы не сохраняются
в энергонезависимой памяти стенда и будут утеряны при отключении питания или рестарте системы. Еще одним недостатком данного способа конфигурирования ПЛИС можно считать потенциально опасное подключение стенда к ПК.
Рис. 32 Подключение SDK-6.1 к ПК по интерфейсу JTAG
Порядок конфигурирования ПЛИС с помощью JTAG:
1. Проверьте, что на инструментальном компьютере установлен и функционирует
драйвер адаптера интерфейса JTAG ByteBlaster. Для этого запустите программу его инициализации bblpt.exe /i
из подкаталога C:
Programm
Filesalteraquartus41driversi386.
2. Если SDK-6.1 уже подключен к ПК, перейдите к п.4.
3. Отключите питание SDK-6.1: адаптер питания из розетки или разъем кабеля адаптера от стенда.
4. Подключите SDK-6.1 к параллельному порту LPT компьютера с помощью адаптера
ByteBlaster (рис. 30).
5. Подключите питание к SDK-6.1.
6. Создайте и скомпилируйте проект, предназначенный для основной ПЛИС EP1C3
стенда SDK-6.1, в инструментальной среде Altera Quartus II. В результате успешной компиляции должен быть создан конфигурационный файл с расширением .sof
(SRAM Object File – файл для конфигурирования ПЛИС на базе статической памяти, к которым, в частности, относятся микросхемы семейства Cyclon).
7. Запустите встроенный в Quartus II программатор для этого щелкните по пиктограмме программатора на горизонтальной панели инструментов или выберите пункт меню Tools->
Programmer
(Рис.33).
Настройте цепочку JTAG устройств. Первым устройством обязательно
должно быть указано устройство EPM3128AT100 (кнопка - Add
Device
– Добавить Устройство), вторым - EP1С3T144. Для основной ПЛИС EP1С3 укажите SOF файл для программирования, установите флажок в колонке Program/Configure
.
Для вспомогательной ПЛИС EPM3128 программируемый файл не указывать (кроме случаев обновления системной
конфигурации вспомогательной ПЛИС), не устанавливать флажки ни в одной
из колонок (рис. 33)
.
Рис. 33 Окно диалога настройки цепочки JTAG устройств
8. Нажмите кнопку RESET на стенде. Должен загореться светодиод «CONFIG».
9. Для запуска процесса программирования нажмите кнопку «Start»
.
10. В случае успешного окончания программирования линейка «Progress»
дойдет до 100%, после чего загруженная конфигурация активизируется и погаснет светодиод «CONFIG».
11. Если программирование невозможно, то процесс автоматически прервется и в окне системных сообщений Quartus II выведется надпись с описанием причины. Например, «Error: Can't access JTAG chain» означает, что адаптер ByteBlaster не подключен к ПК или стенду, или к стенду не подключено питание.
12. Перезагрузка конфигурации может быть выполнена выполнением только пп. 8 и 9,
без отключения питания и реинициализации системы.
В случае, если есть подозрения на неисправность стенда, можно попытаться локализовать неполадку при помощи встроенной программы тестирования. Ниже описываются функции этой тестовой программы.
8. ЛИТЕРАТУРА
1. Грушвицкий Р.И., Мурсаев А.X. Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики. — СПб.: БХВ-Петербург, 2002.
2. Угрюмов Е.П. Цифровая схемотехника. – СПб.: БХВ, 2000.
ПРИЛОЖЕНИЕ
Таблица распайки выводов и сигналов ПЛИС EP1C3T144-8 и элементов управления стендa
Табл. 1
Название
|
Вывод (
|
Генератор тактовых импульсов (
|
Pin_93 |
Осциллограф
|
|
Channel
|
Pin_1 |
Channel В
|
Pin_3 |
Движковые переключатели
|
|
sw0 |
Pin_112 |
sw1 |
Pin_120 |
sw2 |
Pin_113 |
sw3 |
Pin_121 |
sw4 |
Pin_114 |
sw5 |
Pin_122 |
sw6 |
Pin_119 |
sw7 |
Pin_123 |
Светодиоды
|
|
led0 |
Pin_104 |
led1 |
Pin_105 |
led2 |
Pin_106 |
led3 |
Pin_107 |
led4 |
Pin_108 |
led5 |
Pin_109 |
led6 |
Pin_110 |
led7 |
Pin_111 |
Кнопка «Control» |
Pin_133 |
Все каналы дискретного ввода-вывода, выведенные на переднюю панель лабораторного макета, представлены в таблице 2.
Табл. 2
№
|
«EXTERNAL PIO»
|
КАНАЛЫ ДИСКРЕТНОГО ВВОДА-ВЫВОДА
|
1
|
2
|
3
|
1 |
EXT_GND |
Общий |
2 |
EXT_GND |
Общий |
3 |
ELVDS0N |
Дискретный порт ввода-вывода, инвертирующий вход порта LVDS4 ПЛИС |
4 |
ELVDS1N |
Дискретный порт ввода-вывода, инвертирующий вход порта LVDS3 ПЛИС |
5 |
EXT_OE_G0 |
Разрешение гальванически изолированных портов нн. 3-6 |
6 |
EXT_GND |
Общий |
7 |
ELVDS2P |
Дискретный порт ввода-вывода, неинвертирующий вход порта LVDS2 ПЛИС |
8 |
ELVDS2N |
Дискретный порт ввода-вывода, инвертирующий вход порта LVDS2 ПЛИС |
9 |
EVREF0B1 |
Дискретный порт ввода-вывода,опорное напряжение банка выводов №1 |
10 |
EDPCLK1 |
Дискретный порт ввода-вывода |
11 |
EXT_OE_G1 |
Разрешение гальванически изолированных портов нн. 9-12 |
12 |
EXT_GND |
Общий |
13 |
ELVPIO0 |
Дискретный порт ввода-вывода |
14 |
ELVPIO1 |
Дискретный порт ввода-вывода |
15 |
EPLL1_OUTP |
Дискретный порт ввода-вывода, выход PLL1 |
16 |
EPLL1_OUTN |
Дискретный порт ввода-вывода, выход PLL1 |
17 |
EXT_OE_G2 |
Разрешение гальванически изолированных портов нн. 15-18 |
18 |
EXT_GND |
Общий |
19 |
EVREF1B1 |
Дискретный порт ввода-вывода, опорное напряжение банка выводов №1 |
20 |
EDPCLK0 |
Дискретный порт ввода-вывода |
21 |
EVREF2B1 |
Дискретный порт ввода-вывода, опорное напряжение банка выводов №1 |
22 |
ELVPIO2 |
Дискретный порт ввода-вывода |
23 |
EXT_OE_G3 |
Разрешение гальванически изолированных портов нн. 21-24 |
24 |
EXT_GND |
Общий |
25 |
ELVDS3P |
Дискретный порт ввода-вывода, неинвертирующий вход порта LVDS1 ПЛИС |
26 |
ELVDS3N |
Дискретный порт ввода-вывода, неинвертирующий вход порта LVDS1 ПЛИС |
27 |
ELVDS4P |
Дискретный порт ввода-вывода, неинвертирующий вход порта LVDS0 ПЛИС |
28 |
ELVDS4N |
Дискретный порт ввода-вывода, неинвертирующий вход порта LVDS0 ПЛИС |
29 |
EXT_OE_G4 |
Разрешение гальванически изолированных портов нн. 27-30 |
30 |
EXT_GND |
Общий |
31 |
ELVDSCLK1P |
Дискретный порт ввода-вывода |
32 |
ELVDSCLK1N |
Дискретный порт ввода-вывода |
33 |
EXT_OE_G5 |
Разрешение гальванически изолированных портов нн. 33, 34, 37, 38 |
34 |
EXT_GND |
Общий |
35 |
ELVDS5P |
Дискретный порт ввода-вывода |
36 |
ELVDS5N |
Дискретный порт ввода-вывода |
37 |
EXT_GND |
Общий |
38 |
EXT_GND |
Общий |
(На разъемы осциллографа -
Channel
A и
Channel В – выведены сигналы ELVDS0Р и ELVDS1Р соответственно).
Тест стенда
SDK-6.1
Тестирование стенда может помочь в обнаружении и локализации возникших неполадок.
Перед проведением теста переведите все 8 движковых переключателей в нижнее положение и установите на переключателях «PAGE» номер 0001 (куда записана программа тестирования по умолчанию), нажмите «Reset» – стенд перейдет в тестовый режим. На ЖКИ будет выведена надпись «I’m sdk 6.1! Select test…» (Я - sdk 6.1! Выберите тест…). После этого выберите нужный тест путем перевода соответствующего переключателя в верхнее положение, при этом на ЖКИ внизу отобразится название теста. Для запуска теста нажмите кнопку «Control».
№ переключателя
|
Тест
|
sw0 |
тест интерфейса RS-232 |
sw2 |
тест каналов ввода-вывода |
sw4 |
тест движковых переключателей и светодиодов |
sw5 |
тест памяти EEPROM |
1. Тест интерфейса RS-232:
Подключите стенд SDK-6.1 к компьютеру при помощи интерфейсного кабеля RS-232. Переведите стенд в тестовый режим и передвиньте переключатель sw0
в верхнее положение. Нажмите кнопку «Control» и запустите на ПК программу-терминал (например, Hyper Terminal, на скорости 115200 Кбит/с) и вводите с клавиатуры символы. Стенд принимает символ, отображает его и эхом отправляет обратно на компьютер. Если каждый введенный символ будет появляться в начале нижней строки ЖКИ и на экране терминала, значит интерфейс RS-232.функционирует корректно.
Для выхода из теста нажмите кнопку «Control» или передвиньте переключатель в нижнее положение.
2. Тест дискретных портов ввода-вывода:
Переведите стенд в тестовый режим и передвиньте переключатель sw2
в верхнее положение, нажмите кнопку «Control». На дискретные порты (каналы дискретного ввода-вывода – «External PIO») будет подаваться «бегущая единица» и «бегущий ноль» с частотой примерно 1 Гц.
Для выхода из теста нажмите кнопку «Control» или передвиньте переключатель в нижнее положение.
3. Тест движковых переключателей и светодиодов
Переведите стенд в тестовый режим и передвиньте переключатель sw4
в верхнее положение, нажмите кнопку «Control». На второй строке ЖКИ появится надпись – «Move switches» («Двигайте переключатели»). Теперь состояние восьми переключателей отображается на восемь светодиодов. Для выхода из теста нажмите кнопку «Control».
4. Тест памяти EEPROM
Переведите стенд в тестовый режим и передвиньте переключатель sw5
в верхнее положение, нажмите кнопку «Control». Если EEPROM работает правильно во второй строке появится надпись «ОК», в противном случае появится надпись «Failed». Для выхода из теста нажмите кнопку «Control».