Методические указания к выполнению лабораторных работ по дисциплин

30





МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

	ГОУ ВПО «ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ 

	УНИВЕРСИТЕТ»

	КАФЕДРА «ВЫЧИСЛИТЕЛЬНАЯ  ТЕХНИКА»



     

















	

	









	МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ 

ЛАБОРАТОРНЫХ РАБОТ

по дисциплинам «Основы комплексной автоматизации проектирования и производства СВТ»

«Организация ЭВМ и систем»

 (Часть 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, а тип кристалла – EP1C3T144C8 – это марка ПЛИС типа 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).



 Выбор / перемещение объекта

Разрешить выделять часть цепи

Разместить блок

Рисование канала связи

Ввод текста

Рисование цепи

Рисование шины


	

Открыть окно «Symbol»



  Разрешить “Rubberbanding“ *

Увеличить / уменьшить



 Во весь экран

Поиск (Ctrl+F)



 Отразить зеркально

 

 Повернуть на 900





 Графические элементы



			      Рис. 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 показано как задать имя и тип элементов ввода-вывода в схемном редакторе.



В окне “Pin name(s)” задают имя элементов ввода-вывода. 

В окне “Default value” - значение по умолчанию (GND или VCC)

Выберите объект, щелкните правой клавишей мыши, в появившемся окне выберите строку “Properties”

Рис.7 Окно Pin Properties

Рисование цепи



Создание новой цепи осуществляется путем рисования ее фрагментов. Фрагмент цепи - это отрезок, соединяющий два объекта. Объектом является либо контакт (входной или выходной) элемента, либо цепь. Таким образом, фрагмент цепи соединяет контакт с контактом, контакт с цепью, цепь с контактом.

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

Можно начать рисование фрагмента цепи и на свободном поле, но закончить его вы должны на объекте.

Щелкните на панели инструментов (рис. 3)

 кнопку «Рисование цепи» (Orthogonal Node Tool).  Курсор примет вид перекрестия с маленькой пиктограммой цепи.

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

Повторите действия пункта 2 для рисования всей цепи.

Для перемещения цепи:

Переместите курсор на цепь и нажмите левую клавишу мыши.

Не отпуская клавишу, переместите цепь на требуемую позицию и отпустите клавишу мыши.

Для удаления цепи:

1. 	Щелкните мышью цепь, которую вы хотите удалить. Она будет выделена синим цветом. 2.	Нажмите на клавиатуре клавишу Delete.

Присвоение имени цепи:

Щелкните правой кнопкой мыши на цепи, которой вы хотите присвоить имя. Откроется окно Node Properties (рис. 8).

Введите имя и нажмите кнопку 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. Выбор макроэлемента

Редактирование УГО макроэлемента

Созданный системой рисунок УГО можно изменить по своему усмотрению.

Для редактирования УГО макроэлемента необходимо выполнить следующие действия:

Выберите в папке проекта редактируемый макроэлемент (<имя_файла>.BSF) (рис. 11). 



              Рис. 11. УГО макроэлемента

 При помощи графических элементов панели инструментов отредактируйте изображение УГО макроэлемента (рис. 12).



             Рис. 12. Отредактированный рисунок УГО макроэлемента

Сохраните введенные изменения в УГО макроэлемента.

Чтобы увидеть логическую структуру макроэлемента, необходимо дважды щелкнуть мышью по УГО элемента.





   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» на главной панели инструментов.





кнопка «Stop Processing»



       Рис.  14 Меню File->Processing->Start



Перед осуществлением компиляции, если еще не выбран тип кристалла, то его необходимо выбрать. Для этого выберем  пункт Assignments(Назначения)->Device…               В открывшемся окне в строке Family выберем семейство Cyclone, а в окне Available Devices выберем нашу микросхему – EP1C3T144C8. Нажатием кнопки OK подтвердим выбор кристалла.

Существует такое понятие, как объект компиляции «Focus Points». Это такой компонент в иерархии описаний проекта, который будет компилироваться так, как если бы он был компонентом верхнего уровня в иерархии описаний. Файл верхнего уровня в иерархии описания проекта (Top-level entity) является объектом компиляции по умолчанию (рис. 15).



Рис. 15 Пример назначения Focus Points



 Для запуска процесса компиляции выберем пункт Start Compilation из меню Processing или нажмем Ctrl+L. Подтвердив сохранение текущего файла, ожидаем окончания процесса компиляции. По окончании компиляции появляется окно Compilation Report с сообщениями о результатах компиляции, количестве ошибок и предупреждений. 

Индикация процесса компиляции осуществляется следующим образом (рис. 16): 

- опустошаются и переворачиваются песочные часы, что указывает на активность компилятора, процент завершения компиляции постепенно увеличивается до 100% и время, прошедшее с начала компиляции; 

-  один за другим высвечиваются прямоугольники модулей компилятора, по мере того как компилятор завершает каждый этап обработки; 

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







Окно отчета появляется автоматически   после окончания     компиляции. Оно содержит:

 сводную информацию (поле Summary)

 детальную информацию, разбитую по отдельным разделам.

 модули компилятора

 окно обработчика сообщений

Рис 16  Окно 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 крутить колесико мыши).





   Привязать к сетке

   Задать значение (знаковое, беззнаковое,

   десятичное, двоичное, восьмеричное)



Инструмент ручного  редактирования

Поиск

Во весь экран

Неинициализированный

Масштабирование



Ввести комментарий



  Высокоимпедансный

  Неинициализированный

  Принудительно в 0

Задать  частоту





Сортировка





Инвертировать





  Интервал счета

  Слабый 0



  Без разницы

Слабая 1





Слабый неизвестный



Задать неопределенным



Принудительно в 1



             



Рис. 21 Панель инструментов для задания векторов сигнала 









Рис. 22 Окно симуляции после задания векторов сигналов

После задания всех уровней сигналов запускаем симуляцию. Для запуска системы моделирования могут использоваться следующие команды:

Processing =>Start Compilation & Simulation 	

Processing => Start Simulation

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

Просмотреть результат моделирования в виде временной диаграммы можно, если в разделе Simulator выбрать Simulation Waveforms (рис. 23).



Отчет о результатах моделирования

Обобщенные результаты

Simulation Waveforms



Рис. 23 Отчет о результатах моделирования



Отметим, что САПР Quartus II позволяет проводить сравнение двух временных диаграмм. Для этого, находясь в режиме просмотра файла временных диаграмм, нужно выбрать в меню View пункт 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 логических элементов.



 Легенда  

Логический элемент



 

Логический блок 

Show detail

(показать детально) 

Рис. 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 I2C									     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 Files\altera\quartus41\drivers\i386\.



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. ЛИТЕРАТУРА



Грушвицкий Р.И., Мурсаев А.X. Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики. — СПб.: БХВ-Петербург, 2002.

Угрюмов Е.П. Цифровая схемотехника. – СПб.: БХВ, 2000.































































ПРИЛОЖЕНИЕ



Таблица распайки выводов и сигналов ПЛИС EP1C3T144-8 и элементов управления стендa

		

		Табл. 1

Название

Вывод (Pin)

Генератор тактовых импульсов (clk)

Pin_93





Осциллограф



Channel A

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



Тест интерфейса 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».





3