Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы проектирования ПЛИС и БМК. Практикум
.pdf
откроется вкладка Symbols и станет доступной библиотека символов, включающая ряд
функциональных групп элементов (Categories).
Библиотека символов содержит логические элементы И, ИЛИ, НЕ в различных
сочетаниях (Logic), триггеры (Flip_Flop), счетчики (Counter), в т.ч. счетчики Джонсона,
сдвиговые регистры (Shift_Register), дешифраторы (Decoder), константы «0» - gnd и «1» vcc (General) и т.д.
После выбора необходимой категории библиотеки в поле Symbols появится список
имен элементов, в котором мышью следует выделить требуемый. При этом, используя
кнопку Symbol Info, можно получить полную информацию о выбранном элементе, а в
поле Orientation задать его положение при размещении в рабочем окне редактора. Ввод
символа элемента осуществляется перемещением курсора в окно графического редактора
с последующим двойным нажатием левой кнопки мыши для фиксации положения
символа на листе схемы.
После того, как все необходимые элементы установлены их соединяют с помощью
линий инструмента Add Wire. Для проведения каждой линии в автоматическом режиме
(задан по умолчанию) требуется подвести курсор к выводу элемента, нажать левую
кнопку мыши, а затем подвести курсор к нужному месту и снова нажать левую кнопку
мыши. Аналогично формируется соединение в виде шин, однако после создания
фрагмента одиночной цепи (будущей шины) следует воспользоваться инструментом Add
Bus Tap, формирующим отводы шины. Необходимая ориентация отвода задается одной
из четырех кнопок, расположенных слева в окне Options. Место расположения отвода на
шине определяется курсором с последующим щелчком левой кнопки мыши.
Для задания удобочитаемых имен цепям сигналов вместо присваиваемых по
умолчанию XLXN_1, XLXN_2(3:0) и т. п. используется инструмент Add Net Name. Новое
название цепи задается в поле Name окна Options с последующим переносом его
курсором на соответствующую цепь. Здесь же можно выбрать при необходимости иные
способы ввода названий цепей.
Имя, присваиваемое шине, отличается наличием формата, состоящего из
идентификатора и индексных пределов, например bus_name(24:0). Каждый проводник,
входящий в шину, получает имя шины и индекс: bus_name(24).
Назначение цепей и направление передачи данных определяют маркеры,
подключаемые к свободным конечным точкам цепей. Для установки маркера в
автоматическом режиме (задан по умолчанию) следует выбрать инструмент Add I/O
Marker, поместить указатель на свободную конечную точку цепи и щелкнуть левой
кнопкой мыши.
Разработанную схему необходимо проверить на наличие возможных ошибок с
помощью инструмента Check Schematic и затем
сохранить.
В качестве примера на рисунке показана
схема получения «медленного» синхросигнала из
сигнала высокой частоты 16 МГц [5] и ниже
результат ее ввода в окне графического редактора
ECS Schematic Editor. Обозначения выводов и
значение частоты соответствуют параметрам
стенда SDK-7.1R1. Роль генератора G сигнала 16
31

