Méthodologie UVM appliquée à MIMOSIS

Slides:



Advertisements
Présentations similaires
Flow de conception (4h)-demo
Advertisements

INTRODUCTION.
Developpement Process « Coding party !! » Tony Carnal Altran.
Formation des enseignants Formation MATLAB. Formation des enseignants MATLAB® (pour MATrix LABoratory) est un logiciel scientifique de calcul numérique.
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
POO 1 POO ? ■ Programmation Orientée Objet ■ Design Patterns ■ 9 cours, 1 examen ■ 8 TD/TP, 1 TP noté ■ Cours : Philippe Finkel,
Développement à l'Aide de Langages Dynamiques : Smalltalk module IT308: Méthodologies et outils logiciels Nada Ayad, Damien Cassou et Annabelle Souc.
1 Après 5 séances ● Utilisation du système Linux – Il faut maîtriser l'utilisation de la souris (« copy/paste » des textes donnés) – Utilisation de la.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Portage d'une application sur GPU CreditCruncher.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
DEPARTEMENT OF ELECTRICAL AND COMPUTER ENGINEERING BUREAU D’ÉTUDE ÉLECTRONIQUE AUTOMOBILE Patrick Tounsi, Alexandre Boyer
PV de réception technique PV de fin de projet Mandat de projet Avis Biomédical Outil de gestion des projets choisi aux HUG CE QUE WORKFRONT PERMET  Gestion.
Système d’annotation et de détection de modèle de véhicule Université de Sfax *** Institut Supérieur d’Informatique et de Multimédia de Sfax Réalisé par.
Windows NT/2000/XP Enjeux et contraintes techniques
L’Electronique Back-End du Détecteur SciFi
Activité DIESEL TS1 BTS MCI 2016  STRATEGIES INJECTION
Acquisition Rapide Multivoies
Acquisition Rapide Multivoies
Acquisition Rapide Multivoies
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Description d’un circuit combinatoire en VHDL
Circuits Omegapix2 (2D et 3D)
Chapitre 01: Structure d'un module VHDL
OWL-S.
Préparer par : Intissare et kaoutare
L'approche asynchrone.
Principes de programmation (suite)
Profils d’emplois JT du 24 septembre 2001
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
Génie–logiciel 3. Modèles du cycle de vie du logiciel Azeddine Chikh
Quoi de neuf en Microélectronique au DAPNIA ?
Système flexible de Workflow pour la plate-forme Motu
Programmation système
Réalisation d’une lampe connectée pilotée par bluetooth
Août 2009.
Programmation en C++ C++ de base
VALMEM Traduction automatique d'une description comportementale VHDL + annotations temporelles en automates temporisés A. Bara, E. Encrenaz LIP6 VALMEM.
1 La gestion par activités (ABM) pour mieux gérer les coûts et les processus dans l’organisation. S o l u t i o n s `
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Plus de 4000 langages....
General Electronics for Time Projection Chambers: Asic-Adc board
Elaboré par : AmeL Bettoumi & Wafa Nechba Filière : Génie Électrique-Option: Informatique Industrielle L’ encadrant industriel : Mr Walid Chebbi Programmation.
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
SYSTèMES à évènements discrets
Transfert d’IHM de PC vers PDA
TGV Trigger Générique Vme Face avant Tri d’événements de physique
"Interprétation matérielle de temps multi-dimensionnel "
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Introduction Objectifs du cours Évaluation Références Matière du cours: - Techniques modernes.
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
Cote d’or Date : 31/05/2018.
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Moteurs de recherches Data mining Nizar Jegham.
Génie Logiciel DÉFINITION DES BESOINS. Cahier de charges: définition  Le Cahier des Charges (CDC) est un document par lequel la maîtrise d'ouvrage exprime.
1 Architecture des ordinateurs Généralités. 2 Définition Informatique = Information + Automatique Ce terme a été introduit en France. Il est très répandu.
Plan I.Définitions II.Objectifs III.Intérêt IV.Quoi tester ? V.Processus VI.Exemples VII.Conclusion VIII.Références.
Conception cartographique
© Robert Godin. Tous droits réservés.
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
Tableau de bord d’un système de recommandation
Bureau d’étude électronique automobile - Main Inverter
© Robert Godin. Tous droits réservés.
PAF Guillaume Martin - Fabrice Cizeron - Xavier Roulot
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Contenu Systèmes de test parallèles Multithreading Synchronisation
Qu’est ce qu’une page web? Comment fonctionne un site web?
UX DESIGN User exprérience en anglais Expérience Utilisateur en français Concevoir, Créer, dessiner UX DESIGN, consiste à penser et concevoir un site web.
Transcription de la présentation:

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

Evolution des TestBench (TB) 16/05/2018 Journées VLSI IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 1800-2012 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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

Universal Verification Methodology (UVM) UVM est une Méthodologie : Standardisée pour des environnements de vérification Norme IEEE 1800.2-2017 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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

Banc de test UVM typique accellera.org

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

Application à la Vérification de MIMOSIS1 16/05/2018 Journées VLSI IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 21008 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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

. . . 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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 bits @ 20 MHz 80 MHz Registers I2C Digital Periphery 20 MHz 32 bits @ 40 MHz 256 bits @ 40 MHz 128 bits @ 80 MHz N x 320 MHz (N = 1, 2, 4, 8) Pad Ring SLVS 16 bits @ 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)

Bilan du passage à des TestBench UVM 16/05/2018 Journées VLSI IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

Conception des capteurs à pixels à l’IPHC Evolution d’AoT vers DoT 2005 MIMOSI1 coll. CBM 2010-12 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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

16/05/2018 Journées VLSI IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

Back UP 16/05/2018 Journées VLSI IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr

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

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 IN2P3 2018 - Clermont Ferrand - gregory.bertolone@iphc.cnrs.fr