Изучаем САПР Altera Quartus II / Intel Quartus Prime, язык описания аппаратуры Verilog HDL и кое-что про VHDL. Программируем FPGA Altera / Intel Cyclone III, Cyclone IV, MAX II, MAX10. Экспериментируем с платами разработчика FPGA серии Марсоход, Марсоход2, Марсоход3. А еще разбираемся с FPGA Gowin.
Меня спрашивают: "Будут ли работать шилды (дополнительные платы) от FPGA плат Марсоход2 и Марсоход3 совместно с платой Марсоход3GW с микросхемой Gowin?". Если ответить коротко, то да, будут. Рассмотрим пример использования платы шилда 7-ми сегментного индикатора, он на фото выше справа с FPGA платой Marsohod3GW (на фото слева).
Что нужно сделать, чтобы отображать цифры на индикаторе? Сейчас расскажу.
Как-то незаметно прошло уже десять дней зимы. Приближается Новый Год. Чтобы поднять себе и другим настроение захотелось мне сделать новогоднюю игрушку. Но не такую, что бы на ёлку вешать, а что-то поставить на стол и чтобы радовало. Особого плана не было. Сперва я думал просто найти на сайте thingerverse что нибудь интересненькое и напечатать на 3D принтере. Мне понравилась вот эта медведица: https://www.thingiverse.com/thing:5160013
И я просто стал печатать. Модель-то простая, тут несколько слоёв, которые потом нужно склеить ну и готово. Вот такой один из слоёв:
Когда я напечатал и склеил всю эту модель, то уже пришла мысль "а куда её поставить". Ну и пошло дело дальше. Решил сделать модель куска льда, установить туда медведицу. Но потом подумал, что если будет постамент в виде льда, то туда можно спрятать какое-то устройство, которое будет делать подсветку, например синими светодиодами. Да у меня же есть специально маленькая платка MA3128! Я её могу туда поставить и еще она может вращать льдину, если встроить моторчик.
В общем, "проект выходного дня" как-то стал сильно разрастаться! Далее расскажу, как там всё устроено.
На этом видео - демонстрация лабораторной работы Школы Синтеза Цифровых Схем по распознаванию нот. К плате MCY316 аудио проводом подключен смартфон Андроид на котором я играю ноты, а плата распознает их и отображает на 7-ми сегментном индикаторе.
Сейчас занимаюсь портированием проектов Юрия Панчула Школы Синтеза Цифровых Схем для наших плат MCY112 и MCY316. Обе платы в принципе подходят для выполнения лабораторных работ.
Есть папка boards, где расположены специфичные для каждой отдельной платы назначения выводов, здесь же находятся какие-то дополнительные модули и самое главное модуль самого верхнего уровня board_specific_top. Таким образом, удается запустить лабораторные работы на самых разных платах. Я добавил в эту папку две новых папки marsohod_mcy112 и marsohod_mcy316 для двух наших плат MCY112 (на базе Cyclone I) и MCY316 (на Cyclone III).
Далее расскажу чуть подробнее о лабораторных работах.
На плате MCY316 установлена ПЛИС EP3C16Q240C8, в ней содержатся 15408 логических элементов, 516098 бит встроенной памяти, четыре PLL и 112 умножиетелей. Так же, на плате стоят:
- Кварцевый генератор 100Мгц; - Две пользовательские кнопки; - Восемь пользовательских светодиодов и 7-ми сегментный индикатор; - SDRAM IS42S32200B, 8 (или 16) Мбайт, 32 разряда шина данных (на обратной стороне платы); - Двухканальная аудио АЦП PCM1801U,16 бит, 48 Кгц; - Двухканальный аудио выход для Дельта Сигма ЦАП (8бит); - Три разъема для установки плат расширения, квазисовместимые с Raspberry Pi; - SPI Flash W25Q16, 2 Мбайта для автозагрузки ПЛИС: - SPI Flash W25Q16, 2 Мбайта для пользовательских данных; - Разъем для установки USB JTAG программатора, например MBFTDI или UsbBlaster
Плата отличается довольно ёмкой ПЛИС (почти 16 тысяч логических элементов) и довольно большим количеством доступных пользователю выводов GPIO.
Дальше более подробное описание платы и проектов для неё.
На этом демонстрационном видео показана очень простая игра Теннис, реализованная в плате Марсоход3GW.
Здесь используется HDMI вывод изображения, которое формируется на лету просто из текущих координат строчной и кадровой развертки. Управление ракеткой выполнено переменным резистором, который подключен к АЦП платы.
Подробнее...