Европейская организация по ядерным исследованиям CERN снова делится наработками — на этот раз выпущена библиотека на языке VHDL под названием «colibri», в которой собрано более 100 компонентов, функций и процедур для быстрого старта нового проекта на ПЛИС (FPGA).

Иллюстрация к материалу о VHDL-библиотеке colibri от CERN

Как и многое из того, что CERN отдаёт под своей лицензией CERN Open Hardware Licence, эта библиотека и её функции разрабатывались внутри организации, чтобы упростить собственную работу — в частности, ускорить создание шлюзовых устройств.

реклама кормит Уточку 🦆

Это неудивительно: эксперименты CERN порождают колоссальные объёмы данных, и ПЛИС стали ключевым элементом многих установок. Чтобы не оказаться в зависимости от одного поставщика, всё в библиотеке сделано независимым от вендора и протестировано на нескольких платформах.

Кроме того, в комплект входят самопроверяющиеся тестовые окружения (testbench), а для части модулей выполнена даже формальная верификация. В мире программных компиляторов формальную верификацию встретить можно, а вот для FPGA это большая редкость. Весь проект выложен на GitLab.

реклама кормит Уточку 🦆

Для сообщества это заметный вклад: готовые и проверенные блоки на VHDL можно переиспользовать в собственных разработках, не изобретая базовые узлы заново. Открытая лицензия при этом позволяет применять их и в любительских, и в профессиональных проектах.

реклама кормит Уточку 🦆

Пусть библиотека CERN и не поможет собрать троичный процессор или контроллер шины на любимом всеми программируемом «кремнии», но, как и в случае с программными библиотеками, она позволит сэкономить время — хотя бы не реализовывать заново, скажем, SPI или I2C. Оба интерфейса уже есть в colibri, как и многое другое.