ПЛИС-культ привет, 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)


  1. KeisN13 Автор
    29.05.2024 06:29
    +1

    Что вы в целом думаете о такой затее? Может что-то дополнительно порекомендуете?

    Хотел бы в следущем номере попробовать заполнить пустые места после статей различными анонсами, новостями и интересными плисовыми фактами


    1. Flammmable
      29.05.2024 06:29
      +2

      Хабр обеспечивает невероятную, умопомрачительную индексацию статей. К примеру, моя статья про BSDL в топе поиска (сразу за статьёй Википедии) что Яндекса, что Гугла по слову "BSDL". Да и мои статьи про JTAG, UART и S-параметры Гуглом вполне проиндексированы так, что висят на первой странице поиска.

      Как вы обеспечите индексацию статей из вашего журнала поисковиками?

      Если никак, то какова мотивация писать в ваш журнал?


      1. KeisN13 Автор
        29.05.2024 06:29
        +1

        Да, хабр индексируется гораздо лучше, чем журнал, но пдф индексируются тоже (согласно интернета, гугл индексирует пдфки с 2001 года). Но не в индексации дело.

        Я просто пытаюсь раскачать fpga коммунити с разных сторон: сначала просто видосики на ютубе, потом статьи у себя на сайте и на хабре, потом телеграм чат, потом стримы, потом конференции, теперь вот журнал.

        Мне кажется, что принимая участие в создании чего-то коллективного - мотивации у авторов чуть больше. В среднем по количеству статей в журнале, их примерно столько же сколько на хабре за тот же период.

        Ну и уменя просто была идея фикс - сделать журнал. Как я и писал, авторы, если захотят могут выложить свои труды куда угодно, в том числе на хабр, буду только за.


        1. Flammmable
          29.05.2024 06:29
          +3

          Хорошее начинание. На самом деле. Но боюсь ёмкость электротехнического дискурса, а тем более ёмкость FPGA-шного дискурса может быть недостаточна для создания независимых устойчивых сообществ. На инициативных началах и в периоды благоденствия могут появляться всякие easyelectronics, tqfp.org и прочие radiokot. Но при незначительном изменении коньюнктуры будет происходить их полураспад. Не исключено, что мы обречены быть угнетаемо-привилегированным интеллектуальным меньшинством в составе широкого, рыхлого и многогранного IT-шного дискурса.


          1. KeisN13 Автор
            29.05.2024 06:29

            Не исключено, что мы обречены быть угнетаемо-привилегированным интеллектуальным меньшинством в составе широкого, рыхлого и многогранного IT-шного дискурса

            Поэтому нам надо держаться вместе )

            Тем более ёмкость FPGA-шного дискурса может быть недостаточна для создания независимых устойчивых сообществ. 

            Живость коммунити определяется энтузиазмом его адептов. Если адепты не проявляют интерес, комунити умирает. Пока в комунити есть движ, комунити продолжает жить. Как только движение прекратиться, значит можно будет с уверенностью сказать, что я продержался достаточно долго (7 лет уже) и сделал практически все што мог. Но пока кажется все еще не нашел ту заветную лампу эдисона


  1. almaz1c
    29.05.2024 06:29
    +1

    Хлуденьков Александр. Реализация нейронных сетей на FPGA

    Актуальное. Используем дорогой и дефицитный аппаратный ускоритель нейронных сетей. Ищем возможность перейти на что-нибудь более доступное. ПЛИС, например.


  1. andi123
    29.05.2024 06:29

    Отличная затея, реализация и содержания. Я хоть и не плисовод, но постоянно приходится налаживать програмную связь с устройствами на ПЛИС. Так что можно сказать, постоянно рядом стою.

    Желаю продолжать в том же духе.

    Пробежался по содержанию первого выпуска, увидел Панчула, думаю, может еще Смехов есть, но не нашел.

    ЗЫ

    Пробежался, по второму выпуску, а там вообще мой коллега. Очень тесная туса )))


    1. KeisN13 Автор
      29.05.2024 06:29

      Да, первый номер получился удачным, с точки зрения того, что мэтры плисового движения прислали статьи, Панчул, Бибило, Соловьев. Когда увидел от них сообщение на почте, чуть со стула не упал )


  1. mpa4b
    29.05.2024 06:29
    +3

    Начинающим точно стоит показывать такие примеры кода? (hint: должно быть неблокирующее присваивание)


    1. KeisN13 Автор
      29.05.2024 06:29

      В народном творчестве такое может встречаться, сообщите об ошибках автору


      1. mpa4b
        29.05.2024 06:29
        +2

        И что тогда? Автор пришлёт исправления, файл журнала по ссылке обновится?


        1. KeisN13 Автор
          29.05.2024 06:29

          да, я уже сделал пару исправлений, но там по меолочи. Если будет что-то серьезное, я отредактирую и укажу номер актуальной версии.

          Правда с первым номером такое не получится, исхоники благополучно сгорели во время пожара.


    1. KeisN13 Автор
      29.05.2024 06:29

      Сообщил автору, есть ли у него есть аккаунт на хабре, думаю он что-нибудь да ответит или исправит


  1. Gudd-Head
    29.05.2024 06:29

    Начал читать. На корректоре (или как там его?) явно сэкономили.


    1. KeisN13 Автор
      29.05.2024 06:29
      +1

      да, я не редактировал, и практически публиковал оригинал. На корекктора пока не заработали, а на вычитку всего материала у меня не хватило ни сил ни времени


  1. old_bear
    29.05.2024 06:29
    +3

    Идея хорошая, спасибо как @KeisN13за движуху, так и всем авторам которые своё время вложили в статьи.

    В качестве негромкого бурчания с галёрки... несколько удручают статьи про реализацию нейросетей (в первом выпуске). "На взгляд" одного автора надо использовать int16, вторая реализация и вовсе fp16/32 использует. Для inference-а.
    Кажется оба автора пребывают несколько в отрыве от всего того множества реальных и успешно работающих применений (не обязательно на ПЛИС), где для inference-а используют int8. И всего того множества инструментов чтобы оригинальные fp32, или что там при обучении нейросети использовали, преобразовать в int8 без заметных потерь в точности.
    А этот int8 как минимум в два раза большую плотность MADD-ов даёт, что напрямую в эффективность преобразуется. Не говоря уже про сравнение с плавающей точкой, честная реализация которой исключает использование заботливо добавленного производителями ПЛИС dedicated routing-а для каскадного суммирования результатов умножения и заметно облегчает p&r.

    Конечно есть вероятность что я просто упускаю какие-то важные причины, которые авторы не включили в текст статей. Но первое впечатление такое, что рассмотренные реализации создавались по личным представлениям, без участия программистов или алгоритмистов специализирующихся в машинном обучении.
    Вообще такой отрыв железа от софта, увы, частенько встречается в области ПЛИС, поскольку во многих компаниях инженера, который специализируется в реализации алгоритмов, почему то смешивают с инженером который специализируется в разработке алгоритмов. А поскольку на ПЛИС можно реализовать практически всё, видимо ожидают от ПЛИС-инженера разбираться во всём на свете. Хотя чтобы получить эффективный конечный результат, это два отдельных человека должны быть, каждый из которых хорошо делает свою часть. И свою отдельную зарплату получает, да.
    Я, например, за свою практику так и не стал продвинутым специалистом в разработке алгоритмов автоматического тестирования, видео-кодирования, связи, машинного обучения и т.д. хотя реализовал их немало. И вроде бы вполне пристойно реализовал. Но не уверен, что получилось бы так же пристойно, если бы я эти алгоритмы сначала должен был полностью придумать. По крайней мере во всех успешных проектах я работал в паре со специалистом по собственно алгоритму и с моей стороны только предлагал какие-то оптимизации, чтобы целевой алгоритм на ПЛИС хорошо ложился.

    Ладно, побурчал и будет... :D


    1. KeisN13 Автор
      29.05.2024 06:29

      все в полне по делу, писать статьи - это не просто, но с чего то надо начать. каждый ваш комментарий - это путь к улучшению качества излагаемого материала, хотя порой, комментарии больше вызывают чувство больше ни когда не садиться за написание статей, но то что нас не убивает нас делает сильней


    1. KeisN13 Автор
      29.05.2024 06:29

      Сообщил автору, есть ли у него есть аккаунт на хабре, думаю он что-нибудь да ответит


  1. checkpoint
    29.05.2024 06:29
    +1

    Ваш журнал чем-то напоминает мне старые добрыеламповые дискмаги. Спасибо.

    PS: На сайте fpga-systems поменяйте местами Alfa и Beta, т.е. новый контент должен быть в начале страницы. Иначе народ заходит, не видит ничего нового и уходит.

    И еще. У вас всё обсуждение статей перенесено в Телеграмм. Я не пользуюсь чатами, в том числе телегой, получается для меня доступ закрыт.


    1. KeisN13 Автор
      29.05.2024 06:29

      для меня доступ закрыт

      Ну в таком случае можно писать в комментарии под этим постом с указанием автора, как было с примером кода выше, я сообщу автору, если у кого-то появятся вопросы по его статье.

      No problemo


    1. KeisN13 Автор
      29.05.2024 06:29

      PS: На сайте fpga-systems поменяйте местами Alfa и Beta

      Готово, спасибо


  1. Wesha
    29.05.2024 06:29

    Хабр был, хабр есть и хабр будет.

    (задумчиво): А мсье оптимист...


    1. KeisN13 Автор
      29.05.2024 06:29
      +1

      Как раз пост вчера опубликовали в тему: Хабру 18 лет )

      https://habr.com/ru/companies/habr/articles/817977/


      1. Wesha
        29.05.2024 06:29

        Как раз пост вчера опубликовали в тему: Хабру 18 лет )

        Как шутят пишут у нас на бирже, past performance does not guarantee future results.


  1. smart_alex
    29.05.2024 06:29

    Тема FPGA очень интересная, но из-за высокого порога входа страшно далеки её адепты от народа и очень малочисленна их кучка :)

    Я бы вам порекомендовал параллельно с журналом запустить обучающий проект в духе StartingElectronics.org: выберите недорогую и доступную плату и напишите пошаговое руководство для начинающих из 20-30 уроков.

    Это был бы реально полезный проект по популяризации темы FPGA и привлечению в неё многих людей.

    Далее можете выпускать продвинутые туториалы по теме FPGA.


    1. KeisN13 Автор
      29.05.2024 06:29
      +1

      Это уже есть и существует несколько лет и называется Школа синтеза цифровых схем


      1. smart_alex
        29.05.2024 06:29

        Это хорошо, но это не совсем то о чём я говорил.

        Вот ссылка на мой перевод курса StartingElectronics.org о программировании веб-серверов на Arduino: https://habr.com/ru/articles/765198/

        Это совсем другой формат и другой принцип обучения.


  1. AlexanderS
    29.05.2024 06:29

    Это дело хорошее! У нас в стране с открытым ПЛИСоведением несколько туго. Так что только приветствуется движуха какая-то. Сам я правда для этого ничего не делаю. Прости Миша, что год назад до тебя так и не доехал! Правда у меня уже той отладки и нет, есть Tango, но она уже кажется у всех есть, кто реально хотел бы пощупать)


    1. KeisN13 Автор
      29.05.2024 06:29

      да я все там же, гараж на том же месте, приезжай