Français
Électronique industrielle

langage de description matérielle

Anglais: hardware description language

Tout langage d'une classe de langages informatiques, de modélisation ou de spécification pour la description formelle et la conception de circuits électroniques logiques analogiques ou numériques.

HDL : un code qui décrit les circuits au lieu de s'exécuter dessus

Un langage de description matérielle (HDL) est une notation formelle pour spécifier la structure et le comportement des circuits électroniques avant leur fabrication. Contrairement aux langages de programmation conventionnels qui s'exécutent séquentiellement sur un processeur, les HDL décrivent ce qu'un circuit est plutôt que ce qu'il fait. La description peut être synthétisée en matériel réel, généralement sous la forme d'une configuration pour un dispositif logique programmable (FPGA) ou comme entrée pour un outil de placement-routage pour un circuit intégré spécifique à une application (ASIC).

Les deux HDL dominants utilisés dans l'industrie sont Verilog et VHDL. Verilog est né dans les années 1980 en tant que langage propriétaire avant d'être publié comme norme IEEE. Sa syntaxe rappelle vaguement celle du C et il est privilégié dans de nombreuses entreprises de conception et de semi-conducteurs américaines. VHDL, normalisé par l'IEEE en 1987, a une syntaxe de type Ada et est plus verbeux. Il reste bien ancré dans les secteurs de la défense, de l'aérospatiale et de l'industrie européenne. Les deux peuvent décrire des circuits à plusieurs niveaux d'abstraction : au niveau du transfert de registres (RTL), où le comportement est exprimé en termes de signaux et de transitions d'état ; au niveau des portes, spécifiant les portes logiques individuelles et leurs connexions ; ou de manière comportementale, comme des descriptions algorithmiques.

Simulation et synthèse

La valeur fondamentale d'un HDL est qu'il permet à un concepteur de simuler le circuit avant de s'engager dans la fabrication. Un simulateur logique lit la description HDL et évalue comment le circuit réagit aux stimuli d'entrée au fil du temps. Cette simulation peut révéler des violations de synchronisation, des erreurs logiques et des conditions de concurrence qui pourraient autrement consommer des semaines de prototypage sur plaque d'essai ou de tests. Une fois la simulation réussie, la source HDL est transmise à un outil de synthèse, qui optimise la description et la mappe aux ressources logiques disponibles sur le dispositif cible. Les outils de synthèse effectuent la minimisation logique, le mappage technologique et le placement-routage, produisant des netlists et des flux de bits de configuration.

Un piège courant est d'écrire du HDL qui simule correctement mais se synthétise en un matériel qui se comporte différemment. Cela découle souvent de constructions HDL qui n'ont pas de corrélat physique : une boucle for dans le code comportemental, par exemple, doit se dérouler entièrement en logique parallèle au moment de la synthèse, ce qui peut consommer beaucoup plus de surface que ce que le concepteur avait anticipé. De même, la sémantique de l'affectation de signaux diffère entre les modes de simulation et de synthèse ; les affectations bloquantes et non bloquantes en Verilog sont des sources notoires de bogues qui passent la simulation mais échouent dans le matériel.

Le nom langage de description matérielle reflète que ces outils décrivent des configurations matérielles, et non des algorithmes à exécuter. La barrière entre la conception HDL et l'ingénierie logicielle est réelle : un ingénieur logiciel embarqué écrivant du C pour un microcontrôleur résout des problèmes de calcul, tandis qu'un concepteur HDL compose une logique combinatoire et séquentielle qui s'exécutera en parallèle. Les flux EDA (automatisation de la conception électronique) modernes intègrent les deux ; une conception FPGA peut inclure un cœur de processeur souple (lui-même décrit en HDL) exécutant du code C embarqué aux côtés de blocs logiques conçus à la main, le tout spécifié dans un projet HDL unifié.

Sources

Entrée IG209824/10/2015

Autres termes : Électronique industrielle

Tout voir

Recevez le mot du jour

Un terme industriel chaque jour, avec le métier auquel il appartient et pourquoi il mérite d'être connu. Sans publicité.