Для начала работы с модулем ZTEX необходимо с
официального сайта http://www.ztex.de/ скачать
комплект SDK,
разработанный специально для модулей ZTEX.
SDK состоит
из двух частей:
1. Прошивки кита, которые используется для
создания прошивки для EZ-USB
устройства.
2. Программы, написанные на Java.
Для начала необходимо установить
драйвера libusb(подробную инструкцию можно прочесть на официальном сайте
модуля), после чего необходимо установить пакет Java JDK 6 или более поздней
версии, необходимый для компиляции программного
обеспечения. Далее необходимо вручную добавить Java-компилятор
Javac в переменную PATH.
Для этого в ОС Windowsнеобходимо в свойствах системы во вкладке
дополнительно нажать переменные среды
и вписать в переменную PATH путь к файлу Javac.
После этого можно приступить к
конфигурированию модуля.
Для конфигурирования модуля и загрузки
прошивки используется FWLoader. Есть два способа запуска FWLoader. Либо, выполнив Баш скрипт FWLoader в каталоге
Java либо выполнив:
java -cp [<path
to>]FWLoader.jar FWLoader <options>
где <path to> обозначает
каталог, в котором установлен FWLoader.jar(например, каталог Java-пакета SDK).(для
удобства и последующего многократного использования можно создавать .bat файлы с данной командой.)
При запуске FWLoader сканирует совместимые устройства.
По умолчанию он выполняет поиск
устройств производителя ZTEX
и код продукта. Другие
классы устройств можно задать
опциями-с (сканирование не настроенных EZ-USB устройств),-V (устройства с ZTEX прошивками,
но нестандартными vendor и
prduct ID) и VC-(устройства с ZTEX прошивками
и Cypress vendor и prduct ID).
Список устройств может
быть напечатан используя -р. Устройство, которое должно быть настроено задается использованием -d.
опции
Есть два вида опций, порядковые и глобальные. Глобальные
параметры оцениваются в первую очередь.
Порядковые опции оцениваются после этого в порядке их появления.
Глобальные опции
опции |
описание |
-c |
Проверяет на Cypress EZ-USB устройства
без ZTEX прошивки |
-v
<VID> <PID> |
Поиск устройств с даннымми Vendor ID и Product ID |
-vc |
Поиск устройств с ZTEX
прошивкой и Cypress Vendor ID, и Product
ID, равные 0x4b4 0x8613 |
-s
<sn string> |
Сканирование только устройств с серийным
номером |
-d
<number> |
Индекс Устройства (по умолчанию: 0,
используется -р, чтобы получить список) |
-f |
Добавляет прошивку и битовый поток. Это позволяет переписать несовместимые прошивки или сконфигурировать FPGA. |
-p |
Печатаетсписок доступных устройств |
-h |
Напечататьпомощь |
Порядковые опции
опции |
описание |
-i |
Напечать информацию о устройстве |
-ii |
Напечать информацию о устройстве + возможности |
-if |
Напечатать состояние FPGA |
-ss
<sn string> |
Установить серийный номер EZ-USB прошивку (используется с -uu или -ue) |
-ru |
СбросEZ-USB микроконтроллера |
-uu
<ihx file> |
ЗагрузкаEZ-USB прошивки |
-bs
0|1|A |
Подкачка бит для битовых потоков: 0: отключено, 1: включено,: автоматическое обнаружение |
Следующие
опции требуют установленную ZTEX прошивку (например,
по -uu <firmware>) |
|
-rf |
СбросFPGA |
-uf
<bitstream> |
Загрузкабитового потока для FPGA |
-re |
ОтключениеEZ-USB прошивки в EEPROM |
-ue
<ihx file> |
ЗагрузкаEZ-USB прошивки в EEPROM |
-rm |
Отключитьбитовый поток на флэш |
-um
<bitstream> |
Загрузитьбитового потока во флэш |
Для начала необходимо установить
прошивку standalone(она позволит конфигурировать FPGA из флэш-памяти и
загружать встроенное ПО из EEPROM), находящуюся в
пакете SDK. Это можно
сделать выполнив:
FWLoader -c -uu standalone.ihx -ue
standalone.ihx
Для демонстрирования загрузки программы
воспользуемся наглядным примером lightshow(световое шоу на Experimental Board
1.10).

java -cp Lightshow.jar
Lightshow pause
Для создания файла прошивки ПЛИС необходимо создать проект в программе
Project Navigator (Рис. 2).

