Автор Євген Короткий Опубліковано December 30, 2018
Восени 2016 року ми провели хакатон зі створення систем-на-кристалі на базі FPGA. Необхідно було розробити периферійний модуль та інтегрувати його в MIPSfpga, а також написати драйвер для взаємодії з залізом.
Про хакатон написали чудову статтю у блозі міжнародної мікроелектронної компанії MIPS Technologies.
Територіально хакатон відбувся в Студентський простір Belka
Головним і єдиним спонсором хакатону виступив Юрій Панчул, старший інженер з розробки мікропроцесорів та обчислювальних систем в компанії Wave Computing, Санта-Клара, Каліфорнія. Юрій вже давно і систематично підтримує розвиток освіти в Україні в напрямку електронної інженерії.
Учасникам хакатону необхідно було створити апаратний модуль і програмне забезпечення (драйвер) для інтеграції периферійного пристрою в систему-на-кристалі на основі MIPSfpga. Периферійними пристроями були LCD дисплеї, джойстики, сенсори.
Переможцями хакатону стали дві команди
1) Команда Сергія Сачова інтегрувала в систему-на-кристалі MIPSfpga клавіатуру від Digilent. Хлопці написали на Verilog інтерфейсний модуль, що працює з клавіатурою по 16-піновому каналу і містить регістр, куди записується код натиснутої клавіші. Регістр відображений в адресний простір MIPSfpga за допомогою шини AMBA. Також було створено керуючу програму, яка зчитує код натиснутої клавіші зі згаданого регістру і виводить число, що відповідає клавіші, на семисегментний індикатор.
2) Денис Солдатов інтегрував ультразвуковий дальномір від Digilent в систему-на-кристалі на базі MIPSfpga. Написав на Verilog інтерфейсний модуль, який працює з сенсором по апаратному UART і має керуючі регістри, відображені в адресний простір MIPSfpga за допомогою шини AMBA AHB-Lite. Також Денис написав керуючу програму, яка зчитує покази сенсора з регістрів і при перевищенні порога подає звуковий сигнал певної частоти.
Пізніше Денис описав свій проект в крутій статті на Хабрі. Вихідний код проекту можна завантажити з GitHub
На останок тримайте фото переможців з призами (плати DE0-CV вартістю 150$)