МГц выполняет встроенный генератор стенда. При построении схемы использованы
функциональные группы библиотеки символов Counter, General и Logic. Делитель
частоты реализуется на основе двух последовательно соединенных двоичных счетчиков
(Counter) с общим числом разрядов – 24. Асинхронный сброс счетчиков осуществляется с
помощью движкового переключателя стенда SW0. Помимо заданного выхода для
элемента индикации D6 в схеме имеется дополнительный выход для элемента D7,
подключенный к предпоследнему разряду 16-разрядного счетчика. Выход SEG0
предназначен для отпирания транзисторного ключа, соединяющего линейку светодиодов с
цепью питания стенда.
Компиляция проекта
После сохранения проект следует откомпилировать, для чего необходимо открыть
вкладку Design в линейке дополнительных вкладок над консолью, выбрать в окне
Hierarchy файл созданной схемы и запустить двойным нажатием левой кнопки мыши
процесс Implement Design в окне Processes. В ходе процесса реализуются четыре этапа:
Synthesize – XST – синтез проекта, т.е. размещение схемы в ячейках ПЛИС, Translate –
перевод схемы на HDL язык описания аппаратуры, Fit – оптимизация проекта под
конкретную ПЛИС и Generate Programming File – генерация кода конфигурации,
записываемого в ПЛИС. В случае появления ошибок в консоли сообщений их необходимо
исправить и снова повторить компиляцию.
Моделирование схемы
Все виды моделирования цифровых устройств, разрабатываемых в среде САПР
Xilinx ISE, могут выполняться с помощью автономной системы HDL_моделирования
ModelSim или встроенных средств моделирования Xilinx ISim.
Для перехода в основное окно симулятора ISim необходимо открыть вкладку
Design в линейке дополнительных вкладок над консолью, в поле View отметить
Simulation и, выбрав в окне Hierarchy файл созданной схемы, запустить двойным
нажатием левой кнопки мыши процесс Simulate Behavioral Model в окне Processes.
Для установки требуемых при моделировании значений входных сигналов
предусмотрены команды Force Constant и Force Clock в контекстно-зависимом меню,
открываемом щелчком правой кнопки мыши при расположении указателя на
идентификаторе выбранного сигнала (или шины) в панели объектов моделирования
Objects симулятора ISim.
С помощью команды Force Clock можно задать периодически повторяющуюся
последовательность значений для выбранного сигнала или шины. При выполнении этой
32

команды на экран выводится диалоговая панель Define Clock, в которой необходимо
определить состояние сигнала в выбранном формате Value Radix в начальной и конечной
части периода, используя поля редактирования Leading Edge Value и Trailing Edge Value
соответственно. Затем в поле Starting at Time Offset следует определить значение
задержки, с которой должно устанавливаться задаваемое состояние соответствующего
объекта моделирования, а в поле Cancel after Time Offset — длительность временного
интервала, после которого отменяется это состояние.
Коэффициент заполнения назначаемого периодического сигнала (или шины)
указывается в поле редактирования Duty Cycle (%), а значение периода — в поле Period.
Заданные значения сигналов и шин вступают в силу после нажатия клавиш Apply и ОК с
текущего момента моделирования.
Для выполнения процесса моделирования в течение заданного интервала времени
следует воспользоваться командой Simulation/Run или соответствующей кнопкой.
Длительность интервала моделирования задается в поле выбора/редактирования, которое
расположено на оперативной панели справа от кнопок управления моделированием.
В качестве примера на рисунке приведен отчет о функциональном моделировании
схемы «медленного» синхросигнала, рассмотренной выше. В левой части окна Wave
Window отображаются все входы/выходы схемы и текущие значения сигналов, а в правой
– соответствующие им диаграммы сигналов. Не трудно заметить, что частота сигнала на
выходе D6 вдвое меньше частоты сигнала на выходе D7, что отвечает логике работы
триггера счетчика. Импульсы входной тактовой последовательности в 16·106 раз
превышающие по частоте выходные сливаются в одну сплошную линию, как и импульсы
младших разрядов счетчика. При необходимости их можно увидеть, изменив масштаб
времени.
В целом же временные диаграммы подтверждают правильность
функционирования схемы после подачи разрешающего сигнала с движкового
переключателя SW0.
33

2. Порядок выполнения задания
1. Ознакомиться с содержанием практического занятия и его программным обеспечением.
2. Изучить основные возможности САПР Xilinx ISE [1].
3. Ввести в окне графического редактора ECS Schematic Editor схему в соответствии с
практическим заданием, номер которого определяется преподавателем.
4. Выполнить моделирование схемы проекта в симуляторе ISim.
5. Оформить протокол и ознакомиться с контрольными вопросами.
3. Задания практического занятия
Схемы заданий аналогичны
приведенным в предыдущих
лабораторных работах и отличаются
только тем, что адаптированы под
элементы стенда SDK-7.1R1, на
котором будет производиться их
отладка.
34