Рис. 2. Окно создания нового проекта.
Далее необходимо создать HDL
-описание.
Создание
HDL-описания
разрабатываемого устройства или его функциональных блоков начинается с
выполнения процедуры подготовки основы нового исходного модуля проекта, которая
активизируется кнопкой на панели инструментов, расположенной слева от окна
исходных модулей Sources, или командой New Source из раздела Project основного
меню навигатора проекта (Project Navigator). При этом производится запуск мастера
формирования основы нового исходного модуля описания New Source Wizard. Работа
мастера начинается с открытия стартовой диалоговой панели Select Source Type,
показанной на рис. 3. Данная панель позволяет выбрать тип нового модуля, задать
его имя и указать место расположения создаваемого файла на диске.
Рис. 3. Выбор типа создаваемого файла в стартовой диалоговой
панели Select Source Type «мастера» формирования основы нового исходного модуля
описания New Source Wizard
В диалоговой панели Select Source Type прежде всего нужно указать
тип создаваемого исходного модуля (соответствующая строчка в списке в левой части
панели). Чтобы сформировать файл исходного Verilog-описания проектируемого устройства, в качестве типа нового модуля
необходимо выбрать строку Verilog Module.
Затемbввести имя создаваемого файла. Место
расположения создаваемого модуля на диске указывается в поле редактирования
Location. По умолчанию в этом поле редактирования предлагается название
рабочего каталога текущего проекта, включающее полный путь доступа к нему.
После нажатия Next
открывается следующая диалоговая панель мастера формирования основы нового
исходного модуля описания New Source Wizard, именуемая Define Module. Вид этой
диалоговой панели представлен на рис. 4.

Рис. 4. Определение исходных данных для создаваемого Verilog-описания с помощью диалоговой панели
Define Module «мастера» формирования основы нового исходного модуля New Source
Wizard
Далее следует заполнить таблицу описания портов, которая содержит
пять столбцов. В ячейки первого столбца, озаглавленного Port Name, заносится идентификатор
порта. В колонке Direction указывается тип порта для передачи данных. Каждая
ячейка данного столбца представляет собой поле выбора, выпадающий список
которого содержит три возможных варианта, определяющих тип порта: in (входной),
out (выходной) или inout (двунаправленный). В третьей колонке (Bus) указывается
информация о структуре сигнала, который ассоциируется с описываемым портом.
Если этот сигнал имеет шинную структуру, то следует переключить индикатор в состояние
«Включено». Колонки MSB и LSB заполняются только для портов, представленных в
виде шин и описываемых с помощью векторов. В столбце MSB указываются значения
индекса, соответствующего старшему разряду шины (вектора), а в LSB — младшему.
Если описание портов нового модуля не помещается в видимой части таблицы, следует
воспользоваться элементами вертикальной прокрутки.
После внесения всех необходимых данных следует нажать кнопку
«Далее» (Next) в нижней части диалоговой панели Define Module, в результате
чего открывается заключительная информационная панель Summary «мастера» формирования
основы нового исходного модуля описания New Source Wizard. В этой панели, вид
которой приведен на рис. 5, отображается вся информация, на базе которой
выполняется автоматическое формирование основы нового модуля VHDL-описания.

Рис. 5. Заключительная информационная панель Summary «мастера» формирования
основы нового исходного модуля описания New Source Wizard
Если все данные, необходимые для создания основы нового Verilog-описания, указаны корректно, нужно
нажать кнопку «Готово» (Finish), в результате чего в навигаторе проекта
(ProjectNavigator) открывается новое рабочее окно встроенного HDL-редактора (рис.
6), в котором отображается автоматически сформированный код.

Рис. 6. Навигатор проекта после успешного формирования основы
нового Verilog-описания
проектируемого устройства
Область действий над проектом (Processes) – позволяет синтезировать проект,
формировать отчеты по временным и другим характеристикам, формировать файл
прошивки ПЛИС (Рис. 7).

Рис. 7. Область действия над проектом.
Если ранее при построении модели не были заданы контактные выводы для портов
ввода/вывода, то для продолжения работым над проектом и формирования файла
прошивки необходимо назначить выводы ПЛИС для портов ввода/вывода. Для этого
необходимо зайти в Раздел User Constraints (пользовательские установки) и
выбрать пункт I/O Pin Planing (PlanAhead) – Pre-Syntesis (Рис. 8).

Рис. 8. Раздел User Constraints.
Откроется программа PlanAhead, входящая в программный пакет Xilinx 11 (Рис. 9).
В окне программы можно просмотреть порты ввода/вывода проекта, размещение контактных
площадок корпуса, выбранной ПЛИС, структурное строение ПЛИС.

Рис. 9. программа PlanAhead.
Чтобы сконфигурировать контактные выводы ПЛИС необходимо в области I/O Ports
вызвать контекстное меню на All ports и выбрать пункт Auto-place I/O ports
(Рис. 10) (если плата еще не разведена)

Рис. 10. Области I/O Ports
или в области просмотра контактных площадок для каждого вывода вручную
назначить каждую ножку ПЛИС (Рис. 11).

Рис. 11. Назначение контактов вручную.
После определения выводов ПЛИС, необходимо сохранить изменения и закрыть
программу PlanAhead.
В области действий над проектом, в окне программы Project Navigator, запускаем
синтез проекта (Рис. 12).

Рис. 12. синтез проекта.
Во время синтеза проекта, программа Xilinx производит рассчет и формирование
логических цепей проекта.
После синтеза проекта, необходимо сгенерировать и строссировать внутренние
соединения для чего необходимо запустить
на исполнение пункт Implement Design (Рис. 13).

Рис. 13. поле Implement Design.
После троссировки и построения внутренней структуры необходимо сформировать
файл прошивки ПЛИС (Рис. 14).

Рис. 14. Генерирование файла прошивки.
По выполнении этой команды в папке проекта формируется файл прошивки ПЛИС (по умолчанию фармируется двоичный файл *.bit).
Литература:
1. Ссылка1.
2. Ссылка2.
3. Материалы сайта ztex.