De la preuve formelle en Verilog, librement

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines


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.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Raspberry Pi Pico, Arduino killer ?

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

« Raspberry Pi ou Arduino ? », voici la question typique que se posent nombre de débutants avant de comprendre rapidement que comparer un ordinateur monocarte (SBC) et une carte microcontrôleur n'a aucun sens. Il s'agit de deux mondes distincts reposant sur des philosophies et des contingences totalement différentes. Mais en ce début d'année 2021, la réponse à cette mauvaise question est devenue délicate, car voici venir la carte Pico : une plateforme équipée d'un microcontrôleur RP2040 double-cœur ARM Cortex M0+... par Raspberry Pi ! En d'autres termes, la question est donc maintenant aussi « Raspberry Pi ou Raspberry Pi ? ».

Une nouvelle méthode d’imagerie tridimensionnelle pour la rétro-ingénierie des circuits intégrés

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

La rétro-ingénierie matérielle, et plus particulièrement la rétro-ingénierie du silicium, trouve très rapidement ses limites dans les attaques non invasives où la puce reste fonctionnelle et intègre. Pour pouvoir analyser en profondeur un circuit logique, il faut aujourd’hui forcément passer par une décapsulation et une déstratification, ce qui implique alors la destruction inévitable de la puce. Ces méthodes destructives étaient les seuls moyens d’accéder aux différentes couches d’une puce de silicium et donc de pouvoir reconstituer tout le circuit logique de celle-ci. Mais récemment, des chercheurs ont proposé une nouvelle méthode d’imagerie tridimensionnelle des circuits intégrés, d’abord pour un usage industriel, mais aussi inédit pour la rétro-ingénierie du silicium, qui permet l’analyse en profondeur, sans passer par les processus destructeurs habituels.

Installer OpenOCD spécial Pico pour votre Debian

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

N'importe quelle occurrence de la commande « sudo make install » me rappelle d'horribles souvenirs de mes débuts sous GNU/Linux, il y a de très nombreuses années (1995). Peupler ainsi manuellement son /usr/local de fichiers, programmes et bibliothèques est une recette parfaite pour une catastrophe et des conflits en tous genres. Mieux vaut suivre la voie dictée par la distribution et son système de gestion de paquets. Voyons cela en pratique avec l'OpenOCD modifié par la fondation Raspberry Pi et, en prime, découvrons une excellente alternative à l'utilisation d'UF2 ou Picotool.

Contrôle de ventilation PC par Arduino

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Domaines
Résumé

Les configurations PC actuelles reposent autour de processeurs (CPU comme GPU) qui sont certes très puissants en termes de calcul, mais également très consommateurs en énergie. Or la quasi-totalité de cette énergie électrique sera finalement transformée en chaleur que la machine doit dissiper, souvent activement. Rien d'étonnant donc de voir dans ces ordinateurs des systèmes de refroidissement normalisés qui pourront être utilisés par ailleurs, à condition d'être judicieusement contrôlés...