colibri: CERN VHDL Common Library released for Everyone to Use
by Alberto Perro (CERN, LHCb Experiment)
Your FPGA design can now take advantage of the VHDL components developed at CERN.

Four years ago, a group of developers at CERN started to investigate how gateware portability between projects could be improved.
At the time, CERN gateware designers were mostly using homebrew tools, adding unnecessary maintenance overhead and slowing design and debug processes. Moreover, an additional level of complexity is caused by the use of FPGAs from different vendors, mainly due to the variety of projects developed.
In recent years, numerous open-source tools have emerged in the context of FPGA gateware development. The CERN EP department saw this as an opportunity to consolidate efforts and standardise FPGA designs across the organisation.
This led to the development of the colibri library. colibri is based on three leading principles: open source, vendor-independence, and verification.
The first principle is straightforward: the wider firmware development community shall be able to use and contribute to colibri. For this reason, we chose the CERN Open Hardware Licence – Weakly Reciprocal 2.0.
Vendor independence enables users to evaluate their designs on different platforms simultaneously, without lock-in to a specific environment, even when dealing with mixed hardware and software tools.
The third principle is verification: colibri implements both self-checking testbenches and formal verification, the latter being relatively new in the FPGA world. The goal of verification is to provide a robust library that can be trusted.
colibri offers more than 100 RTL components written in pure VHDL-2008. These components have self-checking testbenches and, where possible, formal verification harnesses. They target common functionality ranging from basic memories (FIFOs, RAMs) to more advanced data manipulation. The library is actively maintained and new components are added regularly.
colibri’s first adoption was by the LHCb Experiment Data Acquisition team for the upcoming upgrade. Now colibri is being used in more than 10 projects, even outside CERN. colibri development has been supported by the CERN EP R&D programme as part of WP 9.3 – Gateware Portability Frameworks.
Now, marking its fourth anniversary, CERN has decided to release colibri to the worldwide FPGA community for use in your projects and, if you wish, for contributions as well.