4. Содержание отчета
1. Название и цель занятия.
2. Исходная схема задания, подлежащая вводу в ПЛИС.
3. Скриншот созданной в графическом редакторе схемы, соответствующей заданию.
4. Скриншот окна временных диаграмм сигналов Wave Window.
4. Основные выводы по выполненному заданию.
5. Контрольные вопросы
1 . Назначение и основные возможности САПР Xilinx ISE.
2 . Как создается новый проект в среде Xilinx ISE?
3 . Как создается файл, содержащий описание схемы?
4 . Как осуществляется ввод символов в окне графического редактора?
5 . Библиотеки каких элементов предлагаются пользователю фирмой Xilinx?
6 . Пояснить принцип работы схемы, соответствующей заданию.
7 . Как устанавливаются значения входных сигналов при моделировании?
8 . Как осуществляется переименование входов и выходов схемы в Xilinx ISE?
9 . Как производится соединение элементов схемы в графическом редакторе?
10. Как выполняется моделирование схемы проекта в симуляторе ISim?
Практическое занятие №7
НАЗНАЧЕНИЕ СИГНАЛОВ ПРОЕКТА ВЫВОДАМ КОРПУСА
И ПРОГРАММИРОВАНИЕ ПЛИС В СРЕДЕ XILINX ISE
Цель занятия: Изучение редактора назначений PACE и модуля программирования
iMPACT пакета Xilinx ISE, приобретение навыков макетирования
проекта на стенде SDK-7.1R1.
35

1. Графический редактор назначений Xilinx PACE
Для осуществления связи реализованного на ПЛИС проекта с окружающей средой,
необходимо выполнить назначения входных и выходных сигналов проекта выводам
корпуса ПЛИС. Назначения производятся перед окончательной компиляцией проекта. В
пакете Xilinx ISE для выполнения этой задачи предназначен интерактивный графический
редактор назначений выводов ПЛИС и формирования топологических ограничений
проекта PACE (Pinout and Area Constraints Editor). Все изменения в топологии элементов
проекта, выполненные в программе РАСЕ в графической форме, преобразуются в
выражения ограничений, которые заносятся в соответствующий файл с расширением .ucf
(User Constraints File).
Для запуска программы необходимо открыть вкладку Design в линейке
дополнительных вкладок над консолью пакета Xilinx ISE, выбрать в окне Hierarchy файл
созданной схемы, раскрыть User Constraints в окне Processes и выполнить двойным
нажатием левой кнопки мыши команду Floorplan IO – Pre-Synthesis.
Графический редактор содержит три основных окна. На одном из них представлено
графическое изображение выводов корпуса ПЛИС (Package View). Второе окно (Design
Object List – I/O Pins) в левой нижней части панели, содержит таблицу со списком всех
внешних сигналов проекта и выполненных их назначениях выводам корпуса ПЛИС.
Третье окно (Design Browser) в левой верхней части панели является обозревателем
структуры проекта.
Для приведения содержания окон в соответствие с названиями сигналов проекта
необходимо выполнить File/New и в открывшемся окне New Constraints задать путь к
создаваемому файлу ограничений в поле New Constraints (UCF) File, а также указать путь
к файлу с данными о компиляции проекта (с расширением .ngd) в поле Input Design File.
В последнем поле окна с помощью кнопки Select Part выбираются семейство (XC9500XL
CPLDs), конкретная микросхема (XC95144XL), тип корпуса (TQ100) и значение задержки
(-5). После подтверждения ОК в левых окнах редактора появляются названия сигналов
проекта, а в окне Package View – дополнительное окно условных обозначений выводов
ПЛИС Package Pin Legend, поясняющее условное изображение и цвет всех типов
выводов ПЛИС.
Назначение сигнала выполняется выделением левой кнопкой мыши
соответствующей строки в таблице окна Design Object List – I/O Pins и указанием в
столбце Loc требуемого номера вывода корпуса ПЛИС в формате P<№>, например Р22,
Р66 и т.д. При этом в окне Package View изменяется цвет назначаемых выводов ПЛИС.
После сохранения внесенных изменений следует убедиться в том, что файл *.ucf добавлен
в проект, а затем выйти из редактора РАСЕ и перекомпилировать проект.
2. Макетирование проекта
Макетирование (prototyping) проекта осуществляется на стенде SDK-7.1R1,
единственным программируемым ресурсом которого является ПЛИС Xilinx XC95144XL
типа CPLD. Структурная схема стенда и план-схема размещения элементов на нем
приведены ниже.
36

