L'article détaille l'expérience de YADRO en matière de vérification fonctionnelle des conceptions numériques, soulignant que la complexité d'un design est limitée par celle de sa vérification. L'auteur, responsable de la vérification, explique que cette étape représente plus de la moitié du temps de conception et que les erreurs logiques sont la principale cause de redémarrage des projets, tant en ASIC qu'en FPGA. Il insiste sur la nécessité d'une séparation entre développement et vérification pour éviter de reproduire les mêmes erreurs d'interprétation des spécifications.
La méthodologie actuelle privilégie l'approche "coverage-driven" utilisant SystemVerilog et UVM comme standards, permettant une génération aléatoire de tests plus efficace que les tests dirigés. Cette méthode sépare les moniteurs des tests, facilite l'automatisation et améliore la couverture des états du design. L'auteur souligne les avantages d'UVM malgré sa complexité initiale, notamment la standardisation et la réutilisabilité des composants.
L'article décrit ensuite les étapes pratiques de la vérification chez YADRO : planification, développement de l'environnement, création de tests, modélisation de la couverture et consolidation des résultats. Il présente les documents essentiels comme le plan de test, la description détaillée de l'environnement de vérification et les scénarios de validation. Ces artefacts permettent une décomposition claire des tâches et une meilleure coordination d'équipe.
Enfin, l'auteur met l'accent sur l'importance de documenter précisément l'environnement de vérification, comparable en rigueur à la spécification RTL, et sur la nécessité d'une infrastructure de build robuste pour reproduire et déboguer efficacement les tests. Cette approche structurée vise à réduire les coûts des erreurs et à améliorer la qualité des conceptions complexes.