Визуальная электроника

Поступление партии универсальных загрузчиков FPGA сподвигло нас на написание второй части статьи, посвященной отладочной плате VE-XC6SLX9. В этой статье мы создадим проект для FPGA XC6SLX9 фирмы Xilinx в среде ISE Design Suite 14.7. Программный пакет Xilinx ISE используется для проектирования и реализации FPGA и CPLD логики на физических устройствах.

Установка и регистрация среды разработки ничего сложного из себя не представляют, поэтому мы приступим сразу к созданию проекта. Выберем пункт меню File->New Project... Назовем наш проект spartan6_first:

 

Жмем Next и в следующем окне выбираем тип установленной на нашей плате микросхемы FPGA - XC6SLX9, в качестве основного языка разработки выбираем Verilog.

Далее жмем Next, и видим сводку о созданном проекте:

После того как мы нажмем Finish мы увидим новый пустой проект:

Добавим верхний уровень нашего проекта. Для этого выберем File->New, в открывшемся окне выберем создание файла типа Schematic.

Далее сохраним созданный файл как main.sch:

На следующем шаге мы добавим в наш проект исходный код генератора VGA сигналов. Его мы создали в предыдущей статье, посвященной FPGA Cyclone фирмы Altera.

Выбираем файл hvsync.v:

Если все хорошо, вы увидите следующее окно:

Создадим символьное представление, нашего verilog модуля. Для этого в окне Design выберем Design Utilities->Create Schematic Symbol:

Разместим созданный элемент на главной схеме:

Далее займемся созданием синтезатора частоты с фазовой автоподстройкой, он же PLL. Для этого выберем пункт меню Tools->Core Generator...

Создадим новый проект, выбрав File->New Project. Сохраним полученный проект:

На вкладке Part настроим параметры нашей FPGA.

Далее выберем параметры генерации файлов. В качестве языка необходимо выбрать Verilog. При подготовке данной статьи, мы сначала не обратили внимания на этот пункт, и оставили VHDL. В результате получили проблемы совместимости Verilog и VHDL описаний. И так и не смогли уговорит сосуществовать Verilog и VHDL в одном проекте...

На вкладку Advanced мы заглядывать не будем. Просто выберем Apply и OK. Перед нами откроется окно мастера создания модулей для нашей микросхемы FPGA. Нас интересует синтезатор частоты, поэтому выберем раздед FPGA Features and Design->Clocking->Clockink Wizard.

После двойного клика по выбранному пункту, мы увидим сам мастер настройки синтезатора частоты. На первой странице выберем частоту 50 МГц опорного генератора, установленного на нашей плате.

На следующей странице выберем требуемую выходную частоту, требуемую для генерации VGA изоборажения. Для режима 1280*1024 75 Гц необходима частота 135 МГц.

Далее выберем необходимые сигналы управления, нам кроме входа опорной частоты и выхода PLL особенно ни чего не надо:

Следующая страница предлагает режим ручной настройки параметров, нам пока он не нужен.

Общие сведенья о нашем синтезаторе частоты:

На последней странице мы видим список файлов, которые будут созданы. На этой странице необходимо выбрать Generate для генерации нашего модуля.

Подождав некоторое (весьма немалое) время видим отчет о работе генератора кода:

Далее добавим созданный модуль в наш проект. Для этого выберем пункт меню Project->Add Source...

Если все сделано правильно, мы увидим следующее окно:

Создадим символьный элемент нашего модуля:

Далее в схематическом редакторее создаем схему. Тут все просто соединяем выход синтезатора частоты со входом генератора VGA картинки.

Созданным входам и выходам автоматически присваиваются имена типа XLXN_7. По двойному клику им можно дать более удобные имена.

В результате у нас должна получится вот такая схема:

Далее добавим созданную схему в наш проект. Для этого выберем уже знакомый пункт меню Project->Add Source...

На следующем этапе создадим файл назначения пинов. Для этого выберем пункт меню Tools->PlanAhead->I/O Pin Planning (PlanAhead) - Pre-Synthesis...

Появится окно приветствия:

Расставляем выводы в соответствии со схемой на нашу плату:

После этого возвращаемся в основное окно ISE Project Navigator и пробуем синтезировать наш проект:

Если процесс синтеза прошел успешно, нас предупредят что у нас нет файла проекта конфигуратора iMPACT. Жмем OK.

Появится окно конфигуратора iMPACT. В нем выбираем пункт Boundary Scan.

По щелчку на правую клавишу мыши выбираем пункт Initialize Chain:

Если к нашей плате правильно подключен конфигуратор, мы должны увидеть нашу микросхему FPGA. Система предложит добавить конфигурационные файлы:

Выбираем только что синтезированный файл:

Далее нам предлагают добавить файлы для конфигурационной памяти, пока откажемся. Выбираем No.

В следующем окне нажимаем OK.

Наконец то делаем двойной клик на пункте Program!

Если все прошло успешно, мы увидим надпись Program Succeeded!

Ну и результат работы нашего дизайна:

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

Файлы проекта: spartan6_first.zip

Добавить комментарий