Для выполнения назначений входных и выходных сигналов проекта выводам
корпуса реальной ПЛИС необходима карта ее выводов, задействованных в работе стенда,
которая составляется на основе план-схемы стенда.
Элементы ввода-вывода стенда SDK-7.1R1
Все элементы стенда SDK-7.1R1 располагаются на одной стороне печатной платы.
Помимо собственно ПЛИС Xilinx XC95144XL, содержащей 144 макроячейки, на плате
размещаются элементы цепей питания с разъемом J2 для подключения адаптера питания,
двухразрядный 7-мисегментный индикатор IND1, разъемы дискретных входов и выходов
J1 и J3 для подключения к другим стендам семейства SDK. Разъем J4 используется для
37

выполнения программирования ПЛИС по стандарту JTAG. Кнопка SW8 “RESET”
активирует сброс на супервизоре, а светодиод D3 индицирует это состояние.
Используемыми в работе элементами стенда являются светодиоды D2, D6 – D13,
кнопка SW9 “CONTROL” и движковые переключатели SW0 – SW7.
Светодиоды активны при низком уровне сигнала и подсоединяются к выводам
ПЛИС с помощью резисторов, ограничивающих ток. Кнопка SW9 соединяется с выводом
ПЛИС через подтягивающий резистор. Нажатому состоянию кнопки соответствует 0, а
отпущенному – 1. Переключатели в нижнем положении задают на выводах ПЛИС
значение 0, а в верхнем – 1.
Тактовые сигналы встроенного генератора стенда Clk_16MHz поступают на вывод
22 корпуса ПЛИС Xilinx XC95144XL. Сигналы управления подключением к шине
питания линейки светодиодов SEG0 (D6…D13) снимаются с вывода 39, а левого 7-ми
сегментного индикатора SEG1 – с вывода 41 ПЛИС.
Номера выводов корпуса ПЛИС Xilinx XC95144XL, подключенных к элементам
стенда, указаны на план-схеме рядом с соответствующими элементами и выделены
зелеными рамками.
Программирование ПЛИС
ПЛИС с архитектурой CPLD, выпускаемые фирмой Xilinx, являются
программируемыми в системе (in system programmable, ISP). Для их конфигурирования не
требуется специальных аппаратных средств, хотя их использование также возможно.
Файл программирования (конфигурирования) разрабатываемого проекта может быть
загружен из компьютера через специальный кабель JTAG-интерфейса.
Интерфейс JTAG (Joint Test Action Group) предназначен для подключения сложных
цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре
тестирования и отладки. В настоящее время интерфейс является промышленным
стандартом (IEEE 1149.1). Практически все сложные цифровые микросхемы
(микропроцессоры, микроконтроллеры, ПЗУ,
ПЛИС и т.д.) оснащаются этим интерфейсом.
Метод тестирования, реализованный в
стандарте, получил название Boundary Scan
(граничное сканирование). Название отражает
первоначальную идею процесса: в микросхеме
выделяются функциональные блоки, входы
которых можно отсоединить от остальной схемы,
подать заданные комбинации сигналов и оценить
состояние выходов каждого блока.
Стандарт предусматривает возможность
подключения цепочки большого количества
микросхем через один физический порт (разъем).
Порт тестирования представляет собой четыре или пять выделенных выводов
микросхемы: ТСК (тактирование), TMS (выбор режима), TDI (входные данные), TDO
(выходные данные) и опционально TRST (инициализация). Работа средств обеспечения
интерфейса JTAG подчиняется сигналам автомата управления TAP (Test Access Port)
Controller, встроенного в микросхему.
38

