- PVSM.RU - https://www.pvsm.ru -

Портирование MIPSfpga на плату Terasic DE0-CV с Altera Cyclone V FPGA

На днях мы вместе с Алексом и Владимиром (на фотке) спортировали MIPSfpga (пакет для введения в проектирование систем на кристалле) на плату Terasic DE0-CV с Altera Cyclone V FPGA. Эта плата — довольно хорошее решение для образовательного российского рынка, так как она дешевая ($150) и ее просто купить на сайте тайваньской компании Terasic, которая без лишней бюрократии доставляет платы в Россию. Мы попробуем использовать это на семинарах в МГУ, МИФИ, МИЭТ и ИТМО [1] (см. в конце поста).

Портирование MIPSfpga на плату Terasic DE0-CV с Altera Cyclone V FPGA - 1

Процесс портировка включал создание проекта в Altera Quartus II с нужными параметрами, урезание размера памяти используемой внутри FPGA (в дальнейшем нужно просто использовать внешнюю память — она есть на плате), и подбор правильных выводов для соединения с платой отладочного адаптера BusBlaster. BusBlaster используется не для отладки хардвера, а для загрузки в память внутри системы и отладки, софтвера, работающего на процессорном ядре MIPS microAptiv UP в системе MIPSfpga. (MIPS microAptiv UP — это то же ядро, которое стоит внутри микроконтролера Microchip PIC32MZ, но с открытым кодом на Verilog)

Чтобы повторить это дома, вам прежде всего нужно скооперироваться с каким-либо университетом, так как Imagination Technologies лицензирует MIPSfpga бесплатно только университетам для образовательных и исследовательских целей. Заявку на MIPSfpga можно сделать на сайте образовательных программ Imagination Technologies:

community.imgtec.com/downloads/mipsfpga-getting-started-material-version-1-1 [2]

Далее вам нужно получить от Imagination Technologies отладочный адаптер BusBlaster или купить его на сайте www.seeedstudio.com/depot/Bus-Blaster-V3c-for-MIPS-Kit-p-2258.html [3]

Наконец вам нужно иметь аккаунт на GitHub и присоединиться к организации github.com/MIPSfpga [4], после чего вы можете скачать код из директории github.com/MIPSfpga/boards/tree/master/de0_cv [5]

Пояснительные картинки про соединение выводов GPIO 1 платы Terasic DE0-CV и переходника для BusBlaster. Переходник создан изначально для соединения с платами Basys3, Nexys4 и Nexys4 DDR от digilentinc.com [6]

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

Выход переходника который изначально предназначалься для соединения с платами от Digilent:

PMOD connector for Digilent boards [7]

Табличка соединений:

MIPSfpga EJTAG pin connections [8]

Соединение:

Рекомендуемое соединение пробы BusBlaster с FPGA  платой Terasic DE0-CV [9] Рекомендуемое соединение пробы BusBlaster с FPGA платой Terasic DE0-CV

Рекомендуемое соединение пробы BusBlaster с FPGA  платой Terasic DE0-CV [10] Рекомендуемое соединение пробы BusBlaster с FPGA платой Terasic DE0-CV

Рекомендуемое соединение пробы BusBlaster с FPGA  платой Terasic DE0-CV [11] Рекомендуемое соединение пробы BusBlaster с FPGA платой Terasic DE0-CV

Теперь в плату Altera Terasic DE0-CV можно загружать/конфигурировать харвер — систему MIPSfpga, и загружать в эту систему софтвер — программы для ядра MIPS microAptiv UP внутри системы.

Описание того, что можно сделать с такой системой — в посте про семинары по MIPSfpga, которые пройдут в МГУ, МИФИ, МИЭТ, ИТМО и Microchip Masters Russia этой осенью — см. habrahabr.ru/post/265045 [12]:

  • Студенты могут строить свои собственные прототипы систем на кристалле, соединяя микропроцессорное ядро, память и спроектированные ими устройства ввода-вывода
  • Внутренние регистры можно подсоединять к выходным портам и выводить наружу информацию о текущем состоянии процессорного конвейера, кэшей и устройства управления памятью. После этого процессор можно запустить на низкой тактовой частоте и наблюдать его работу «в замедленной съемке».
  • Студенты могут экспериментировать со своими вариантами кэшей, проектировать многоядерные системы со специализированными сопроцессорами, эксперименторовать с разделением задачи на аппаратную и программную часть.

Автор: YuriPanchul

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/fpga/96762

Ссылки в тексте:

[1] семинарах в МГУ, МИФИ, МИЭТ и ИТМО: http://bit.ly/mipsfpga_russia_2015_flier

[2] community.imgtec.com/downloads/mipsfpga-getting-started-material-version-1-1: http://community.imgtec.com/downloads/mipsfpga-getting-started-material-version-1-1/

[3] www.seeedstudio.com/depot/Bus-Blaster-V3c-for-MIPS-Kit-p-2258.html: http://www.seeedstudio.com/depot/Bus-Blaster-V3c-for-MIPS-Kit-p-2258.html

[4] github.com/MIPSfpga: http://github.com/MIPSfpga

[5] github.com/MIPSfpga/boards/tree/master/de0_cv: https://github.com/MIPSfpga/boards/tree/master/de0_cv

[6] digilentinc.com: http://digilentinc.com

[7] Image: https://habrastorage.org/getpro/geektimes/post_images/5f4/f59/bb5/5f4f59bb5863c7416eb92bfac83f2be4.png

[8] Image: https://habrastorage.org/getpro/geektimes/post_images/934/b0d/54d/934b0d54d40558357d16e3d57ee31c22.png

[9] Image: https://habrastorage.org/getpro/geektimes/post_images/7b2/258/45b/7b225845bfa155df7e74cc36085b3dd4.jpg

[10] Image: https://habrastorage.org/getpro/geektimes/post_images/473/1fc/af6/4731fcaf6ff3a1aea02e2a3dbc9fb0b0.jpg

[11] Image: https://habrastorage.org/getpro/geektimes/post_images/82b/1d3/9d5/82b1d39d51e16baed2bab310b8221f6d.jpg

[12] habrahabr.ru/post/265045: http://habrahabr.ru/post/265045/

[13] Источник: http://geektimes.ru/post/260792/