Вчера известный разработчик FPGA дизайнов и печатных плат Николай Ковач, основатель
marsohod.org из Таганрога, добавил поддержку платы Марсоход3GW2 в репозиторий примеров для Школы Синтеза Цифровых Схем, в которую сейчас
идет регистрация. Николай также
описал работу с примерами в своем посте на Хабре. Плата полностью покрывает нужды Школы для упражнений с цифровой логикой, синтезом простого микропроцессорного ядра, распознавания и генерации звука и красивой графикой на HDMI дисплее с 24-битным цветом.
Плата стоит 5000 рублей + 400 рублей за шилд семисегментного индикатора. Для работы со звуком нужно приобрести дополнительные компоненты: MEMS микрофон INMP441 ($1.70 на AliExpress) и декодер GY-PCM5102 с чипом PCM5102A для вывода звука ($1.84 на AliExpress).
Получается заведомо дешевле и лучше по графике, чем со стандартными во многих западных вузах платами типа Digilent Nexys A7, которая стоит $350 и позволяет только 12-битную графику c VGA (4 бита на канал RGB). При этом софтвер для синтеза Xilinx Vivado, который используется для Artix-7 FPGA на Nexys A7 - работает в несколько раз медленнее, чем софтвер Gowin EDA, который используется для Gowin FPGA на плате Марсоход3GW2.
Российская плата также имеет преимущество по графике, цене и скорости синтеза перед популярными платами Terasic DE10-Lite (VGA 4 бита на канал RGB, $140 с доставкой из Тайваня и синтез Altera Quartus Prime). И даже перед бюджетными решениями из КНР с FPGA от Altera: платам Omdazz/RzRd (1-бит VGA, $50 на AliExpress) и Saylinx (5-6-5 RGB VGA, $54), хотя у Saylinx шире 7-сегментный индикатор (8 цифр против 4 цифр у Марсоход3GW2).
Прямым конкурентом Марсоход3GW2 является китайская плата Tang Nano 9K, но, во-первых, китайскую плату нужно паять, во-вторых, для нее нужно докупать не только микрофон и декодер для вывода звука, но и дополнительную интерфейсную плату на основе чипа TM1638, а также макетную плату чтобы это все разместить.
При этом для Марсохода3GW2 можно использовать
те же инструкции, что и для Tang Nano 9K, а также инструкции, созданные при кооперации сообщества Verilog Meetup и Gowin Semiconductor:
GOWIN EDA Quick Start Guide V6 TangNano9KBoardSetupV3 Tang Nano 9K Synthesis and Configuration V6 Пикантный момент: что c Марсоходом3GW2, что с Tang Nano 9K можно использовать не только коммерческий тулчейн Gowin EDA, но и открытый тулчейн
OSS CAD Suite. Хотя открытый тулчейн сыроват, но с ним связаны два крутых обстоятельства:
- Если вы хотите стать специалистом по алгоритмам автоматизации проектирования чипов, то вам не обязательно трудоустраиваться в Synopsys или Cadence, вы можете участвовать в движении Free and Open Source Silicon и делать вклад в эти тулы, причем не только для FPGA, но и для ASIC.
- Если вы посмотрите на файлы релиза OSS CAD Suite, вы обнаружите в нем релизы не только для Linux и Windows, но и для популярного у молодежи Apple Макинтоша, причем как на x86/64, так и на ARM-based Apple Silicon. Если немного поковырять скрипты для basics-graphics-music (там чуть другой bash чем на линуксе), то наверняка можно заставить работать синтез и конфигурацию всех примеров на макинтоше.
При этом Марсоход3GW2 - не первая российская плата, для которой сделана поддержка
репозитория примеров для Школы Синтеза и Verilog Meetup (т.е. Школы Синтеза за Рубежом). Еще в прошлом году Николай Ковач сделал поддержку для двух альтеровских плат от Марсохода, правда сейчас их нужно подкрутить для новой версии репозитория (см. сигналы vsync/hsync в board_specific_top.sv).
Но помимо трех марсоходов плату с поддержкой примеров для Школы Синтеза сделал Руслан Залата из Тюмени, основатель компании
Фабмикро.
Плата Руслана называется
Карно / Karnix, и предназначена скорее не для образования, а для промышленной автоматизации. Но примеры на ней тоже работают:
Эту плату Руслан описал в
свое посте:
Среди множества отладочных плат, поддерживаемых проектом «basics-graphics-music» присутствует, в том числе, разработанная мной и моими коллегами из
ООО «Фабмикро» плата «ПИР СЦХ-254 Карно» («Karnaugh Interactive Extendable ASIC Simulation Board») предназначенная для обучения азам цифрового синтеза и экспериментов с синтезируемыми микропроцессорными ядрами RISC-V.Это полностью «open source and open hardware» проект на базе ПЛИС Lattice ECP5 с ~25К логических блоков, содержит ряд интересных периферийных устройств: многоканальный ЦАП и АЦП, блок статической SRAM памяти объемом 512КБ, FastEthernet, HDMI, кнопки и светодиоды и кое-что еще. Плата «Карно» имеет встроенный JTAG программатор.
Я вообще видел Мишустин на днях
выступал на форуме "Микроэлектроника-2024" и говорил о госпрограмме подержки подготовки кадров. Судя по тому, какие задачки Мишустин задает студентам и лицеистам, он человек с пониманием. Так вот если бы российское государство накупило бы FPGA плат отечественных производителей для физматшкол и вузов, и поддержало бы их внедрение от Камчатки до Севастополя, то через несколько лет уровень российских молодых специалистов для разработки цифровой электроники вероятно бы превысил уровень американских выпускников (это я не просто так думаю - я интервьирую выпускников на микроархитектурные задачки).
В Америке пытались внедрить FPGA платы в обучение школьников по программе
Project Lead The Way , с платами Digilent Cmod S7 с чипами Xilinx Spartan-7, но их программа выглядит не очень интересной. Кнопочки, лампочки, где графика, музыка, процессоры? Со студентами
все хорошо в вузах типа MIT, но в других местах не очень - мало практических студенческих проектов, из-за чего студенты вынуждены учиться на производстве, которое редко горит их учить.
В России процесс сейчас идет довольно живо - вспомним, что в субботу начинается Школа Синтеза, на которую
регистрация еще открыта, хотя у них глючит подтверждение емейла.