MODULE: SYSTEMES NUMERIQUES COMPLEXES Cours 1 MÉTHODOLOGIE DE CONCEPTION DES CIRCUITS INTÉGRÉS DIGITAUX H.Boumeridja 1
Introduction Méthodologie de conception des circuits intégrés digitaux: approche descendante ou "top-down» Flot de conception ASIC/FPGA : synthèse, placement, routage, simulation.. Techniques d implémentation des circuits intégrés digitaux 2
DÉFINITION D UN CIRCUIT INTÉGRÉ C est un microcircuit électronique implémenté sur un substrat ( Silicium) et composé principalement de deux types de composants: transistors et connexions. il est caractérisé par un processus technologique. PROCESSUS TECHNOLOGIQUE Par celui ci,on fabrique le circuit intégré. C est un ensemble de processus chimiques réalisé sur le plaque du semi-conducteur tel que oxydation, litographie,gravure,etc. Sur chaque processus chimique, on applique sur la plaque du semi-conducteur un masque déterminé sélectionnant ainsi la partie que l on désire lui appliquer le processus voulu. 3
La complexité des circuits intégrés digitaux est en augmentation: Des centaines de millions de transistors, Fréquences en gigacyles, Restrictions strictes sur la dissipation, Time to market. La nécessité d assistance d outils logiciels appropriés et de méthodes de conception systématiques. 4
TECHNOLOGIE 5
La méthode descendante est basée sur une suite de raffinements successifs partant d un cahier des charges pour aboutir à une description détaillée de la réalisation. Le cahier des charges définit le "quoi", c est-à-dire les fonctions à réaliser et les conditions dans lesquelles ces fonctions devront s exécuter. La méthode descendante est bien adaptée à la réalisation de circuits dont la structure peut être optimisée de manière très flexible à partir d un ensemble de cellules standard (standard cells) ou de matrices de portes (gate arrays). 6
NIVEAUX DE DESCRIPTION: NIVEAU ARCHITECTURAL NIVEAU TRANSFERT DE REGISTRES RTL NIVEAU LOGIQUE NIVEAU GÉOMÉTRIQUE 7
NIVEAU ARCHITECTURAL ENTRÉE: SPÉCIFICATIONS DU SYSTÈME DIGITAL QUE L ON VA CONCEVOIR. CONCEPTION ARCHITECTURALE: REPRÉSENTATION STRUCTURELLE AUX NIVEAUX BLOCS FONCTIONNELS DESCRIPTION DU COMPORTEMENT IDENTIFIANT L OPÉRATION DE CHACUN DES BLOCS DE LA REPRÉSENTATION STRUCUTRELLE. 8
NIVEAU TRANSFERT DE REGISTRES (RTL) ENTRÉE: CONCEPTION ARCHITECTURALE. CONCEPTION TRANSFERT DE REGISTRES : REPRÉSENTATION STRUCTURELLE DE CHAQUE SOUS SYTÈME AU NIVEAU COMPOSANTS. DESCRIPTION DU COMPORTEMENT IDENTIFIANT LE TRANSFERT DES DONNÉES ENTRE LES REGISTRES QUI PERMETTENT LA RÉALISATION DES OPÉRATIONS DU SYSTÈME À CONCEVOIR. 9
NIVEAU LOGIQUE ENTRÉE: CONCEPTION RTL. CONCEPTION LOGIQUE : CIRCUIT DIGITAL CONSTRUIT AVEC DES PORTES LOGIQUES ET BASCULES. OPÉRATION AU NIVEAU BITS. DESCRIPTION DU COMPORTEMENT AU NIVEAU DE TABLEAU D ÉTAT ( ÉLEMENTS SÉQUENTIELS ) OU TABLEAU DE VÉRITÉ ( ÉLEMENTS COMBINATOIRES ) 10
ENTRÉE: CONCEPTION AU NIVEAU PORTES LOGIQUES CONCEPTION GÉOMÉTRIQUE: NIVEAU GÉOMÉTRIQUE OBTENTION DU LAYOUT : Dessin de masque du système à concevoir dans un processus technologique donné. Le layout final dépend de la technique d implémentation utilisée pour la fabrication du circuit intégré ETAPES DE BASE POUR RÉALISER LE LAYOUT: Réalisation des cellules des composants logiques, Placement de ces cellules (PLACEMENT), Connexion des cellules (ROUTING). 11
Les systèmes à concevoir devenant de plus en plus complexes, les types de descriptions deviennent de plus en plus variés : SCHÉMAS. VHDL STRUCTUREL, FONCTIONNEL. ABEL (MACHINES À ÉTATS), VERILOG. CODE C / C++? Plus les systèmes deviennent complexes à concevoir, plus les étapes de vérification sont nécessaires : SIMULATION FONCTIONNELLE, ANALYSE DES TIMINGS (CHEMINS CRITIQUES), SIMULATION POST-ROUTAGE (TEMPORELLE),... Avec l'augmentation de la densité des circuits, les notions de placement géométrique deviennent indispensables : FLOORPLANNING 12
13
1- Description du système Schémas (hiérarchie), Code VHDL (Verilog, ABEL) 2- Compilation du code VHDL Synthèse si code fonctionnel 5- Compilation du circuit : Conversion du netlist, Optimisation combinatoire, Placement / routage des cellules Retro-annotation temporelle 3- Simulation fonctionnelle Vérification de la description 6- Vérification finale : Simulation temporelle, Configuration / validation 4- Placement relatif et estimation du routage : Floorplanning (plan de masse) et gestion des contraintes d'e/s 14
Toutes performances demandées par l utilisateur Les spécifications sont des descriptions de la puce. Elles peuvent venir d un client, d un groupe de marketing ou d autres personnes. Elles peuvent être écrites, dessinées, etc. 15
Décrire un circuit à l aide d un HDL (Hardware Desription Language) tel que VHDL et Verilog. Description selon différents niveaux d abstraction : Comportementale (validation des spécifications); RTL (Register Transfer Level); Portes logiques. 16
La synthèse est l étape qui transforme la description HDL d une puce en portes logiques. Elle est guidée par des contraintes imposées par l utilisateur (vitesse et superficie). L ensemble de la description est synthétisée: Le système reprend les descriptions du concepteur et génère une description VHDL du circuit (niveau structurel) utilisant les primitives du FPGA-cible et produit des rapports/diagnostic: performance temporelles occupation du FPGA. Ex: XST (XILINX) et design Compiler (Synopsys) 17
La simulation logique est une technique de simulation rapide basée sur l évaluation de fonctions logiques et la propagation d événements dans le modèle. La simulation du système est faite pour vérifier la validité du code. Faite à plusieurs moments (entre autres): avant-synthèse après-synthèse après placement-routage Ex: VSS (Synopsys) et ModelSim (Mentor Graphics). 18
Divise et place les gros blocs de la puce Forme des rangées pour placer les cellules Laisse un espace pour le routage décide de la position et de la distribution de l horloge Ajuste l espace, la forme, la densité etc. 19
Place les cellules en accord avec le floorplan. Crée des lignes d alimentation de puissance. Crée des lignes de distribution d horloge. Minimise les délais critiques entre modules Connecte les cellules entre elles. 20
Assigne les interconnexions aux canaux de routage sans effectuer les connexions physiques (global routing), Réalise toutes les interconnexions (detailed routing). 21
la simulation considère les portes logiques comme des boîtes noires caractérisées par leurs délais; on obtient la performance temporelle approximative du circuit. 22
AVANT DE PROCÉDER À L IMPLÉMENTATION, ON PEUT GÉNÉRER UN FICHIER DE RESTRICTIONS ( L UTILISATEUR) DANS LE BUT EST DE FIXER DES RESTRICTIONS DANS LE PROCESSUS DE L IMPLÉMENTATION DU DESIGN. AVEC CES RESTRICTIONS, ON PEUT AFFECTER DES SIGNAUX CORRESPONDANT AUX PORTS DE L ENTITÉ DE LA HIÉRARCHIE LA PLUS SUPÉRIEURE. LE FICHIER DE RESTRICTIONS DE L UTILISATEUR (USER CONSTRAINS FILE- UCF) PEUT ÊTRE CRÉER AVEC LES PROGRAMMES ASSOCIÉS À L ITEM USER CONSTRAINTS SITUÉ AU DESSUS DE L OUTIL DE SYNTHÈSE. L OUTIL XILINX CONSTRAINS EDITOR PERMET D ÉDITER DE FORME GRAPHIQUE LES RESTRICTIONS SPATIALES ( PLACEMENT DES PINS PHYSIQUES AUX PORTS DE L ENTITÉ) OU TEMPORELLES (RETARDS MAXIMALS, FRÉQUENCES MAXIMALES D HORLOGE,ETC) 23
Une fois l implémentation validée par les différentes simulations, ce module permet de configurer le circuit FPGA en injectant par le biais d un programmateur un fichier binaire à l intérieur du circuit. XC4000 XC4000 XC4000 24
Vérifier si le circuit obtenu respecte les contraintes temporelles. Utilise les délais des portes et les délais dans les interconnexions pour calculer la vitesse maximale. 25
L étape de vérification d un circuit prend environ 70% à 80% du temps de conception. La phase de vérification fonctionnelle est un processus qui permet de vérifier que la description synthétisable respecte les spécifications. Le but primordial est de prouver que le module va fonctionner dans l environnement dans lequel il sera intégré. Vérification fonctionnelle & temporelle 26
But: Aider au développement de CI numériques en permettant la description du fonctionnement et de l'architecture du circuit. Les outils de développement permettent de simuler le fonctionnement attendu. Mise en œuvre: Synthétiser cette description matérielle pour obtenir un composant réalisant les fonctions décrites, à l'aide d éléments logiques concrets. Implémentation: Sur ASICs «full-custom» (au niveau du transistor); Sur ASIC «standard-cell» (au niveau de l élément logique); Sur FPGA en utilisant les blocs configurables. 27
L approche est différente selon l utilisation: Spécification > Simulateur Vérification > Simulateur Description > Outil de synthèse et simulateur. 28
CLASSIFICATION DES CIRCUITS NUMÉRIQUES DIGITAUX 29
FULL-CUSTOM SEMI-CUSTOM CELLULES STANDARD MATRICES DE PORTES CIRCUITS LOGIQUES PROGRAMMABLES 30
CES CIRCUITS NÉCESSITENT L INTERVENTION D UN FONDEUR QUI PRODUIRA LE CIRCUIT DEMANDÉ À PARTIR DES MASQUES FOURNIS PAR LE CLIENT. LES CONNEXIONS ENTRE ÉLÉMENTS SONT DESSINÉES SUR LES MASQUES. 31
CE TYPE DE CIRCUITS SE CONÇOIVENT DANS UNE FONDRIE, CAR CELA PERMET UN MEILLEUR PROFIT DU SILICIUM DANS L IMPLÉMENTATION DU CIRCUIT. Niveau portes logiques Vérification DESIGN SUR MESURE: Construction schématique au niveau transistor. Réalisation du layout. Niveau transistors Vérification Niveau géométrique Vérification 32
RÉALISATION D UN MULTIPLEXEUR 2:1 SIMULATION LAYOUT 33
Recherche d une solution optimale en terme de densité et de performance, obtenue par une conception spécifique aux niveaux physiques (électrique et topologique - layout ). Approche de conception couteuse réservée à des ingénieurs expérimentés travaillant à partir des données du fondeur (règles de dessin et modèles des transistors). Justification : grandes séries, applications stratégiques ou domaines spécifiques (ex : analogique). Fabrication de l ensemble des masques et des plaquettes. Evolution : DU CIRCUIT sur mesure VERS LA CELLULE sur mesure. 34
AVANTAGES: Circuits intégrés de grandes prestations. INCONVENIÉNTS: Temps de design trop élevé. 35
Caractéristiques du design avec les cellules standards: Le fabricant met à la disposition du concepteur une bibliothèque de cellules de dessin de masque des dispositifs logiques. Existent des outils de génération automatique de dessin de masque ou layout. Processus de génération du layout: il est généré à partir du design niveau portes logiques et avec les cellules de layout des composants de ce design. Deux tâches se réalisent: Placement des cellules Connexion entre les cellules Les tâches de placement et routage se font de manière automatisée. 36
TYPES DE CELLULES STANDARDS: Blocs logiques de base: Portes et Bascules. Sous systèmes combinatoires: Multiplexeurs, décodeurs, etc. Sous systèmes séquentiels: Registres, compteurs,etc. Macrocellules: RAMs,FIFOs, ROMs,etc. HAUTEUR STANDARD 37
AVANTAGES: Élimine la nécessité du design au niveau transistor. Réduit fortement le temps total du design. INCONVÉNIENTS: Augmentation de la surface totale qu occupe le circuit à réaliser. 38
CARACTÉRISITQUES DE BASE DE LA CONCEPTION DES MATRICES DE PORTES: Les plaques de silicium sont préfabriquées. Interconnexion entre transistors: Couches de métallisation. On dispose de bibliothèques de dispositifs logiques. CARACTÉRISTIQUES DE BASE DU DESSIN DE MASQUE DE MATRICES DE PORTES: Processus CMOS: plaques sans métallisation: les fils de transistors PMOS et NMOS. Plaque métallisée: avec plusieurs niveaux d interconnexion. 39
AVANTAGES: Les plaques sont préfabriquées. Le temps de fabrication est réduit. Les plaques préfabriquées sont servies pour différentes conceptions: les coûts sont réduits. INCONVÉNIENTS: Les performances se perdent : surface, vitesse... 40
les FPGAS sont des circuits d application spécifique de grande densité programmables par l utilisateur en un temps réduit et sans la nécessité de vérifier ses composants, tâche déjà réalisée par le fabriquant. 41
Caractéristiques de base d une conception par les dispositifs logiques programmables: Circuit intégré fabriqué, préparé pour être programmé. Son layout final est traduit par un fichier de configuration du dispositif. Choix du FPGA comme dispositif programmable: Grande densité d intégration par rapport à d autres dispositifs programmables. 42
CARACTÉRISTIQUES DE LA PROGRAMMATION DE L FPGA: Le programme est un fichier mémorisant une chaine de bits. Cette chaîne de bits est enregistrée dans une RAM interne de l FPGA qui configure la matrice de connexion des dispositifs logiques. CARACTÉRISTIQUES D OPÉRATION La fonctionalité de l FPGA est déterminée par la conception réalisée et implémentée par le fichier de configuration adéquat. La vérification du circuit conçu peut se faire sur le chip. STRUCTURE INTERNE DE L FPGA: NIVEAU LOGIQUE 43
PROCESSUS DE GÉNÉRATION DU FICHIER DE CONFIGURATION: Distribution du circuit réalisé dans les CLBs Programmation de la matrice de commutation: établir les canaux de connexion. Tâches automatisées par le software mis par le fabricant des FPGAs. 44
AVANTAGES: Le temps de fabrication est supprimé. INCONVÉNIENTS: Les caractéristiques fonctionnelles dépendent du chip de l FPGA choisi. 45
LES CRITÈRES DE CHOIX DÉPENDENT DE : PARAMÈTRES TECHNIQUES (vitesse, puissance, ), PARAMÈTRES ÉCONOMIQUES (surface, délais pour la conception et la fabrication, moyens et coûts de conception des prototypes, des pièces de série, volumes de pièces prévus sur la durée de vie du produit ). LE POINT D ÉQUILIBRE ENTRE TOUS CES PARAMÈTRES POUVANT ÉVOLUER DANS LE TEMPS, LE CHOIX D UNE SOLUTION POUR INTÉGRER UN SYSTÈME PEUT VARIER PENDANT LA DURÉE DE VIE DU PRODUIT. 46
ANNEXE 47
LE CONCEPTEUR NE TRAVAILLE PAS AVEC LES PORTES LOGIQUES MAIS AU NIVEAU TECHNOLOGIQUE CÀD IL CONSTRUIT SES PROPRES CELLULES EN LES CARACTÉRISANT ÉLECTRIQUEMENT. LES OUTILS UTILISÉS SONT: EDITEURS DE MASQUES OU LAYOUT, SIMULATEURS TYPE (SPICE), VÉRIFICATEURS DE RÈGLES DE DESIGN,ETC. C EST UN PROCESSUS PEU PRODUCTIF, REQUIERT BEAUCOUP D EXPÉRIENCE. DIFFICILE ET COÛTEUX DE VÉRIFIER LE CIRCUIT CONÇU. LA PROBLÉMATIQUE D ADAPTER LE CIRCUIT LORS DES CHANGEMENTS TECHNOLOGIQUES. UN ÉTROIT CONTACT AVEC LE FABRIQUANT DU C.I. 48
DESIGN SEMI-CUSTOM (CELLULES STANDARD OU STANDARD CELLS). EXISTENT BEAUCOUP DE CELLULES EN FORME DE BIBLIOTHÈQUES SUPPORTÉES PAR DES OUTILS CAPABLES DE LES SYNTHÉTISER, LES GÉNÉRER, LES SIMULER ET LES VÉRIFIER (TESTS): CELLULES STANDARDS (LOGIQUE). MACROCELLULES OU MACROS: RAM, ROM, MULTIPLIEURS,ETC. BLOCS FONCTIONNELS: CPU RISC, MICROCONTROLLEURS,ETC. CELLULES ANALOGIQUES: AO, A/D, D/A, ETC. TOUT IMPLIQUE UNE UTILISATION PLUS COMMODE ET DES DESIGNS PLUS ÉCONOMIQUES => MEILLEURE PRODUCTIVITÉ =>DIMINUER LES COÛTS. EN SEMI-CUSTOM, LE CONCEPTUER MANIPULE LES SYMBOLES. EN FULL-CUSTOM, LE CONCEPTEUR DOIT OBTENIR LE LAYOUT. ENTRÉES SORTIES 49
G Eng_2 S L W D W L Eng_1 Eng_1 Dim_2 Dim_1 Esp_2 Esp_1 Dim_3 Dep_2 Dep_1 50
51