URL:     https://linuxfr.org/news/colibri-enfin-une-bibliotheque-vhdl-libre-utilisable-par-tous
Title:   Colibri, enfin une bibliothèque VHDL libre utilisable par tous
Authors: martoni
         BAud, cli345, Xavier Teyssier et Ysabeau  🧶
Date:    2026-09-25T08:48:40+02:00
License: CC By-SA
Tags:    
Score:   13


Le CERN vient de sortir une bibliothèque VHDL (VHDL-2008) indépendante du matériel sous licence CERN-OHL-W-2.0.


Le [VHDL](https://fr.wikipedia.org/wiki/VHDL) est le langage de description matériel (Hardware Description Language) de référence avec le [Verilog](https://fr.wikipedia.org/wiki/Verilog). Il est utilisé pour décrire des modèles numériques de composant. Ces modèles sont utilisés pour la **simulation** mais également pour la **synthèse** à destination de cible comme les FPGA, ASIC…

----

[colibri: CERN VHDL Common Library released for Everyone to Use](https://ep-news.web.cern.ch/colibri-cern-vhdl-common-library-released-for-everyone-to-use/)
[Le dépôt gitlab du projet](https://gitlab.com/colibri-cern/colibri)

----

Le principe de l’étape de la synthèse est de transformer le modèle VHDL en une représentation matérielle du circuit d’électronique numérique constitué de portes logiques, bascules, multiplexeurs, additionneurs, etc.



Et c’est la synthèse qui pose souvent problème : un modèle VHDL correct, écrit pour la simulation, ne synthétisera pas forcément. Certaines structures ne peuvent pas être décrites en termes de portes logiques, on parlera dans ce cas de VHDL **non synthétisable**. Pour complexifier la partie, certaines structures peuvent être synthétisables pour une cible mais pas pour une autre.


Ces spécificités ont amené chaque entreprise à développer leurs propres bibliothèques adaptées à leurs propres besoins, tout en ajoutant une couche d’environnement de développement spécifique (Qsys, vivado…). Ces réservoirs de codes spécifiques à une plate-forme et à une culture d’entreprise rendent le portage ou même la publication en open-source très compliqué.



Depuis toujours, il manque cruellement une bibliothèque standard pour disposer de briques de base en conception HDL.



C’est pour tenter de résoudre ce problème que le CERN publie sa bibliothèque [Colibri en opensource](https://ep-news.web.cern.ch/colibri-cern-vhdl-common-library-released-for-everyone-to-use/).



La bibliothèque propose les éléments suivant (traduction libre de la doc):



- `colibri.common` : Fonctions standards
- `colibri.comms` : Utilitaires pour la communication (PRBS, CRC...)
- `colibri.endec` : Encodeurs et décodeurs (RLE, 8b10b...)
- `colibri.fileio` : Opérations sur les fichiers
- `colibri.interfaces` : Protocoles de Bus et Flux Components (AXI, Avalon, Wishbone…)
- `colibri.io` : Bus électroniques standards (UART, I2C, SPI...)
- `colibri.memory` : Blocs de RAM, FIFO… (FIFO, RAM)
- `colibri.misc` : Divers
- `colibri.pipes` : Pipes (Arbiter, Router…)
- `colibri.packet` : Gestion des flux de paquets
- `colibri.proto` : Quelques protocoles standards (Aurora 64b66b…)



Depuis quelques années maintenant, le CERN a une politique ambitieuse d’ouverture du matériel très efficace. On pense notamment à la prise en compte de [Kicad](https://www.kicadprojects.com/) qui rivalise aujourd’hui avec les concurrents historiques. On pense également à la plate-forme [Open Hardware Repository](https://ohwr.org/) (ohwr pour les intimes) qui permet le partage de dossier de fabrication de cartes électronique librement.



Espérons que cette bibliothèque puisse infuser dans toutes les strates du développement HDL et qu’elle devienne un standard. La conception numérique (FPGA mais également ASIC) en serait grandement améliorée soyons en certains.
