МАРСОХОД

Open Source Hardware Project

Загрузка ПЛИС из Raspberry PI3

raspberry pi3 loads altera fpga max10 over JTAG

Раздобыл себе плату Raspberry PI3 для опытов.

Подключил плату Марсоход3bis к Raspberry USB кабелем.
Первая мысль, которая пришла в голову: "Можно ли из Linux на raspberry pi3 загрузить проект в ПЛИС платы Марсоход2 или Марсоход3?"

В принципе такое возможно и должно быть не очень трудно, если использовать SVF player. Такой проект у меня уже был когда-то и он работал и под windows и в Linux Ubuntu. Немного повторюсь, в чем там идея. САПР Altera Quartus II или Quartus Prime в процессе компиляции проекта может создавать файлы SVF. Это задается в меню Assignments => Device... и далее нужно нажать кнопку "Device and Pin Options".

Altera Quartus select SVF oputput file

SVF файл - просто текстовый файл с описанием последовательности JTAG команд. Если правильно выполнить все команды JTAG, то и ПЛИС загрузится. Программа SVF плеера как раз это делает: берет из командной строки имя файла SVF, находит на шине USB подключенный программатор MBFTDI и, исполняя SVF файл, выполняет загрузку ПЛИС.

Чтобы это заработало в Raspberry PI3 нужно пересобрать мой проект SVF плеера с библиотеками FTDI для процессора ARM и Linux. Нужные мне библиотеки взял на сайте http://www.ftdichip.com/Drivers/D2XX.htm.

ftdi d2xx

Тут есть прямо пометка "suits Raspberry Pi" - подходит лоя распберри. Вот эти библиотеки и взял.

Проект SVF плеера на гит хабе: https://github.com/marsohod4you/MBFTDI-SVF-Player

Немного исправил Makefile, чтоб пути к нужным библиотекам указывали. Командой make. Взял для теста простой проект для платы Марсоход3bis - моргание светодиодами. Скомпилировал его квартусом и получил SVF файл. Теперь на raspberry в консоли запускаю:

>sudo rmmod ftdi_sio
>sudo ./mbftdi max10_8.svf

Через несколько секунд вижу плата весело начинает мигать светодиодами - проект успешно загружен в ПЛИС.

Ну вот, первый шаг сделан. Можно дальше играться с Raspberry PI3 и попробовать передавать данные между процессором и ПЛИС платы Марсоход3. Только бы придумать задачку поинтересней...

 

Комментарии  

0 #3 Chaosorg 12.09.2016 08:10
Если в реальном устройстве, использующем ПЛИС, будет SoC хотя бы такая же мощная как в Raspberry Pi, то может иметь смысл (даже просто из-за лени) общаться с отдельными узлами по USB - софт уже написан, железо готово. Так делают внутри ноутбуков с "встроенной" периферией - камерой, bluetooth, тачем. Но это же не единственный способ. Кто не дает даже с того же Raspberry Pi подключиться через GPIO выводы? Если убрать USB и FTDI, то воспроизвести SOF файл может даже очень простая система.
0 #2 alman 11.09.2016 09:43
Вот ежели бы с Марсохода прошить Марсоход, я бы восхитился. А пока только порадуюсь. :)
0 #1 Leka 08.09.2016 18:28
Задачка - реализовать в ПЛИС "физический процессор". Но тут м/б большая проблема с необходимой разрядностью вычислений, тк требуемые ресурсы ПЛИС ~ квадрату разрядности. Сейчас пытаюсь оценить возможности младших ПЛИС в такой задаче.

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


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Статьи о разном Загрузка ПЛИС из Raspberry PI3