De la preuve formelle en Verilog, librement

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Spécialité(s)


Résumé

Dans cet article, on se propose de découvrir une autre méthode de validation d’un composant écrit en Verilog. L’idée est de décrire les propriétés du composant et de laisser l’ordinateur chercher les stimuli qui feront échouer des propriétés. Ça n’est plus le développeur qui écrit les tests, mais la machine. Cette méthode a récemment été rendue possible avec des logiciels libres grâce à la suite d’outils Yosys (synthèse Verilog), Yosys-SMTBMC (solveur) ainsi que SymbiYosys qui les chapeaute.


Quand on développe un composant numérique avec un langage HDL comme le Verilog, il est obligatoire de vérifier son comportement en simulation. Cette simulation consiste à décrire l’évolution des valeurs d’entrée du bloc au cours du temps et de vérifier que les valeurs de sortie soient celles attendues.

Il est quasiment impossible de faire quelque chose qui soit un minimum complexe sur FPGA sans passer par cette étape. La manière classique de faire consiste à écrire un bloc « banc de test » comme en figure 1 qui inclura (instanciation) le bloc HDL à tester.

verilog formal figure 01-s

Fig. 1 : Schéma classique d'un banc de test.

C’est dans le code de ce banc de test que nous décrirons l’évolution des signaux d’entrée du composant testé et que nous vérifierons les valeurs de sortie (moniteur).

Généralement, le code du banc de test utilise le même langage HDL que le code du bloc « synthétisable » testé. Dans notre cas, nous écririons le banc de test en...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Pimp my LED counter, les performances de l’addition

Magazine
Marque
Hackable
Numéro
55
Mois de parution
juillet 2024
Spécialité(s)
Résumé

Pour évaluer un nouveau FPGA, on commence généralement avec la conception d’un compteur pour faire clignoter une LED. Ce HelloWorld simpliste nous amène à utiliser toute la chaîne de développement, de la conception du circuit en langage HDL jusqu’à la configuration du FPGA sur le kit. En passant bien sûr par la synthèse, le placement routage et le bitstream. On se penche rarement sur les performances du compteur utilisé pour le clignotement ni comment l’optimiser de manière à augmenter la fréquence de cadencement au maximum qu’il est possible d’obtenir avec le modèle étudié. C’est pourtant ce qu’on se propose de faire dans cet article à partir du kit iCEstick de chez Lattice.

Accélérez vos simulations VHDL avec Verilator

Magazine
Marque
Hackable
Numéro
45
Mois de parution
novembre 2022
Spécialité(s)
Résumé

Dans un précédent article, nous avons présenté le simulateur Verilator. C’est un simulateur un peu particulier qui convertit le modèle HDL en une classe C++. Le banc de test est ensuite écrit sous la forme d’un programme en C++. Nous avons montré qu’avec cette méthode, on accélère énormément la simulation. Le problème de Verilator, c’est qu’il cible le langage Verilog. Or, l’industrie utilise également le VHDL comme standard de description matériel. Nous allons voir dans cet article qu’il est tout de même possible d’utiliser Verilator avec du VHDL grâce au couple de logiciels Yosys et GHDL. Nous en profiterons pour comparer trois méthodes de simulation, une avec GHDL, une avec NVC et enfin avec Verilator.

Transformez votre vieille Game Boy en console de salon HDMI

Magazine
Marque
Hackable
Numéro
44
Mois de parution
septembre 2022
Spécialité(s)
Résumé

On se propose ici d’utiliser un FPGA GW1NSR de la société chinoise Gowin pour transformer sa Game Boy en véritable console de salon, avec le branchement HDMI ainsi que la manette de Super NES. Le (relatif) plug & play du montage transforme ainsi la Game Boy en une Game Boy-Switch rétro à la sauce Formicapunk. On peut y jouer en mode portable comme à l’époque et si on l’insère dans le montage, il est possible d’y jouer sur sa télé HDMI avec une manette de Super NES.

Les derniers articles Premiums

Les derniers articles Premium

Le combo gagnant de la virtualisation : QEMU et KVM

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Brève introduction pratique à ZFS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Il est grand temps de passer à un système de fichiers plus robuste et performant : ZFS. Avec ses fonctionnalités avancées, il assure une intégrité des données inégalée et simplifie la gestion des volumes de stockage. Il permet aussi de faire des snapshots, des clones, et de la déduplication, il est donc la solution idéale pour les environnements de stockage critiques. Découvrons ensemble pourquoi ZFS est LE choix incontournable pour l'avenir du stockage de données.

Générez votre serveur JEE sur-mesure avec Wildfly Glow

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Et, si, en une ligne de commandes, on pouvait reconstruire son serveur JEE pour qu’il soit configuré, sur mesure, pour les besoins des applications qu’il embarque ? Et si on pouvait aller encore plus loin, en distribuant l’ensemble, assemblé sous la forme d’un jar exécutable ? Et si on pouvait même déployer le tout, automatiquement, sur OpenShift ? Grâce à Wildfly Glow [1], c’est possible ! Tout du moins, pour le serveur JEE open source Wildfly [2]. Démonstration dans cet article.

Les listes de lecture

7 article(s) - ajoutée le 01/07/2020
La SDR permet désormais de toucher du doigt un domaine qui était jusqu'alors inaccessible : la réception et l'interprétation de signaux venus de l'espace. Découvrez ici différentes techniques utilisables, de la plus simple à la plus avancée...
8 article(s) - ajoutée le 01/07/2020
Au-delà de l'aspect nostalgique, le rétrocomputing est l'opportunité unique de renouer avec les concepts de base dans leur plus simple expression. Vous trouverez ici quelques-unes des technologies qui ont fait de l'informatique ce qu'elle est aujourd'hui.
9 article(s) - ajoutée le 01/07/2020
S'initier à la SDR est une activité financièrement très accessible, mais devant l'offre matérielle il est parfois difficile de faire ses premiers pas. Découvrez ici les options à votre disposition et les bases pour aborder cette thématique sereinement.
Voir les 32 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous