Langage de description de matérielUn langage de description de matériel, ou du matériel (ou HDL pour hardware description language en anglais) est un langage 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). C'est un type de langage utilisé pour développer des processeurs sur FPGA (type de circuit logique programmable) ou ASIC (circuit figé). Le développement de ce dernier passe par des phases de développement sur circuit programmable, mais le circuit programmable est également souvent utilisé tel quel dans différentes applications allant du domaine industriel, de recherche, au domaine de l'amateur. PrincipesÀ 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. Outils d'aide au développementLangages de très haut niveauDes langages de plus haut niveau tels que Chisel, Migen ou Silice permettent un développement plus rapide, avec un code source plus concis, des applications, elles sont transpilées en HDL avant la synthétisation du circuit. Développement graphiqueDifférents environnements de développements, possèdent des outils, tels que Icestudio, permettant de concevoir le circuit logique graphiquement et d'en extraire le code dans un HDL[1],[2] Simulation et débogageLe langage de vérification de matériel (HVL) est un outil complémentaire permettant de valider et simuler le circuit créé à l'aide du langage de description. Il est possible d'observer le fonctionnement d'un circuit électronique modélisé dans un langage de description grâce à des extensions de vérification, à la simulation et à des données d'historique (anglais : log) d'exécution. Des extensions de simulation au langage, tels que SystemVerilog permettent de faire des tests unitaires, SystemC permet de simuler plus finement le comportement du circuit, en appelant des fonctionnalités du système d'exploitation du développeur. Des outils tels que Icarus Verilog ou Verilator permettent d'exécuter la simulation sur ordinateur. GTKWave permet l'analyse de l'historique des signaux et états. Langages de description de matérielLangages de description purement numérique, de différents degrés d'abstraction.
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.
Notes et références
|