Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Méthodologie UVM appliquée à MIMOSIS
G.Bertolone pour le groupe de micro-électronique de l’IPHC Méthodologie UVM appliquée à MIMOSIS Micro Vertex Detector (MVD) for the CBM experiment at GSI/FAIR 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
2
Motivations Au cours des dernières années, évolution des ASIC : passage de circuits fortement Analog On Top (AOT) à des circuits Digital On Top (DoT) Complexification de la simulation numérique Evolution des environnements de test Apparition d’un nouveau standard : l’UVM 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
3
Plan Motivations Evolution des TestBench (TB)
TB Classiques Besoins d’une conception DoT des circuits SystemVerilog (SV) UVM Plan de Vérification de MIMOSIS1 Contexte Les bancs de test de MIMOSIS1 Status TB UVM Bilan du passage à des TB UVM 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
4
Evolution des TestBench (TB)
16/05/2018 Journées VLSI IN2P Clermont Ferrand -
5
TB Classiques Utilisation de quelques scenarii « bien choisis » avec des stimuli fixes pour vérifier le comportement d’un module Souvent écrit en Verilog/VHDL Vérification manuelle/scriptée des résultats du test par le designer visualisation de chronogramme, écriture des données de sorties dans un fichier texte, … 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
6
Besoins d’une conception DoT des circuits
Blocs numériques et incidences sur l’architecture sont prépondérants complexité de la simulation numérique Très forte augmentation du nombre de scenarii / vecteurs/stimuli à définir Besoin de solutions permettant : La génération automatique de vecteurs de test aléatoires, mais limités aux cas possibles/probables La quantification de la qualité/pertinence de ces stimuli aléatoires Modèle traditionnel où chaque stimulus est défini « à la main » par le testeur est très vite inadapté pour une simulation globale du circuit Le langage SystemVerilog et la méthodologie UVM permettent de répondre à ces besoins. 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
7
SystemVerilog (SV) Le SystemVerilog est un langage
Extension du langage de description HDL Verilog => Un code Verilog est compatible avec un code SV Norme IEEE SystemVerilog vs Verilog : Principalement, ajout de fonctionnalités pour le développement pour les bancs de test Non synthétisable ! 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
8
Ajout du SV pour les tests
Notion de classe et de programmation orienté objet (même principe que le langage C++) Permet l’encapsulation des objets et leur réutilisation Randomisation basée sur des contraintes Ex: Définition d’un variable aléatoire de type entier (codé sur 32 bits) mais dont la valeur ∈ 0:117 Notion de taux de couverture des tests définis (coverage) Indique l’efficacité des tests Assertion pour vérifier des états/séquences / transitions entre signaux Ex: assert (A != B); // Vérifie que A et B sont toujours différents dans la simulation; //sinon, génération d’une erreur arrêt de la simulation Accès à des ressources existantes via le Direct Programming Interface (DPI) utilisation de fonctions codées en C++ (ex : bibliothèque math.h) 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
9
Universal Verification Methodology (UVM)
UVM est une Méthodologie : Standardisée pour des environnements de vérification Norme IEEE Interopérabilité entre les outils de simulation Non spécifique aux ASIC (UVM applicable sur des FPGA) Normalise la définition d’objets spécialisés (driver, séquenceur, scoreboard, …) Uniformisation des interactions et des implantations de ces objets Portabilité et réutilisation des structures de tests développées par l’utilisateur Utilisation d’IP de vérification (cryptée ou non cf Kimmo Jaaskelainen) Disponible pour plusieurs langages dont le SV Bibliothèques d’objets décrit en SV De plus en plus signoff dans l’industrie et au CERN pour les circuits DoT Ex : ALPIDE (cf Svetlomir Hristozkov) 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
10
Banc de test UVM typique
accellera.org
11
Banc de test UVM typique
Agent Assure la communication entre le DUT et le test Composé par Un séquenceur : gestion des stimuli Un driver : application des stimuli sur les ports du DUT Un moniteur : échantillonnage des ports du DUT Scoreboard Validation fonctionnelle automatique entre les données générées par le DUT et les données attendues DUT
12
Application à la Vérification de MIMOSIS1
16/05/2018 Journées VLSI IN2P Clermont Ferrand -
13
Contexte Pour cela il faut
MIMOSIS1 est conçu sur un flot Digital On Top Il incorpore le Priority Encoder (PE) et les pixels développés dans MIMOSIS0 (Cf. F. Morel) But de la vérification : Validation comportementale des blocs numériques Vérification de la marge de propagation du signal asynchrone généré par un pixel à l’intérieur de la matrice Fonction de sa position et du nombre de pixels touché Pour cela il faut Identifier les stimuli qui valident les chemins critiques Il y a combinaisons et l’exhaustivité de la STA ne donne pas les vecteurs critiques Profiler l’IR drop dynamique en fonction de vecteurs réalistes (simulations de F) 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
14
Les bancs de test de MIMOSIS1: Une Progression . . .
Bancs de test simple Verilog / VHDL Vérification des fonctionnalités basiques des sous blocs DAC, gestion des mémoires, séquenceur, écriture de registre de configuration, … Simulation de consommation SystemVerilog & Voltus Qualifier les consommations des Blocs Basé sur un test multi-frame, avec des données aléatoires et des contraintes sur le nombre et la position des hits A permis de découvrir une surconsommation des mémoires A terme, un banc de test UVM pour profilage de la consommation du capteur complet IR drop Cadence 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
15
. . . Vers l’UVM Simulation Fonctionnelle du capteur SV-UVM
Développement de séquences générant automatiquement des stimuli définit à partir des contraintes fournies par le testeur Analyse automatique des résultats via le scoreboard Détection et traque des problèmes de fonctionnement sans analyser les chronogrammes ! Vérification fonctionnelle des différents modules numériques I2C Module de traitement des données entre les régions et la sérialisation Modules de testabilité Module de configuration du circuit … Vérification des timing de la matrice: Pixels + Encodeur de Priorité Réutilisation des objets UVM développés pour MIMOSIS0 aspect « Design Reuse » de l’UVM 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
16
Status TB UVM MIMOSIS 1 Design Reuse :
Matrix x16 Region 1 504 x 2 x 8 pixels Pixel Analog FE Dig x8 Reg. 2 Reg. 3 Reg.4 Priority Encoder Top Frame Generator Region Readout Unit 1 SRAM 128 x 16 bit x 2 RRU 2 RRU 3 RRU 4 DACs Super Region Readout Units 64 x 32 bit x 8 Top Elastic Buffer 2048 x 128bit Pixel Config Management Serializer CMU Control Management Unit CLK: 40 MHz 320 MHz 10 20 MHz 80 MHz Registers I2C Digital Periphery 20 MHz 32 40 MHz MHz MHz N x 320 MHz (N = 1, 2, 4, 8) Pad Ring SLVS 16 20 MHz Clock gen 40 MHz SLVS Ref Sequencer PLL Data Generation for Multi-Frame Pattern Emulation DGMFPE Multi-Frame Pattern Emulation PE Driving and Cluster Finding PEDCF Design Reuse : Agents pour la matrice de MIMOSIS0. nb de pixels, mais toujours les même objets UVM Status TB UVM MIMOSIS 1 UVM à développer Déjà développé pour MIMOSIS1: agents en entrée agents en sortie Scoreboard Séquences de test Le nb de monitor actifs s’ajuste automatiquement suivant le test lancé Mimosis1 (cf F.Morel Slides)
17
Bilan du passage à des TestBench UVM
16/05/2018 Journées VLSI IN2P Clermont Ferrand -
18
Inconvénients de l’UVM
UVM = Niveau d’abstraction élevée Nécessite un temps d’apprentissage certain Comprendre l’organisation et le rôle des objets UVM Aspect verbeux : besoin d’écrire beaucoup de fichiers pour créer un testbench ( Mais toujours ± la même structure / syntaxe pour passer d’un TB à un autre ) 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
19
Avantages de l’UVM Une fois l’UVM apprivoisé, du temps de développement des TB Fonctionnalités avancées du SV et de l’UVM: pattern random, contraintes, coverage, bibliothèques existantes, … Automatisation des tests suivant de multiple scenarii et analyse des résultats via le scoreboard Modularité et flexibilité des bancs de test Possibilité d’activer/éteindre des agents en fonction de la séquence de test choisie 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
20
Avantages de l’UVM Fonctionnalités spécifique pour le debug dans les outils EDA (intégration dans Simvision, Analyse de Coverage avec IMC, …) Aspect « design reuse » très développé : un agent développé pour un circuit est facilement implantable dans un autre circuit 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
21
Conception des capteurs à pixels à l’IPHC Evolution d’AoT vers DoT
2005 MIMOSI1 coll. CBM 2015 2016 2018 MIMOSI1 coll. CBM Mimosa 28 4 cm² Coll. STAR Mimosa 26 2 cm² (PHC-IRFU) MISTRAL-O: 3x1,5 cm² IPHC-CERN (Niveau Layut) MISTRAL-O: 3x1,5 cm² IPHC-CERN (Niveau Layout) ALPIDE: 3x1,5 cm² Coll. CERN ALPIDE: 3x1,5 cm² Coll. CERN MimoStar-2 25 mm² Coll. STAR MimoStar-2 25 mm² Coll. STAR Verilog / VHDL - STA IR-Drop LIBERATE SV-UVM 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
22
16/05/2018 Journées VLSI IN2P Clermont Ferrand -
23
Back UP 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
24
Exemple de banc de test UVM pour MIMOSIS1
Data Base pour Cadence IMC X64 agents (1 par RRU) Driver Monitor Agent Data IN Coverage Collector x16 Region Readout Unit 1 RRU 2 RRU 3 RRU 4 DUT Super Region Readout Units Scoreboard Top Frame Generator Top Elastic Buffer Serializer N x 320 MHz (N = 1, 2, 4, 8) Librairie de Tests automatisés Monitor Configurable suivant le test 1, 2, 4 ou 8 agents Rapport de test pour le designer Driver (inactif) Agent Data Out 16/05/2018
25
Références Accellera.org
”Verification Academy -UVM Cookbook “- , Mentor Graphics “ALPIDE Chip - Verification Challenges and Practical Solutions”- Svetlomir Hristozkov (CERN) "Simulation Environment Based on the Universal Verification Methodology"- Fiergolski – Twepp 2016 16/05/2018 Journées VLSI IN2P Clermont Ferrand -
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.