colibri: CERN VHDL Common Library nu beschikbaar voor iedereen

Uw FPGA-ontwerp kan nu gebruikmaken van de VHDL-componenten die bij CERN zijn ontwikkeld.

Vier jaar geleden begon een groep ontwikkelaars bij CERN met onderzoek naar hoe de overdraagbaarheid van gateware tussen projecten verbeterd kon worden. In die tijd gebruikten gateware-ontwerpers bij CERN voornamelijk zelfgebouwde tools, wat leidde tot onnodige onderhoudslast en het vertragen van ontwerp- en debugprocessen. Bovendien zorgde het gebruik van FPGA's van verschillende leveranciers, grotendeels door de variëteit aan ontwikkelde projecten, voor een extra niveau van complexiteit.

In de afgelopen jaren zijn er talrijke open-source tools verschenen in de context van FPGA-gateware-ontwikkeling. De afdeling EP van CERN zag dit als een kans om inspanningen te consolideren en FPGA-ontwerpen binnen de organisatie te standaardiseren.

De colibri-bibliotheek

Dit leidde tot de ontwikkeling van de colibri-bibliotheek. colibri is gebaseerd op drie leidende principes:

  • Open source: De bredere firmware-ontwikkelingsgemeenschap moet in staat zijn om colibri te gebruiken en eraan bij te dragen. Om deze reden is gekozen voor de CERN Open Hardware Licence – Weakly Reciprocal 2.0.
  • Leveranciersonafhankelijkheid: Dit stelt gebruikers in staat om hun ontwerpen gelijktijdig op verschillende platforms te evalueren, zonder vastgeketend te zijn aan een specifieke omgeving, zelfs wanneer er gewerkt wordt met een mix van hardware- en softwaretools.
  • Verificatie: colibri implementeert zowel zelfcontrolerende testbenches als formele verificatie; dat laatste is relatief nieuw in de FPGA-wereld. Het doel van verificatie is het leveren van een robuuste bibliotheek die vertrouwd kan worden.

Technische specificaties en functionaliteit

colibri biedt meer dan 100 RTL-componenten geschreven in puur VHDL-2008. Deze componenten beschikken over zelfcontrolerende testbenches en, waar mogelijk, formele verificatie-harnesses.

De componenten richten zich op algemene functionaliteiten, variërend van:

  • Basisgeheugens (zoals FIFO's en RAM's)
  • Geavanceerde datamanipulatie

De bibliotheek wordt actief onderhouden en er worden regelmatig nieuwe componenten toegevoegd.

Adoptie en ondersteuning

De eerste implementatie van colibri was door het Data Acquisition-team van het LHCb-experiment voor de aanstaande upgrade. Inmiddels wordt colibri gebruikt in meer dan 10 projecten, ook buiten CERN. De ontwikkeling van colibri is ondersteund door het CERN EP R&D-programma als onderdeel van WP 9.3 – Gateware Portability Frameworks.

Nu colibri haar vierde verjaardag viert, heeft CERN besloten de bibliotheek vrij te geven aan de wereldwijde FPGA-gemeenschap voor gebruik in uw projecten en, indien gewenst, voor bijdragen.