Sortie de la version 1.1 de Cocotb

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud, ZeroHeure, Pierre Jarillon, Davy Defaud et palm123. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
29
26
jan.
2019
Matériel

Voici une excellente nouvelle pour la conception des composants électroniques numériques : la version 1.1 de Cocotb est sortie, la nouvelle vient de tomber sur la liste de diffusion de Cocotb.

C’est une grande nouvelle pour cette bibliothèque Python de co‐simulation HDL, sous licence BSD modifiée. En effet, malgré le travail de cinquante contributeurs, elle était bloquée dans sa version 1.0 depuis plus de quatre ans maintenant. La nouvelle organisation qui vient d’être mise en place devrait garantir la pérennité de Cocotb.

Comme les deux principaux mainteneurs travaillaient sur d’autres sujets, ils ne trouvaient plus le temps de s’occuper de ce projet. Malgré la communauté d’utilisateurs grossissante, les correctifs et les propositions d’améliorations restaient jusqu’ici lettre morte, faute de temps pour les relire.

Cette annonce de sortie d’une nouvelle version permet surtout au logiciel de sortir de sa torpeur. Les principaux développeurs du projet ont réussi à s’organiser pour déléguer le développement et entrer dans un cycle vertueux de vérification et publication.

Cocotb est une bibliothèque Python permettant de faire de la co‐simulation HDL. Un HDL est un langage de description matériel permettant de décrire un composant électronique numérique. Les deux HDL majoritairement utilisés sont VHDL et Verilog. En phase de développement, il est nécessaire de simuler son composant avec un logiciel de simulation VHDL et/ou Verilog. Habituellement, les stimuli permettant de le tester sont écrits dans le même langage que le composant lui‐même : VHDL ou Verilog. Comme ce sont des vieux langages très spécifiques, c’est fastidieux.

Cocotb permet de s’affranchir du HDL utilisé et d’écrire son banc de tests (les stimulus ou stimuli) en Python. Ce qui est bien plus plaisant et permet d’utiliser l’immense base de fonctionnalités disponible dans le langage Python. Cocotb étant un langage de co‐simulation, il se contente de piloter un autre simulateur. Cela permet de s’affranchir du langage simulé et même de faire de la simulation mixte si le simulateur le permet.

Nous allons enfin pouvoir sérieusement écrire nos bancs de tests en Python et oublier les usines à gaz que sont UVM, UVVM et consort. Et ce, tout en gardant notre logiciel de simulation HDL préféré, c’est toute la magie de la co‐simulation.

Aller plus loin

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.