VSN
Vérification des Systèmes Numériques
Professeur : Yann Thoma
La conception des systèmes numériques nécessite de vérifier leur fonctionnement en simulation avant de passer sur un substrat matériel. La vérification fonctionnelle peut se faire en exploitant le langage VHDL, mais de fortes limitations lui sont liées. Le langage SystemVerilog, qui est très récent, propose de nouvelles constructions telles que la randomisation contrainte, la gestion de couverture, ou les assertions, qui permettent la mise au point de bancs de tests performants et efficaces.
Le but de ce cours est d'aborder la vérification fonctionnelle des systèmes numériques. Des méthodologies basées sur VHDL seront présentées, suivies des possibilités de vérification offertes par SystemVerilog.
Après une introduction à la vérification, la première partie du cours présentera donc les outils VHDL pour la vérification, ainsi qu'une méthodologie possible.
La deuxième partie consistera en une introduction à SystemVerilog, en mettant l'accent sur les éléments nouveaux par rapport au VHDL. En se basant sur ces éléments, une méthodologie de conception de bancs de tests basée sur les transactions, la randomisation contrainte et la gestion de couverture sera présentée.
Des exercices permettront de mettre en pratique les éléments abordés, et des séances de laboratoire offriront la possibilité de développer des bancs de test plus conséquents.
Objectifs pédagogiques:
- Savoir concevoir et mettre en oeuvre un banc de test en VHDL
- pour des systèmes combinatoires
- pour des systèmes séquentiels
- Savoir concevoir et mettre en oeuvre un banc de test simple en SystemVerilog exploitant la randomisation
- Savoir concevoir et mettre en oeuvre un banc de test basé sur des transactions en SystemVerilog
Mots-clés: FPGA, conception numérique, vérification, VHDL, SystemVerilog