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

Ну вот и закончились Новогодние праздники! А это значит, что пришло время продолжить рассказ про создание электронных устройств на основе ПЛИС. Сегодня мы создадим проект для микросхемы FPGA LCMXO27000HC. Данная FPGA - это программируемая вентильная матрица производства Lattice semiconductor семейства MACHXO 2 содержащая 6864 LUTs и 207 I/O с питанием 3.3V. Она является основной микросхемой нашей отладочной платы VE-LCMXO27000HC. Для создания проекта нам понадобится  среда разработки от Lattice semiconductor, называемая Diamond. Скачать ее можно по этой ссылке: Lattice Diamond software.

После скачивания и установки среды разработки, необходимо получить лицензию. Лицензии есть двух типов: бесплатные, и с оплатой за подписку. Для наших экспериментов вполне подойдет бесплатная лицензия. Надеюсь что с установкой среды разработки и последующим лицензированием вы разобрались, поэтому преступим непосредственно к созданию прроекта. Выберем пункт меню File->New->Project... В этом окне просто выбираем Next

Создание проекта

Назовем наш проект machxo2_first:

Имя проекта

На следующем шаге добавим к нашему проекту уже знакомый файл генератора развертки hvsync.v

Добавим исходные файлы

Далее выбираем тип установленной на нашей плате микросхемы:

Выберем тип FPGA

Указываем какой тип инструментов синтеза будем использовать для нашего проекта:

Выберем тип синтезатора

Общие данные о созданном нами проекте:

Сведенья о проекте

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

Созданный проект

Далее в окне иерархии проекта создадим символ для нашего генератора развертки. Для этого на Verilog файле нажимаем правую кнопку мышки, и выбираем пункт Generate Shematic Symbol:

Созданние символа из Verilog

На следующем шаге создадим основной файл нашего проекта. Для этого выберем пункт меню File->New->File... и создадим файл main.sch.

Созданние основного файла

Добавим на нашу схему модуль генератора развертки. Для этого выберем созданный нами файл схемы main.sch и нажмем иконку с микросхемой и символом плюс:

Добавление символа на схему

Затем займемся созданием синтезатора частоты для нашего проекта. Для этого выберем пункт меню Tools->IPexpress В дереве возможных модулей, выбираем PLL. Присваиваем имя VGA_PLL и выбираем язык для генерации модуля Verilog

Создание модуля PLL

В окне настройки синтезатора частоты выбираем частоту пиксель клок равную 135 МГц и точность соответствия частоты 1%. Нажимаем Calculate и если программе удалось подобрать коэффициенты ФАПЧ выбираем Generate.

Настройка модуля PLL

Если все в порядке, то мы увидим результат генерации нашего модуля PLL:

Параметры модуля PLL

Следующим шагом добавляем созданный модуль в наш проект:

Добавление модуля PLL в проект

Вставим наш модуль PLL на схему:

Добавление модуля PLL на схему

В результате наша схема должна выглядеть так:

Схема генератора VGA картинки

Далее назначим для выводов нашей схемы реальные пины FPGA. Для этого выберем пункт меню Tools->Netlist view На еще не привязанном пине нажимаем правую кнопку мыши, и выбираем пункт Assign Pin...

Назначение выводов FPGA

В открывшемся окне выбираем необходимый вывод нашей FPGA:

Назначение вывода FPGA

В результате мы должны получить вот такую таблицу с назначенными пинами:

Таблица выводов FPGA

Займемся компиляцией нашего проекта. Для этого выберем пункт меню Tools->Run Manager. В открывшейся вкладке ставим галку на реализации 1 (impl1) и нажимаем на зеленый треугольник Run.

Компиляция проекта

Если при компиляции проекта проблем не возникло, должен создаться образ для заливки в нашу плату VE-LCMXO27000HC. Осталось залить наш дизайн. Для этого выберем пункт меню Tools->Programmer. Для нашего программатора USB2.0 XILINX ALTERA LATTICE 3IN1 необходимо выставить следующие настройки:

Настройка программатора

Если все прошло успешно, осталось нажать на иконку с микросхемой и подписью Program В случае правильного соединения программатора и отладочной плат, вы увидите такое сообщение:

Успешная конфигурация FPGA

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

Цветные полосы

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

XOR картинка

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

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