ПЛИС-культ привет, 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)
 - almaz1c29.05.2024 06:29+1- Хлуденьков Александр. Реализация нейронных сетей на FPGA - Актуальное. Используем дорогой и дефицитный аппаратный ускоритель нейронных сетей. Ищем возможность перейти на что-нибудь более доступное. ПЛИС, например. 
 - andi12329.05.2024 06:29- Отличная затея, реализация и содержания. Я хоть и не плисовод, но постоянно приходится налаживать програмную связь с устройствами на ПЛИС. Так что можно сказать, постоянно рядом стою. - Желаю продолжать в том же духе. - Пробежался по содержанию первого выпуска, увидел Панчула, думаю, может еще Смехов есть, но не нашел. - ЗЫ - Пробежался, по второму выпуску, а там вообще мой коллега. Очень тесная туса )))  - KeisN13 Автор29.05.2024 06:29- Да, первый номер получился удачным, с точки зрения того, что мэтры плисового движения прислали статьи, Панчул, Бибило, Соловьев. Когда увидел от них сообщение на почте, чуть со стула не упал ) 
 
 - mpa4b29.05.2024 06:29+3 - Начинающим точно стоит показывать такие примеры кода? (hint: должно быть неблокирующее присваивание)  - KeisN13 Автор29.05.2024 06:29- В народном творчестве такое может встречаться, сообщите об ошибках автору  - mpa4b29.05.2024 06:29+2- И что тогда? Автор пришлёт исправления, файл журнала по ссылке обновится?  - KeisN13 Автор29.05.2024 06:29- да, я уже сделал пару исправлений, но там по меолочи. Если будет что-то серьезное, я отредактирую и укажу номер актуальной версии. - Правда с первым номером такое не получится, исхоники благополучно сгорели во время пожара. 
 
 
  - KeisN13 Автор29.05.2024 06:29- Сообщил автору, есть ли у него есть аккаунт на хабре, думаю он что-нибудь да ответит или исправит 
 
 - old_bear29.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- Сообщил автору, есть ли у него есть аккаунт на хабре, думаю он что-нибудь да ответит 
 
 - checkpoint29.05.2024 06:29+1- Ваш журнал чем-то напоминает мне старые - добрыеламповые дискмаги. Спасибо.- PS: На сайте fpga-systems поменяйте местами Alfa и Beta, т.е. новый контент должен быть в начале страницы. Иначе народ заходит, не видит ничего нового и уходит. - И еще. У вас всё обсуждение статей перенесено в Телеграмм. Я не пользуюсь чатами, в том числе телегой, получается для меня доступ закрыт.  - KeisN13 Автор29.05.2024 06:29- для меня доступ закрыт - Ну в таком случае можно писать в комментарии под этим постом с указанием автора, как было с примером кода выше, я сообщу автору, если у кого-то появятся вопросы по его статье. - No problemo 
  - KeisN13 Автор29.05.2024 06:29- PS: На сайте fpga-systems поменяйте местами Alfa и Beta - Готово, спасибо 
 
 - Wesha29.05.2024 06:29- Хабр был, хабр есть и хабр будет. - (задумчиво): А мсье оптимист... 
 - smart_alex29.05.2024 06:29- Тема FPGA очень интересная, но из-за высокого порога входа страшно далеки её адепты от народа и очень малочисленна их кучка :) - Я бы вам порекомендовал параллельно с журналом запустить обучающий проект в духе StartingElectronics.org: выберите недорогую и доступную плату и напишите пошаговое руководство для начинающих из 20-30 уроков. - Это был бы реально полезный проект по популяризации темы FPGA и привлечению в неё многих людей. - Далее можете выпускать продвинутые туториалы по теме FPGA.  - KeisN13 Автор29.05.2024 06:29+1- Это уже есть и существует несколько лет и называется Школа синтеза цифровых схем  - smart_alex29.05.2024 06:29- Это хорошо, но это не совсем то о чём я говорил. - Вот ссылка на мой перевод курса StartingElectronics.org о программировании веб-серверов на Arduino: https://habr.com/ru/articles/765198/ - Это совсем другой формат и другой принцип обучения. 
 
 
 - AlexanderS29.05.2024 06:29- Это дело хорошее! У нас в стране с открытым ПЛИСоведением несколько туго. Так что только приветствуется движуха какая-то. Сам я правда для этого ничего не делаю. Прости Миша, что год назад до тебя так и не доехал! Правда у меня уже той отладки и нет, есть Tango, но она уже кажется у всех есть, кто реально хотел бы пощупать) 
 
           
 

KeisN13 Автор
Что вы в целом думаете о такой затее? Может что-то дополнительно порекомендуете?
Хотел бы в следущем номере попробовать заполнить пустые места после статей различными анонсами, новостями и интересными плисовыми фактами
Flammmable
Хабр обеспечивает невероятную, умопомрачительную индексацию статей. К примеру, моя статья про BSDL в топе поиска (сразу за статьёй Википедии) что Яндекса, что Гугла по слову "BSDL". Да и мои статьи про JTAG, UART и S-параметры Гуглом вполне проиндексированы так, что висят на первой странице поиска.
Как вы обеспечите индексацию статей из вашего журнала поисковиками?
Если никак, то какова мотивация писать в ваш журнал?
KeisN13 Автор
Да, хабр индексируется гораздо лучше, чем журнал, но пдф индексируются тоже (согласно интернета, гугл индексирует пдфки с 2001 года). Но не в индексации дело.
Я просто пытаюсь раскачать fpga коммунити с разных сторон: сначала просто видосики на ютубе, потом статьи у себя на сайте и на хабре, потом телеграм чат, потом стримы, потом конференции, теперь вот журнал.
Мне кажется, что принимая участие в создании чего-то коллективного - мотивации у авторов чуть больше. В среднем по количеству статей в журнале, их примерно столько же сколько на хабре за тот же период.
Ну и уменя просто была идея фикс - сделать журнал. Как я и писал, авторы, если захотят могут выложить свои труды куда угодно, в том числе на хабр, буду только за.
Flammmable
Хорошее начинание. На самом деле. Но боюсь ёмкость электротехнического дискурса, а тем более ёмкость FPGA-шного дискурса может быть недостаточна для создания независимых устойчивых сообществ. На инициативных началах и в периоды благоденствия могут появляться всякие easyelectronics, tqfp.org и прочие radiokot. Но при незначительном изменении коньюнктуры будет происходить их полураспад. Не исключено, что мы обречены быть угнетаемо-привилегированным интеллектуальным меньшинством в составе широкого, рыхлого и многогранного IT-шного дискурса.
KeisN13 Автор
Поэтому нам надо держаться вместе )
Живость коммунити определяется энтузиазмом его адептов. Если адепты не проявляют интерес, комунити умирает. Пока в комунити есть движ, комунити продолжает жить. Как только движение прекратиться, значит можно будет с уверенностью сказать, что я продержался достаточно долго (7 лет уже) и сделал практически все што мог. Но пока кажется все еще не нашел ту заветную лампу эдисона