Как стать автором
Обновить

Сетевой JTAG программатор для Altera Quartus Prime из Raspberry Pi3

Время на прочтение2 мин
Количество просмотров10K

Выпущено программное обеспечение, которое позволяет сделать из Raspberry Pi3 сетевой JTAG программатор для САПР Altera Quartus Prime. Это решение позволяет удаленно загружать FPGA Altera/Intel и даже вести удаленную отладку с помощью инструмента SignalTap. Далее расскажу,
как использовать это ПО.

Вообще-то все это ПО создавалось ради платы расширения Марсоход2RPI, которая показана выше на фото. Плата имеет на борту ПЛИС Intel Cyclone IV и может подключаться через переходник к Raspberry Pi3 / Pi2 / Pi-Zero. Описывать здесь плату пожалуй подробно не буду, о ней уже писали на geektimes. Однако, ничто не мешает использовать это же программное обеспечение самостоятельно с другими FPGA платами — все, что нужно сделать — это изготовить простой JTAG провод и подключить его к GPIO микрокомпьютера распберри. Там всего-то нужны четыре сигнала tck → GPIO7, tms → GPIO0, tdi → GPIO11 и tdo ← GPIO1, ну и конечно, хорошая «Земля»/GND.

Честно говоря, использовать Raspberry Pi в качестве JTAG программатора было возможно и раньше. САПР Quartus Prime позволяет при компиляции проектов генерировать SVF файлы, а сервер OpenOCD может загружать SVF файлы в ПЛИС через GPIO пины распберри.

Однако, к сожалению, OpenOCD нельзя использовать в связке с самой САПР Quartus.
Теперь у нас есть другое ПО, где это возможно. Программное обеспечение можно скачать бесплатно без регистрации и без SMS вот здесь, на сайте проекта.

Архив содержит два файла.

Файл nw_jtag_srv — это исполняемый файл для raspberry pi. Является JTAG сервером, управляемым по UDP/TCP сети.

Вот так запускается nw_jtag_srv на распберри в консоли терминала. Использую sudo, так как нужен доступ к GPIO:



Второй файл из архива jtag_hw_net_blaster64.dll — это драйвер для Altera Quartus Prime. Его нужно переписать в папку c:\altera\17.0\quartus\bin64 ну или другую папку в зависимости от используемой версии квартуса.

После этого, запуская «программатор» из среды квартуса можно обнаружить новый сетевой программатор (конечно если между вашим компьютером и распберри есть сеть/связь). Имя обнаруженного сетевого программатора содержит IP адрес распберри:



Далее все как обычно. Можно делать определение подключенного чипа, загружать ПЛИС.
Более того, сетевой программатор обнаруживается в Altera SignalTap и можно удаленно смотреть сигналы в анализируемой ПЛИС:



Конечно, пока это первая версия сетевого программатора. В процессе эксплуатации возможные баги будут находиться и исправляться.

Надеюсь этот инструмент покажется интересен читателям хабра, а кто-то возможно захочет использовать его в своей разработке.
Теги:
Хабы:
Всего голосов 16: ↑16 и ↓0+16
Комментарии7

Публикации