Le langage SystemVerilog (.net)

Accueil

Ce site accompagne l'ouvrage Le langage SystemVerilog, Synthèse et vérification des circuits numériques complexes de S. Moutault et J. Weber, Dunod, 2009 (ISBN-13: 978-2100518012).

SystemVerilog est l’un des langages de description des circuits numériques les plus récents (2005). Il est le premier langage qualifié de HDVL, pour Hardware Description and Verification Language. Il hérite à la fois des capacités de description de modules synthétisables (Verilog) et des facultés d’abstraction des langages objets (Classes) qui permettent la vérification de systèmes complexes.

Le livre est organisé en quatre parties :

  • Une première exploration rapide permet de découvrir l’ensemble du langage.
  • La seconde partie présente la boite à outils dont se serviront les deux parties suivantes.
  • La troisième partie est consacrée à la construction de modules synthétisables et des tests unitaires qui sont indissociables de la conception de ces modules.
  • La dernière partie est consacrée à la mise en place d’un banc de vérification fondé sur la programmation objet. Elle amène le lecteur à comprendre les deux librairies de vérification les plus couramment rencontrées : VMM library (Verification Methodology Manual for SystemVerilog) et OVM library (Open Verification Methodology).

Les premiers langages de description de circuits numériques, Verilog et VHDL principalement, ont réalisé une unification entre la réalisation d'un circuit, la synthèse, et sa modélisation.

La question de la vérification du bon fonctionnement d'un système nécessite un niveau supérieur d'abstraction. Ce niveau peut être atteint plus facilement par des langages objets, tels que C++ ou Java, que par les langages traditionnels de description du matériel (Hardware description language, HDL).

L'utilisation conjointe d'un langage de description de matériel et de programmes algorithmiques écrits en C++ est rendue possible par l'existence de passerelles , qui constituent des annexes du langage HDL.

La difficulté de tels outils de vérification " hybrides " réside, entre autres, dans la double compétence exigée des programmeurs.

Pour tenter une unification, deux approches ont vu le jour :

A l'heure actuelle (2008) il semble que ce soit la première approche qui l'emporte, et ce pour deux raisons principales : d'une part la nécessité économique de ne pas perdre l'acquis de plus de vingt ans de développement de circuits ; et d'autre part la difficulté de traduire des algorithmes de haut niveau en structures synthétisables.

Accueil | | Sommaire du livre | | Exemples du livre | | Exercices corrigés | | Compléments et Liens | | Nous contacter |