Thème 3 Conception et vérification d architectures de systèmes sur puce Conception et simulation Frédéric Pétrot Vérification Laurence Pierre
Conception et vérification d architectures de systèmes sur puce Frédéric Pétrot Laurence Pierre Permanents : Dominique Borrione, Nicolas Fournel, Stéphane Mancini, Katell Morin-Allory, Olivier Muller, Frédéric Rousseau, Hamed Sheibanyrad Etudiants en thèse : 13 Post-doctorants : 3 Ingénieurs : 4 Journée scientifique TIMA - 14/2/2014 2
Thème "Conception et vérification d'architectures de systèmes sur puce" Axe Conception (System Level Synthesis) Frédéric PETROT http://tima.imag.fr/sls/
Thématiques Equipe SLS Architecture Multi-many cores Réseaux sur puce Hiérarchie mémoire Reconfigurable CAO Simulation de systèmes numériques Synthèse d architecture Synthèse de systèmes Logiciel Noyau de système d exploitation Journée scientifique TIMA - 14/2/2014 4
Thématiques Equipe SLS Architecture Multi-many cores Réseaux sur puce Hiérarchie mémoire Reconfigurable CAO Simulation de systèmes numériques Synthèse d architecture Synthèse de systèmes Logiciel Noyau de système d exploitation Journée scientifique TIMA - 14/2/2014 5
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Problématique du «Memory Wall» Journée scientifique TIMA - 14/2/2014
Stratégies proposées Stratégies complémentaires de pré-chargement: En ligne adaptation dynamique Avantage : systèmes et interactions pris en compte Inconvénients : décision «locale» fonction du passé Hors-ligne compilation et optimisation Avantage : connaissance application, optimisation globale Inconvénient : caractère dynamique non pris en compte Construction d'une boîte à outils «conceptuelle» pour maîtriser la problématique de la gestion des données Journée scientifique TIMA - 14/2/2014
Optimisation accès mémoire Contexte des unités de traitement d'image (kernel) Concepteur focalisé sur applicatif, transferts de données optimisés automatiquement Journée scientifique TIMA - 14/2/2014
Optimisation accès mémoire Stratégie : insertion étape d'optimisation accès données dans flot de synthèse de haut niveau (HLS) Principes de base validés, outil prototype [DATE2012] Journée scientifique TIMA - 14/2/2014
Pré-chargement adaptatif Journée scientifique TIMA - 14/2/2014
Cache auto-paramétrable Journée scientifique TIMA - 14/2/2014
Résultats Adaptation Cache nd-ap SPT Plate-forme de prototypage Mesure de performance Journée scientifique TIMA - 14/2/2014
Bilan «Gestion des données» Bilan Collaborations : Telecom-Paristech, LETI/ DACLE, Persyval, LCIS, Politecnico Turino Outils prototypes, plates-formes d'évaluation Perspectives Autres classes d'applications Intégration dans système multi-processeurs Démonstration sur application complète Journée scientifique TIMA - 14/2/2014
Thématiques Equipe SLS Architecture Multi-many cores Réseaux sur puce Hiérarchie mémoire Reconfigurable CAO Simulation de systèmes numériques Synthèse d architecture Synthèse de systèmes Logiciel Noyau de système d exploitation Journée scientifique TIMA - 14/2/2014 22
La synthèse d architecture revisitée Les FPGA offrent un bon compromis consommation/ vitesse d exécution pour la conception d accélérateurs matériels Traitement audio & vidéo, Calculs financiers Mais leur utilisation suppose une bonne connaissance des outils (même avec des outils de synthèse d architectures) Espace de conception immense Intervention manuelle Limitée aux experts Journée scientifique TIMA - 14/2/2014 23
La synthèse d architecture revisitée Objectif : rendre accessible au plus grand nombre la réalisation d accélérateurs matériels Caractéristiques du flot de conception idéal pour des utilisateurs peu experts Produire des circuits rapides et cela rapidement à partir de description algorithmique peu bridée incluant du flot de contrôle Respecter les contraintes matérielles surface et fréquence Génération automatisée ( compilation) Journée scientifique TIMA - 14/2/2014 24
Le flot de conception souhaité Indépendant du concepteur, avec ajout de contraintes et de statistiques d exécution Flot actuel Flot souhaité Journée scientifique TIMA - 14/2/2014 25
Diriger l exploration Il existe de solutions optimales au sens de Pareto Journée scientifique TIMA - 14/2/2014 26
Diriger l exploration Il existe de solutions optimales au sens de Pareto Idem avec des contraintes Journée scientifique TIMA - 14/2/2014 27
Diriger l exploration Il existe de solutions optimales au sens de Pareto Idem avec des contraintes Mais il existe un ensemble de solutions satisfaisantes Journée scientifique TIMA - 14/2/2014 28
Diriger l exploration De la solution initiale avec un maximum de partage des opérateurs Journée scientifique TIMA - 14/2/2014 29
Diriger l exploration De la solution initiale avec un maximum de partage des opérateurs Progression itérative Transformations (ajout d opérateurs, déroulement de boucles, ) Evaluation des transformations possibles (estimateurs rapides) Journée scientifique TIMA - 14/2/2014 30
Diriger l exploration De la solution initiale avec un maximum de partage des opérateurs Progression itérative Transformations (ajout d opérateurs, déroulement de boucles, ) Evaluation des transformations possibles (estimateurs rapides) Vers une solution satisfaisante, respectant les contraintes Journée scientifique TIMA - 14/2/2014 31
Propriétés de la méthode Algorithme «glouton» Faible complexité algorithmique Convergence garantie même sous contraintes de ressources Emploi d estimations rapidité Respect strict des contraintes de ressources Possibilité d extension à d autres types de contraintes Journée scientifique TIMA - 14/2/2014 32
Modifications apportées Description d entrée (langage C) Description RTL (VHDL, ) Journée scientifique TIMA - 14/2/2014 33
Modifications apportées Détection des annotations Description d entrée (langage C) Calibration Virtex 5, Virtex 7 Génération du Circuit correspondant Description RTL (VHDL, ) Graphe hiérarchique Annotations Sélection de la meilleure transformation : - Meilleur gain en latence - Plus faible coût en ressources Ajout d opérateurs & ports Remplacement RAM & ROM Déroulement de boucles Câblage de condition Journée scientifique TIMA - 14/2/2014 34
Résultats Outil AUGH (Autonomous UGH) 8 applications de test (décodeur MJPEG, IDCT 2D, benchmark CHSTone) Cible matérielle : FPGA Xilinx xc7v585t-3 Exemple de progression pour l IDCT 2D Comparaison avec Vivado HLS Vivado HLS : 59 secondes (1 synthèse exploration manuelle) Notre outil (AUGH) : 17 secondes (47 itérations) Journée scientifique TIMA - 14/2/2014 35
Conclusion Méthode et outils AUGH Génération autonome d accélérateurs matériels Flot de synthèse d architecture de faible complexité Respect strict des contraintes de ressources Intégration possible dans un flot et dans des outils Accessible aux personnes peu expertes Logiciel open source http://tima.imag.fr/sls/research-projects/augh Perspectives Vers le «Cloud-FPGA» Journée scientifique TIMA - 14/2/2014 36
Thématiques Equipe SLS Architecture Multi-many cores Réseaux sur puce Hiérarchie mémoire Reconfigurable CAO Simulation de systèmes numériques Synthèse d architecture Synthèse de systèmes Logiciel Noyau de système d exploitation Journée scientifique TIMA - 14/2/2014 37
Simulation native de systèmes matériel/logiciel Many-cœurs : une tendance et une réalité (source ITRS 2011) Deux besoins Portage/Déploiement de code sur infrastructure ad-hoc Exploration de choix d architecture Deux problèmes Simulation rapide grand nombre processeurs Capacité estimation temporelle Journée scientifique TIMA - 14/2/2014 38
Simulation native de systèmes matériel/logiciel Problème des espaces d adressage Journée scientifique TIMA - 14/2/2014 39
Simulation native de systèmes matériel/logiciel Problème des espaces d adressage Journée scientifique TIMA - 14/2/2014 40
Simulation native de systèmes matériel/logiciel Solution (inespérée) Support matériel à la virtualisation Exécution usuelle sauf interruptions, appels systèmes, accès adresses mémoire spécifiés Possède sa propre table de pages Changement de «mode» matériel et atomique Disponible chez les principaux constructeurs: x86, Power, Sparc, Mips, ARM (Cortex A15), Journée scientifique TIMA - 14/2/2014 41
Simulation native de systèmes matériel/logiciel Virtualisation de l espace mémoire Exécution usuelle sauf interruptions, appels systèmes, accès adresses mémoire spécifiés Possède sa propre table de pages Changement de «mode» matériel et atomique Disponible chez les principaux constructeurs: x86, Power, Sparc, Mips, ARM (Cortex A15), Journée scientifique TIMA - 14/2/2014 42
Simulation native de systèmes matériel/logiciel Virtualisation de l espace mémoire Traduction connue statiquement Logiciel et modèles SystemC utilisent espace d adressage cible Accès mémoire par logiciel traduits par HW Adresses «en dur» possibles: (uint8_t *)0xA0001000 = 0xFF Implanté en KVM Totalité de l espace d adressage disponible Accès à coût zéro Journée scientifique TIMA - 14/2/2014 43
Simulation native de systèmes matériel/logiciel Résultats expérimentaux Journée scientifique TIMA - 14/2/2014 44
Conclusion Simulation native HAV Manière de procéder totalement nouvelle Démontrée sur des exemples simples Peut être cible de la traduction binaire statique En train d être étendu au multiprocesseur massif Intégration possible dans un flot et dans des outils Perspectives Amélioration des modèles temporels Introduction de modèles d énergie, de température, Industrialisation Journée scientifique TIMA - 14/2/2014 45
Conclusion SLS Recherche autour de problèmes concrets Reconnaissance du monde académique Stratégie de distribution Open Source Vers l industrialisation : Création de 2 startups en cours 2 brevets autour des NoCs Partenariats industriels Journée scientifique TIMA - 14/2/2014 46
Thème "Conception et vérification d'architectures de systèmes sur puce" Axe Vérification (Verification and modeling of Digital Systems) Laurence PIERRE http://tima.imag.fr/vds/
Vérification Vérification formelle (ou semi-formelle) Répondre à la question: le système respecte-t-il le comportement attendu? Système Spécification satisfaite? Exigences / Spécification Journée scientifique TIMA - 14/2/2014 48
Vérification Vérification Circuit formelle : description Spécification formelle + Formal Méthodes déductives (démonstrateurs de théorèmes) Techniques algorithmiques Stimuli (equivalence specification Simulator checking, model checking) Vérification semi-formelle : Spécification formelle + vérification dynamique (en cours de simulation) Simulation results (+ property violation) Journée scientifique TIMA - 14/2/2014 49
❶ Vérification de composants au niveau RTL http://tima.imag.fr/vds/horus/ Journée scientifique TIMA - 14/2/2014 50
Principe de base PSL properties Design under test Design under test Horus PSL monitors Verification infrastructure Journée scientifique TIMA - 14/2/2014 51
Principe de base PSL properties Design under test Horus Design under test Synthesis + analysis infrastructure PSL monitors FPGA prototyping and debug Embedded checkers Journée scientifique TIMA - 14/2/2014 Safety 52
Principe de base PSL properties Design under test Design under test Transfert dans les outils SMASH et SLED (Dolphin) PSL monitors Verification infrastructure Journée scientifique TIMA - 14/2/2014 53
Exemple Interface de réseau HDLC (Thales) RxDataAvail ne peut pas être à 1 entre deux trames assert ALWAYS ({not EndOfFrame ; EndOfFrame}! -> next!(not RxDataAvail until! StartOfFrame); Journée scientifique TIMA - 14/2/2014 54
Accélération d assertions PSL properties Design under test Design under test EndOfFrame! PSL monitors Journée scientifique TIMA - 14/2/2014 55
Accélération d assertions PSL properties Design under test Test generator Design under test PSL monitors Enhanced verification infrastructure Journée scientifique TIMA - 14/2/2014 56
Accélération d assertions PSL properties Design under test Apis Temporal constraints for the inputs (PSL) Journée scientifique TIMA - 14/2/2014 57
Accélération d assertions PSL properties Design under test Apis Temporal constraints for the inputs (PSL) Synthorus2 Test generator Journée scientifique TIMA - 14/2/2014 58
Accélération d assertions PSL properties Design under test Apis Temporal constraints for the inputs (PSL) Synthorus2 Test generator Design under test Journée scientifique TIMA - 14/2/2014 59
Compilation de propriétés Synthèse de circuits corrects par construction : Modèles pour des vérifications modulaires C1 à vérifier C2 Environnement réel Journée scientifique TIMA - 14/2/2014 60
Compilation de propriétés Synthèse de circuits corrects par construction : Modèles pour des vérifications modulaires Golden model issu de propriétés (Synthorus2) à vérifier C1' C2 Journée scientifique TIMA - 14/2/2014 61
Compilation de propriétés Synthèse de circuits corrects par construction : Golden models (contrôle, protocoles) Exemple : arbitre de bus AHB Journée scientifique TIMA - 14/2/2014 62
❷ Vérification des communications dans les réseaux sur puce (NoCs) http://www-tima.imag.fr/vds/nocs Journée scientifique TIMA - 14/2/2014 63
Approche Vérification de bonne conception au niveau algorithmique (NoC) Modèle généraliste dans un theorem prover (ACL2), instanciable pour chaque NoC Théorèmes : "tout message arrivé a atteint la bonne destination", "aucun message n est perdu" Vérification complémentaire au niveau implémentation (routeur) Modèles de propriétés généralistes Journée scientifique TIMA - 14/2/2014 64
Approche Journée scientifique TIMA - 14/2/2014 65
Niveau implémentation Propriétés générales - classification Journée scientifique TIMA - 14/2/2014 66
Mise en oeuvre Applications : HERMES (PUCRS, Brazil) NOSTRUM (http://www.ict.kth.se/nostrum/) Infrastructure sur FPGA : Journée scientifique TIMA - 14/2/2014 67
❸ Vérification de SoC au niveau système http://tima.imag.fr/vds/isis/ Journée scientifique TIMA - 14/2/2014 68
Vérification d assertions ESL Vérification de propriétés transactionnelles de plateformes HW/SW Journée scientifique TIMA - 14/2/2014 69
Exemple Plateforme de traitement de signal radio (Thales) I/O SW Communication channel Coprocessor Journée scientifique TIMA - 14/2/2014 70
Exemple Propriétés : Interaction DDC/DMA : si le DDC (digital down converter) a des données à transférer, le DMA initie bien le transfert mémoire Interaction DMA/SW : le DMA génère bien une interruption entre 2 demandes de transferts mémoire Pas de donnée perdue par le SW : il ne peut pas y avoir deux transferts consécutifs du DMA à la même adresse en mémoire avant une lecture du processeur à cette adresse... Journée scientifique TIMA - 14/2/2014 71
Revérification au niveau RTL Raffinement des assertions Journée scientifique TIMA - 14/2/2014 72
Vérifications sur le SW Instrumentation de code C avec des composants de vérification (SdF, sécurité) PSL properties Ex. always (send_to_hw(addr2,0x0,0x3)! -> eventually! interrupt=1) Source code Instrumented code Software monitors Journée scientifique TIMA - 14/2/2014 73
Merci de votre attention Questions? Journée scientifique TIMA - 14/2/2014 74