Langage de description de matériel
Un langage de description de matériel, ou du matériel (ou HDL pour hardware description language en anglais) est un langage informatique permettant la description d'un circuit électronique au niveau des transferts de registres (RTL). Celui-ci peut décrire les fonctions réalisées par le circuit (description comportementale) ou les portes logiques utilisées par le circuit (description structurelle).
Il est possible d'observer le fonctionnement d'un circuit électronique modélisé dans un langage de description grâce à la simulation.
À la différence d'un langage de programmation logiciel, la syntaxe et la sémantique d'un HDL incluent des notations explicites pour exprimer le temps et le parallélisme qui sont les attributs principaux du matériel.
Un synthétiseur logique permet de transformer un circuit décrit dans un langage de description de matériel en une netlist.
Différents environnements de développements, possèdent des outils, tes que Icestudio, permettant de concevoir le circuit logique graphiquement et d'en extraire le code dans un HDL[1] - [2]
Le langage de vérification de matériel est un outil complémentaire permettant de valider et simuler le circuit créé à l'aide du langage de description.
Langages de description de matériel
Langages de description purement numérique, de différents degrés d'abstraction.
- Advanced Boolean Expression Language (ABEL) orienté bas niveau ;
- AHDL (Altera HDL) langage propriétaire essentiellement structurel proche d'ABEL ;
- Chisel, langage basé sur Scala, et convertible en Verilog ;
- Migen, langage Ă©crit et utilisant le langage Python[3] ;
- Silice, un langage de haut niveau convertible en Verilog ;
- SystemC utilisant le C++ et qui permet de modéliser les interactions logiciel/matériel ;
- Verilog qui mélange description structurelle et algorithmique ;
- VHDL légèrement plus abstrait que Verilog qui est inspiré de ADA.
Les langages mixtes, qui sont souvent des extensions des précédents. Ils permettent la modélisation des systèmes à l'aide d'équations différentielles.
- Verilog-AMS ;
- VHDL-AMS ;
- Modelica langage de modélisation généraliste orienté objet.
Notes et références
- (en) Eric Evenchick, « Icestudio: An Open Source Graphical FPGA Tool », sur Hackaday,
- Martoni, « Icestudio 0.2, du schéma au verilog », sur Linuxfr,
- (en) Brian Benchoff, « Designing Flip-Flops With Python and Migen », sur Hackaday,