Занимаюсь разработкой под микроконтроллеры я уже очень давно, и некоторое время назад обнаружил очень большой пробел в своих умениях — FPGA! А тема-то интересная и полезная, и вообще хочется очень разобраться. И вот я собрался и начал разбираться в этой теме, и по мере изучения буду публиковать статьи о том, как работать с FPGA и делиться своим опытом с вами. В данной же статье я предлагаю рассмотреть начальную настройку и тестирование отладочной платы DE10-Lite + Quartus lite в среде Windows.

Наверное рассказывать о том, что такое FPGA (или ПЛИС — программируемая логическая интегральная схема) не нужно, инфы об этом в интернете очень много, поэтому перейдем к делу. Для начала нам понадобится сама плата — немного погуглив и посмотреть варианты на Aliexpress, я остановился на DE10-Lite, так как она самая дешевая из тех, которые есть в списке плат в Quartus`е. Итак, допустим, у вас в руках оказалась эта отладочная плата от Altera. Для начала посмотрим что есть на самой плате:

DE10_top

DE10_diagram

С помощью данной платы можно изучить работу с 7-сегментными индикаторами, кнопками, диодами, а также VGA, SDRAM и инерционными датчиками.

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

Site

И скачать Device MAX10 для нашей платы. Установщик автоматически подхватит симулятор и драйвера если они в одной папке.

После установки можно обратить внимание на то, что в диспетчере устройств usb-blaster помечен как не работающий. Это можно решить следующим образом: 1) Найти в деспечере устройств Altera USB-Blaster 2) Выбрать в меню Обновить драйвер 3) Выполнить поиск драйвера на этом компьютере 4) Указать путь C:\путь к quartus\quartus\drivers 5) Закрыть

Далее скачаем документацию на данную плату. Лучше всего сделать это с помощью фирменного CD диска, доступного по ссылке.

CD

Потом подключаем плату к компьютеру через usb коннектор от usb-blaster. При подключении запустится зашитая по дефолту тестовая программа:

Defoult

На диске, который мы скачали, есть приложение для тестирования платы. Для того чтобы его запустить необходимо добавить 32битный jtag отладчик в папку с установленной программой. Для этого скачиваем архив и достаем из него папку bin32 потом кидаем в папку с установленным quartus, например C:\intelFPGA\16.0\quartus.

Далее остаётся только запустить тестовую программу, находящуюся на диске в Tools\ControlPanel\DE10_Lite_ControlPanel.exe. Программа зашивает тестовую прошивку, которая позволяет протестировать работу всех модулей на данной плате дабы убедится в их работоспособности (вы просто выбираете нужный пункт и ControlPanel и меняете состояние элемента на плате), но после перезагрузки запустится опять дефолтная прошивка.

После того как мы убедились в том, что программатор и плата работают создадим простенький проект. Для этого запустим Quartus Lite Edition.

Start_Quartus

Увидим менеджер создания проекта. На первом окне вводим название проекта. Обратите внимание на то, что IDE не создает отдельную папку для проекта, так что надо создать ее самому.

Create_progect

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

Add_plate

В пятом окне тоже ничего не меняем, а в последнем смотрим что мы сконфигурирована:

Finish

Попробуем создать максимально простой проект который позволить убедится в работе системы. По сути мы просто соединим кнопку со светодиодом. При переключении тумблера будет загораться и гаснуть красный диод. Создадим новый лист с принципиальной схемой, для чего нажмем ctrl+n и выберем Block Diagram/Schematic File. Добавим туда вход и выход и соединим их.

Schematic_File

В левом окне мы видим что в проекте есть уже один файл.

Pin

Это определение пинов FPGA, то есть нам не нужно смотреть на каком пину висит диод и кнопка, достаточно просто ввести их название с платы (номер в квадратных скобках).

Pin_en

Далее необходимо выбрать наш созданный файл как заглавный.

Main_set

После компилим и зашиваем проект.

Upload

Слева в окне Tasks можно следить за ходом компиляции. В окне Programmer необходимо выбрать наш программатор, а потом нажать Start и ПЛИС прошьется.

Programmer

Однако после перезапуска запустится дефолтная прошивка. Чтобы этого не произошло необходимо выбрать файл с расширением .pof (после нажатия на Add File), а не .sof.

В итоге получим:

test

Диоды, кстати, мерцают потому что в схеме их не подтянули ни к питанию, ни к земле.

В итоге, мы научились создавать проект Quartus и написали первую прошивку. В следующих статьях я рассмотрю более подробно работу с IDE и более сложные программы.

Ссылки:

Next Post

Profile picture

Zen, эмбеддет разработчик и просто хороший человек.