ПЛИС-культ привет, FPGA хабрунити.
На днях состоялся анонс уже второго номера народного FPGA журнала
FPGA-Systems Magazine :: № BETA (state_1). В нем 200+ страниц и 20+ статей и небольших заметок по направлениям FPGA / RTL / Verification (ПЛИС сегодня это не только про знание HDL и Vivado c Quartus'ом). Журнал бесплатный и распространяется в виде pdf-ки.
Зачем? Есть же хабр!
Хабр был, хабр есть и хабр будет. Но, к моему сожалению, хаб FPGA является не самым популярным тредом, и статейки здесь появляются не так часто. Я же решил попробовать сделать некий сборник, который будет стрелять 2-4 раза в год, куда смогут написать не только полноценные туториалы, но и маленькие заметки по работе с FPGA / RTL / Verification все желающие.
Есть небольшая надежда, что это как-то мотивирует уважаемых инженеров писать чуть больше в русскоязычном сегменте о программируемой логике и всем, что с ней связано.
В какой-то степени это работает. Первый номер был в 169 страниц, а объем второго перевалил за 200. И кажется, такой формат вполне заходит. Радует то, что авторы могут выложить свои статьи потом куда угодно, в том числе и на хабр. Каких-либо авторских ограничений и прочей чуши мы не приветствуем, мы за популяризацию программируемой логики любыми возможными способами.
Мы не ограничиваем авторов в выборе темы (вот тут около 100+ тем, которые могут быть интересны читателям FPGA направления), не требуем ни от кого придерживаться стандартов публикации и тд. Лишь бы вы творили, писали статьи и делились ими с комьюнити. Поэтому в журнале могут быть очепятки, недостатки и тд (душнил, которые скажут, что так не делают, просьба проветрить помещение?).
На создание первого номера ушло примерно три года безуспешных попыток мотивировать ПЛИСоводов на создание подобного издания, и, к счастью, они оказались небезуспешными. Внутри журнала вы найдете статьи как для совсем начинающих свой путь в программируемую логику, так и для опытных ПЛИСоводов, RTLщиков и верификаторов.
Журнал доступен всем, кто умеет нажимать на кнопку «скачать». Писать в журнал могут все желающие, присланные статьи автор может разместить после выхода журнала на любом ресурсе, а может и раньше выхода номера – это остается на усмотрение автора.
Всю информацию о журнале и скачать его вы сможете на страничке
Содержание номера ALFA
-
Аналитика
Панчул Юрий. Что умеют и не умеют писать на SystemVerilog для ASIC и FPGA американские студенты?
Хлуденьков Александр. Реализация нейронных сетей на FPGA
-
Начинающим
Солодовников А.П. FPGA 101
Балакший Сергей. Зажигаем светодиод процессором j1
-
Туториал
Куренков Константин. Работа с DPI.
Аверченко А.П. Простое вхождение в цифровую схемотехнику с DEEDS
-
Исследования
Бибило П.Н. Минимизация алгебраических представлений систем булевых функций при синтезе схем модулярных сумматоров и умножителей
Соловьев В.В. Стили и способы описания конечных автоматов на языках Verilog и SystemVerilog
Мальчуков А.Н. Разница восприятия САПР QUARTUS языков SystemVerilog и VHDL и разница между VIVADO
Алексеев К.Н., Сорокин Д.А. Оптимизация вычислительных структур под архитектуру ПЛИС XILINX
-
Реализация
Попов М.А., Романов А.Ю.Реализация видеовывода сверхвысокой четкости на микросхемах семейства Zynq-7000
Афанасьев Никита. Реализация интерполятора на платформе SDR Pluto+
Гуров В.В. PYNQ для систем-на-кристалле на примере реализации множества Мандельброта
Коробков М.А. Умножай эффективно. Алгоритм Карацубы. Прямая реализация.
Борисенко Н.В. Мост сопряжения внутрикристального системного интерфейса AMBA APB4 с интерфейсом стыка простого исполнителя STI 1.0
Сухачев К.И. Многоканальное устройство записи (МУЗА_4К10М1)
Минаев Александр. Реализация передатчика MIPI CSI-2 на GOWIN GW2A с подключением к Raspberry PI
Бортников А.Ю.Реализация Avalon-MM Master в виде конечного автомата на VHDL
Кашпурович В.В. Интеграция гигабитного последовательного интерфейса на основе стандарта JESD204B: расширение горизонтов передачи данных в ПЛИС
Мыцко Е.А. Аппаратная реализация на ПЛИС свёрточных нейронных сетей для семантической сегментации снимков леса
-
Tips & Tricks
Пузанов Николай. Об использовании фильтров в GTKWave
Коробков Михаил. set set set; #это не только легально, но и полезно
Кашканов Артём. Verilator – многофункциональный инструмент эмуляции и тестирования Verilog-кода.
-
Tutorial
Théophile Loubière. Simple VGA tutorial with Chisel
Содержание номера BETA
-
Обзор
Попов М. А., Романов А. Ю. Versal... Как много в этом слове!
Малышев Никита. Развитие отечественных САПР проектирования микроэлектроники на платформе Delta Design
Гнитеев Николай. Интерактивный HDL
Заостровных Андрей. Обзор отладочной платы ALINX AXU15EGB
Графов М.В. Отладочная плата ПИР СЦХ-254 «Карно»
-
Начинающим
Романова И.И., Зунин В.В., Маршутина Е.Н., Американов А.А., Романов А.Ю. DESim: как изучать проектирование на ПЛИС без отладочной платы
Хлуденьков А. Н. Давайте создадим процессор! Step by Step.
Аверченко А. П. Шинная организация сигналов в DEEDS
Харабадзе Д.Э. “Бегущие огни” на ATF22V10
Коробков Михаил. Сдвиговый регистр или то, о чем не расскажут в статьях для начинающих :: атрибуты синтеза
-
Реализация
Сонин А.П., Хромцев А.В., Свирин Д.М. DRFM на основе ПЛИС Virtex-7 для тестирования радиолокаторов с синтезированной апертурой антенны
Кузнецов Данила. Реализация IQ-модулятора для ПЛИС
Погодаев А.А. Абрамов А.Е. Загрузка драйвера UEFI, с помощью ПЛИС
Кудинов Максим. Игра в Pong на SystemVerilog
-
Исследования
Мальчуков А.Н. if if’у рознь. QUARTUS vs VIVADO. SystemVerilog vsVHDL
Пузанов Николай. Быстрое вычисление медианы в целых числах
-
Туториал
Сергей Б. Испытательный стенд с использованием YosysHQ MCY
Гуров В.В. Опенсорс для ПЛИС... и наоборот
Белоусов Олег. Buildroot это просто
Мангушев Александр Вячеславович. Подключение физического устройства, размещенного на ПЛИС в симулятор QEMU при помощи Ethernet
Балакший Сергей. Шаблон проекта испытательного стенда с использованием Yosys, Verilator, Icarus Verilog
-
Tips & tricks
Кудинов Максим. Verilator как linter в Neovim
Туровский Дмитрий Николаевич. Заметки ПЛИСовода
Комментарии (29)
almaz1c
29.05.2024 06:29+1Хлуденьков Александр. Реализация нейронных сетей на FPGA
Актуальное. Используем дорогой и дефицитный аппаратный ускоритель нейронных сетей. Ищем возможность перейти на что-нибудь более доступное. ПЛИС, например.
andi123
29.05.2024 06:29Отличная затея, реализация и содержания. Я хоть и не плисовод, но постоянно приходится налаживать програмную связь с устройствами на ПЛИС. Так что можно сказать, постоянно рядом стою.
Желаю продолжать в том же духе.
Пробежался по содержанию первого выпуска, увидел Панчула, думаю, может еще Смехов есть, но не нашел.
ЗЫ
Пробежался, по второму выпуску, а там вообще мой коллега. Очень тесная туса )))
KeisN13 Автор
29.05.2024 06:29Да, первый номер получился удачным, с точки зрения того, что мэтры плисового движения прислали статьи, Панчул, Бибило, Соловьев. Когда увидел от них сообщение на почте, чуть со стула не упал )
mpa4b
29.05.2024 06:29+3Начинающим точно стоит показывать такие примеры кода? (hint: должно быть неблокирующее присваивание)
KeisN13 Автор
29.05.2024 06:29В народном творчестве такое может встречаться, сообщите об ошибках автору
mpa4b
29.05.2024 06:29+2И что тогда? Автор пришлёт исправления, файл журнала по ссылке обновится?
KeisN13 Автор
29.05.2024 06:29да, я уже сделал пару исправлений, но там по меолочи. Если будет что-то серьезное, я отредактирую и укажу номер актуальной версии.
Правда с первым номером такое не получится, исхоники благополучно сгорели во время пожара.
KeisN13 Автор
29.05.2024 06:29Сообщил автору, есть ли у него есть аккаунт на хабре, думаю он что-нибудь да ответит или исправит
old_bear
29.05.2024 06:29+3Идея хорошая, спасибо как @KeisN13за движуху, так и всем авторам которые своё время вложили в статьи.
В качестве негромкого бурчания с галёрки... несколько удручают статьи про реализацию нейросетей (в первом выпуске). "На взгляд" одного автора надо использовать int16, вторая реализация и вовсе fp16/32 использует. Для inference-а.
Кажется оба автора пребывают несколько в отрыве от всего того множества реальных и успешно работающих применений (не обязательно на ПЛИС), где для inference-а используют int8. И всего того множества инструментов чтобы оригинальные fp32, или что там при обучении нейросети использовали, преобразовать в int8 без заметных потерь в точности.
А этот int8 как минимум в два раза большую плотность MADD-ов даёт, что напрямую в эффективность преобразуется. Не говоря уже про сравнение с плавающей точкой, честная реализация которой исключает использование заботливо добавленного производителями ПЛИС dedicated routing-а для каскадного суммирования результатов умножения и заметно облегчает p&r.Конечно есть вероятность что я просто упускаю какие-то важные причины, которые авторы не включили в текст статей. Но первое впечатление такое, что рассмотренные реализации создавались по личным представлениям, без участия программистов или алгоритмистов специализирующихся в машинном обучении.
Вообще такой отрыв железа от софта, увы, частенько встречается в области ПЛИС, поскольку во многих компаниях инженера, который специализируется в реализации алгоритмов, почему то смешивают с инженером который специализируется в разработке алгоритмов. А поскольку на ПЛИС можно реализовать практически всё, видимо ожидают от ПЛИС-инженера разбираться во всём на свете. Хотя чтобы получить эффективный конечный результат, это два отдельных человека должны быть, каждый из которых хорошо делает свою часть. И свою отдельную зарплату получает, да.
Я, например, за свою практику так и не стал продвинутым специалистом в разработке алгоритмов автоматического тестирования, видео-кодирования, связи, машинного обучения и т.д. хотя реализовал их немало. И вроде бы вполне пристойно реализовал. Но не уверен, что получилось бы так же пристойно, если бы я эти алгоритмы сначала должен был полностью придумать. По крайней мере во всех успешных проектах я работал в паре со специалистом по собственно алгоритму и с моей стороны только предлагал какие-то оптимизации, чтобы целевой алгоритм на ПЛИС хорошо ложился.Ладно, побурчал и будет... :D
KeisN13 Автор
29.05.2024 06:29все в полне по делу, писать статьи - это не просто, но с чего то надо начать. каждый ваш комментарий - это путь к улучшению качества излагаемого материала, хотя порой, комментарии больше вызывают чувство больше ни когда не садиться за написание статей, но то что нас не убивает нас делает сильней
KeisN13 Автор
29.05.2024 06:29Сообщил автору, есть ли у него есть аккаунт на хабре, думаю он что-нибудь да ответит
checkpoint
29.05.2024 06:29+1Ваш журнал чем-то напоминает мне старые
добрыеламповые дискмаги. Спасибо.PS: На сайте fpga-systems поменяйте местами Alfa и Beta, т.е. новый контент должен быть в начале страницы. Иначе народ заходит, не видит ничего нового и уходит.
И еще. У вас всё обсуждение статей перенесено в Телеграмм. Я не пользуюсь чатами, в том числе телегой, получается для меня доступ закрыт.
KeisN13 Автор
29.05.2024 06:29для меня доступ закрыт
Ну в таком случае можно писать в комментарии под этим постом с указанием автора, как было с примером кода выше, я сообщу автору, если у кого-то появятся вопросы по его статье.
No problemo
KeisN13 Автор
29.05.2024 06:29PS: На сайте fpga-systems поменяйте местами Alfa и Beta
Готово, спасибо
Wesha
29.05.2024 06:29Хабр был, хабр есть и хабр будет.
(задумчиво): А мсье оптимист...
smart_alex
29.05.2024 06:29Тема FPGA очень интересная, но из-за высокого порога входа страшно далеки её адепты от народа и очень малочисленна их кучка :)
Я бы вам порекомендовал параллельно с журналом запустить обучающий проект в духе StartingElectronics.org: выберите недорогую и доступную плату и напишите пошаговое руководство для начинающих из 20-30 уроков.
Это был бы реально полезный проект по популяризации темы FPGA и привлечению в неё многих людей.
Далее можете выпускать продвинутые туториалы по теме FPGA.
KeisN13 Автор
29.05.2024 06:29+1Это уже есть и существует несколько лет и называется Школа синтеза цифровых схем
smart_alex
29.05.2024 06:29Это хорошо, но это не совсем то о чём я говорил.
Вот ссылка на мой перевод курса StartingElectronics.org о программировании веб-серверов на Arduino: https://habr.com/ru/articles/765198/
Это совсем другой формат и другой принцип обучения.
AlexanderS
29.05.2024 06:29Это дело хорошее! У нас в стране с открытым ПЛИСоведением несколько туго. Так что только приветствуется движуха какая-то. Сам я правда для этого ничего не делаю. Прости Миша, что год назад до тебя так и не доехал! Правда у меня уже той отладки и нет, есть Tango, но она уже кажется у всех есть, кто реально хотел бы пощупать)
KeisN13 Автор
Что вы в целом думаете о такой затее? Может что-то дополнительно порекомендуете?
Хотел бы в следущем номере попробовать заполнить пустые места после статей различными анонсами, новостями и интересными плисовыми фактами
Flammmable
Хабр обеспечивает невероятную, умопомрачительную индексацию статей. К примеру, моя статья про BSDL в топе поиска (сразу за статьёй Википедии) что Яндекса, что Гугла по слову "BSDL". Да и мои статьи про JTAG, UART и S-параметры Гуглом вполне проиндексированы так, что висят на первой странице поиска.
Как вы обеспечите индексацию статей из вашего журнала поисковиками?
Если никак, то какова мотивация писать в ваш журнал?
KeisN13 Автор
Да, хабр индексируется гораздо лучше, чем журнал, но пдф индексируются тоже (согласно интернета, гугл индексирует пдфки с 2001 года). Но не в индексации дело.
Я просто пытаюсь раскачать fpga коммунити с разных сторон: сначала просто видосики на ютубе, потом статьи у себя на сайте и на хабре, потом телеграм чат, потом стримы, потом конференции, теперь вот журнал.
Мне кажется, что принимая участие в создании чего-то коллективного - мотивации у авторов чуть больше. В среднем по количеству статей в журнале, их примерно столько же сколько на хабре за тот же период.
Ну и уменя просто была идея фикс - сделать журнал. Как я и писал, авторы, если захотят могут выложить свои труды куда угодно, в том числе на хабр, буду только за.
Flammmable
Хорошее начинание. На самом деле. Но боюсь ёмкость электротехнического дискурса, а тем более ёмкость FPGA-шного дискурса может быть недостаточна для создания независимых устойчивых сообществ. На инициативных началах и в периоды благоденствия могут появляться всякие easyelectronics, tqfp.org и прочие radiokot. Но при незначительном изменении коньюнктуры будет происходить их полураспад. Не исключено, что мы обречены быть угнетаемо-привилегированным интеллектуальным меньшинством в составе широкого, рыхлого и многогранного IT-шного дискурса.
KeisN13 Автор
Поэтому нам надо держаться вместе )
Живость коммунити определяется энтузиазмом его адептов. Если адепты не проявляют интерес, комунити умирает. Пока в комунити есть движ, комунити продолжает жить. Как только движение прекратиться, значит можно будет с уверенностью сказать, что я продержался достаточно долго (7 лет уже) и сделал практически все што мог. Но пока кажется все еще не нашел ту заветную лампу эдисона