Файл программирования в формате JEDEC (с расширением .jed) формируется в
САПР Xilinx ISE в процессе компиляции. А роль программатора выполняет модуль
iMPACT, вызвать который можно с помощью меню Tools/iMPACT… или запуском
двойным нажатием левой кнопки мыши Configure Target Device/Manage Configuration
Project в окне Processes открытой вкладки Design и выбранных в окне Hierarchy файла
созданной схемы, а в поле View - Implementation.
В левом окне программатора iMPACT Flows необходимо выбрать двойным
нажатием левой кнопки мыши способ конфигурирования Boundary Scan. Затем нажатием
правой кнопки мыши в открывшемся окне программатора Boundary Scan следует вызвать
контекстное меню, предлагающее ряд возможных действий:
инициализировать JTAG-цепочку (Initialize Chain);
проверить подключение кабеля (Cable Auto Connect);
добавить микросхему производства Xilinx (Add Xilinx Device…) или стороннего
производителя (Non-Add Xilinx Device…);
уточнить коммуникационные характеристики соединения (Cable Setup)
выбрать тип выходного файла (Output File Type).
При выборе пункта Add Xilinx Device… открывается окно назначения нового
конфигурационного файла Assign New Configuration File, в котором необходимо выбрать
файл программирования, созданный при компиляции проекта. В результате в рабочем
окне Boundary Scan появляется JTAG-цепочка с графическим изображением
программируемой ПЛИС и указанием ее типа и названия файла программирования.
Программирование ПЛИС запускается выполнением команды Program, доступ к
которой осуществляется несколькими способами. При щелчке левой кнопки мыши на
изображении ПЛИС меняется его цвет, и требуемая команда в числе других появляется в
левом нижнем окне программатора iMPACT Processes, а также в меню Operations и виде
кнопки инструментального меню. Кроме этого, при щелчке правой кнопки мыши на
изображении ПЛИС команда Program становится доступной в контекстном меню. Перед
началом непосредственно процесса программирования появляется окно свойств
граничного сканирования Device Programming Properties, с содержанием которого
следует согласиться и нажать Apply и OK. В случае успешного завершения
программирования в нижней части рабочего окна появляется транспарант синего цвета
Program Succeeded.
В завершение работы с программатором проект при необходимости может быть
сохранен.
3. Порядок выполнения задания
1. Ознакомиться с содержанием лабораторной работы, ее оборудованием и
программным обеспечением.
2. При выключенных компьютере и стенде SDK-7.1R1 подключить стенд с
помощью JTAG-кабеля ВВХ-1.0 (производства ООО «ЛМТ») к параллельному порту
компьютера LPT1.
3. Включить компьютер, а затем с помощью адаптера питания – стенд.
4. Изучить основные возможности графического редактора PACE САПР Xilinx
ISE.
39

5. Составить карту используемых в проекте выводов ПЛИС Xilinx XC95144XL на
основе план-схемы стенда SDK-7.1R1.
6. Назначить выводам корпуса ПЛИС Xilinx XC95144XL входные и выходные
сигналы схемы, разработанной в соответствии с практическим заданием в предыдущей
работе.
7. Провести окончательную компиляцию проекта.
8. Запустить модуль программирования iMPACT Xilinx и проверить с его
помощью подключение кабеля. В случае отсутствия соединения найти причину и
устранить ее.
9. Добавить микросхему Xilinx XC95144XL и указать путь к файлу
программирования с расширением .jed.
10. С появлением JTAG-цепочки выполнить программирование ПЛИС.
11. Проверить работу схемы на соответствие заданию с помощью элементов вводавывода стенда SDK-7.1R1.
12. Оформить протокол и ознакомиться с контрольными вопросами.
4. Содержание отчета
1. Название и цель занятия.
2. Структурная схема стенда SDK-7.1R1.
3. Карта используемых в проекте выводов ПЛИС Xilinx XC95144XL.
3. Скриншот окна редактора назначений РАСЕ Xilinx.
4. Скриншот окна модуля iMPACT с JTAG-цепочкой и транспарантом Program Succeeded.
5. Основные выводы по выполненному заданию.
5. Контрольные вопросы
1 . Назначение и основные возможности графического редактора PАСЕ Xilinx.
2 . Какое расширение имеет файл с данными о компиляции проекта?
3 . Какие окна содержит графический редактор PАСЕ Xilinx?
4 . Как выполняется назначение сигналов выводам ПЛИС в окне Design Object List – I/O
Pins?
5 . Каким образом составляется карта выводов ПЛИС по план-схеме стенда SDK-7.1R1?
6 . Назначение и основные характеристики интерфейса JTAG.
7 . Что понимают под граничным сканированием?
8 . Особенности функционирования элементов ввода-вывода стенда SDK-7.1R1.
9 . Поясните состав стенда SDK-7.1R1 по его структурной схеме и план-схеме.
10. Как выполняется программирование ПЛИС?
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
