Sortie de la version 0.10 de Yosys
Yosys est devenu le pivot opensource du développement des circuits intégrés FPGA et ASIC.
Le 27 septembre 2021 a été publiée la nouvelle version 0.10 de Yosys sur l’hébergeur de gestionnaire de versions GitHub.
Cette sortie tardive (la 0.9 date de 2019) est l’occasion de parler de ce logiciel libre de synthèse Verilog, pivot de la libération des FPGA (et des ASIC). Plutôt que de simplement présenter les changements nous allons présenter le logiciel et le principe de la synthèse «RTL».
Journal Verilog && récursivité(récursivité(récursivité( ERROR: STACK OVERFLOW
Cher journal,
Hier, j'ai découvert que l'on pouvait faire du code récursif en Verilog.
Le verilog, qu'est-ce que c'est que quoi ?
Verilog est un vieux langage de description matériel. Il sert à modéliser des circuits qui pourront être ensuite simulé et être implémenté sur un FPGA ou en ASIC.
En guise d'exemple, voici un petit module qui fait clignoter une DEL :
`define CLOCK_FREQUENCY 25000000 // Number of clock tick in 1 second - 25Mhz
`define LED_TICKS_COUNT
(…)
Simplifier la visualisation de chronogrammes
Le développement avec des langages de description matériel, le (System)Verilog par exemple, nécessite très souvent de visualiser les chronogrammes afin de vérifier le comportement du composant en développement. Ces chronogrammes sont générés par un simulateur tel qu’Icarus et GHDL, pour les versions libres, ou bien encore par ModelSim, VCS et consorts, pour les versions propriétaires.
GTKWave est la référence dans le monde du logiciel libre pour afficher les chronogrammes, mais il existe également autant d’afficheurs que de simulateurs propriétaires. De très nombreux développeurs ont sans doute été confrontés au côté rébarbatif de l’insertion à la souris des signaux à observer. GTKWave, ainsi que les simulateurs propriétaires, embarquent un interpréteur de langage Tcl afin de faciliter l’édition des signaux à observer avec, bien sûr, une syntaxe différente à chaque fois…
J’ai donc décidé de créer le module Python Wavedisp permettant de décrire hiérarchiquement les signaux à observer, ainsi que de procéder à la génération de scripts d’affichage pour différents outils de visualisation, dont GTKWave.
Sortie de la version 1.1 de Cocotb
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.
Journal 2019, l’année de la libération des FPGA ?
En matière de liberté le monde du FPGA est resté dans les années 90. Une époque obscure où l’on cachait le mode de fonctionnement des logiciels, où il fallait signer des accords de non divulgation (NDA) avant de pouvoir simplement utiliser un logiciel. Une époque où l’on croyait encore que la sécurité par l’obfuscation était le summum de l’état de l’art pour sécuriser et protéger son logiciel et ses données. Mais il est possible que les nouvelles de sorties de (…)
Sortie de Yosys Open Synthesis Suite 0.8
L’annonce a été faite mardi 16 octobre par W. Clifford : la version 0.8 de Yosis, un logiciel libre de synthèse Verilog est sortie.
Dans le processus de développement FPGA/ASIC la synthèse est l’étape de conversion du modèle matériel simulé en « netlist RTL », d’où l’on peut dériver le circuit réel.
Verilator 4.002
La version 4.002 de Verilator a été annoncée à la conférence ORConf2018 en Pologne.
Verilator est sans conteste le simulateur HDL open source le plus rapide du « marché ». Il permet de simuler des porte‐grammes écrits en Verilog synthétisable.
Journal Un composant électronique TapTempo avec Chisel3
Le «défi» TapTempo est un peu en train de faiblir je trouve. Du coup je vous propose un nouveau langage pour réaliser TapTempo : Chisel. Et pour être plus précis, la version 3 de Chisel.
Contrairement à tous les langages proposés jusqu'ici, Chisel ne permet pas de réaliser un programme qui sera exécuté par une machine réelle ou virtuelle. Chisel permet de décrire l'architecture de la machine elle-même !
C'est ce qu'on appelle un langage de description matériel ou HDL (…)
Journal HiFive1: Un Arduino à 320Mhz entièrement libre pour 2017
À l'heure où j'écris ces lignes a lieu le 5 ème workshop sur jeux d'instruction libre (ISA Risc-V au campus google à Mountain View.
Et c'est à cette occasion qu'est présenté la carte HiFive1 composée d'un microcontrôleur Freedom Everywhere 310 (FE310) à cœur SiFive (utilisant le jeux d'instructions Risc-V). Une carte compatible Arduino mais 10 fois plus puissante et entièrement libre, jusqu'au silicium.
La description hardware en Chisel/Verilog est disponible sur github et il est possible de simuler intégralement le (…)
Sortie de Chisel 3, un langage de description matériel basé sur Scala
Jonathan Bachrach vient de l’annoncer sur la liste de diffusion chisel-user : le premier instantané de Chisel 3 est officiellement sorti.
Chisel est un langage de description matériel (HDL) basé sur le langage Scala. Le langage n’étant pas reconnu par les principaux logiciels de synthèse, il génère du langage Verilog synthétisable à la « compilation ».
Icestudio 0.2, du schéma au verilog
IceStudio est un logiciel graphique permettant de concevoir un design FPGA à la manière d’un schéma électronique. Le logiciel est encore largement expérimental et centré sur les FPGA ice40 de chez lattice. Écrit en JavaScript autour de Nodejs, le logiciel permet de dessiner son projet au moyen de blocs reliés entre eux par des signaux.
IceStudio est sous licence GPLv2.
NdM : à noter, ce projet bénéficie d'un soutien du fabricant espagnol BQ (connu également pour fournir des matériels avec Ubuntu pré-installée)
Journal Le VHDL prend-il l'eau ?
Le VHDL est un langage de simulation numérique. C'est initialement une commande de l'armée américaine pour standardiser les spécifications de circuits numériques. Le VHDL a été standardisé à coup de pelle à neige par l'IEEE en se basant sur le langage ADA.
Du langage de simulation, le VHDL est passé au langage de description hardware avec l'arrivée des FPGA/ASIC. Les constructeurs de FPGA fournissant des outils de conversion VHDL->netlist pour leurs propres composants. Chacun y allant de son interprétation du (…)