CERN heeft de colibri-bibliotheek ontwikkeld om de overdraagbaarheid van gateware tussen projecten te verbeteren en de onderhoudslast te verminderen die ontstond door het gebruik van diverse zelfgebouwde tools en verschillende FPGA-leveranciers.
De bibliotheek is gebaseerd op drie kernprincipes:
- Open source: Vrijgegeven onder de CERN Open Hardware Licence – Weakly Reciprocal 2.0.
- Leveranciersonafhankelijkheid: Gebruikers kunnen ontwerpen op verschillende platforms evalueren zonder gebonden te zijn aan één specifieke omgeving.
- Verificatie: De bibliotheek maakt gebruik van zelfcontrolerende testbenches en formele verificatie om robuustheid te garanderen.
Technisch gezien bevat colibri meer dan 100 RTL-componenten geschreven in VHDL-2008, variërend van basisgeheugens (zoals FIFO's en RAM's) tot geavanceerde datamanipulatie. Na een succesvolle implementatie in onder andere het LHCb-experiment en diverse andere projecten, is de bibliotheek nu openbaar beschikbaar voor de wereldwijde FPGA-gemeenschap.
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.
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.