Репозиторий BGM содержит переносимые примеры на SystemVerilog для работы с ПЛИС и микросхемами. Проект поддерживает 54 платы и 5 наборов инструментов, включая Intel Quartus, AMD Vivado и Yosys. Скрипты автоматизируют настройку 112 конфигураций, чтобы упростить работу студентов с вендорским ПО.

Автор применил метод состязательного программирования, поручив Claude и Codex независимо улучшать Bash-скрипт для поиска Vivado. Агенты работали в разных клонах репозитория, анализировали код друг друга и исправляли ошибки. В итоге обе реализации пришли к единому стилю и логике работы.

Codex предложил проверку команды sort для корректной работы в средах Cygwin и MSYS, где системная утилита может не поддерживать сортировку версий. Claude сосредоточился на чистоте кода, исключив засорение сессии глобальными переменными, и добавил диагностические сообщения для случаев, когда каталог установки не распознан.

В ходе эксперимента агенты создали тестовый стенд с имитацией различных структур каталогов. Это позволило выявить ошибки в выборе версий Vivado. Побочным результатом работы стала подробная документация, описывающая логику поиска инструментов, которая теперь хранится в репозитории проекта.

Примеры BGM используются в Школе синтеза цифровых схем, охватывающей 25 университетов России и Белоруссии. Использование общих скриптов позволяет студентам с разным оборудованием выполнять одни и те же лабораторные работы, избегая проблем с настройкой инструментов в начале обучения.