CONCEPTION ET TEST DE CIs Chapitre 2. FLOT DE CONCEPTION D’UN INTEGRE CIRCUIT 2
CONCEPTION ET TEST DE CIs Chapitre 2. FLOT DE CONCEPTION D’UN INTEGRE CIRCUIT 2.1 Introduction 2.2 2.3 2.4 2.5 Synthèse Synthèse Synthèse Synthèse système ou “Co-Design” architecturale logique physique Prof. Ismail ERRACHID Génie Electrique 3 - 2021/2022 -Semestre 1 2. FLOT DE CONCEPTION - Introduction “Top-Down Methodology” (flot classique) Fonction Description Comportementale Description RTL Design Niveau Porte Transistor Layout 2. FLOT DE CONCEPTION - Introduction Exemple de description comportementale Une description comportementale définit la fonction du circuit sans sans partitionner explicitement ce dernier en plusieurs blocs et définir les connexions entre éléments. ... architecture behavioral of counter is ... if clk’event and clk=‘1’ then res <= s2; s2 <= s1; s1 <= a + b; end if ... if reset =‘0’ then in_state <= ‘‘00’’; case in_state is when ‘‘00’’ => in_state <= ‘‘01’’; when ‘‘01’’ => in_state <= ‘‘10’’; ... 2. FLOT DE CONCEPTION - Introduction Exemple de description au niveau RTL ➘ Decrit l’architecture du circuit sous forme de blocs logiques ➘ Chaque bloc est représenté par son code VHDL ou Verilog ➘ Des milliers de lignes de code pour un circuit complet 2. FLOT DE CONCEPTION - Introduction Exemple de description au niveau porte Réseau d’opérateurs booléens et d’éléments mémoire : D C0 SI C1 Clk D Q CLK 2. FLOT DE CONCEPTION - Introduction Exemple de description au niveau transistor Chaque porte est remplacée par son réseau de transistors A C B A B 2. FLOT DE CONCEPTION - Introduction Exemple de description au niveau layout Chaque porte a été placée et routée dans le circuit. Elle est remplacée par son layout (dessin des masques) 2. FLOT DE CONCEPTION - Introduction Vérification du design ➘ A chaque niveau (comport., RTL, porte) le circuit ➼Réalise-t-il la bonne fonction ? ➼Fonctionne-t-il à la bonne vitesse ? ➘ Deux types de vérification : ➼Dynamique : - simulation à l’aide d’un prototype logiciel du circuit doit être vérifié: - simulation (à l’aide de circuits programmables par exemple) ➼Statique : - Niveau fonctionnel : Prouver la bonne fonctionalité du circuit - Niveau temporel : calculer la vitesse du circuit (timing analysis) 2. FLOT DE CONCEPTION - Introduction Vérification du design : la simulation La simulation permet de vérifier la conception : on modélise ➘ le problème, on simule, on ne réalise pas de prototype, simuler ≠tester. La simulation peut être très longue Le circuit complet peut être simulé uniquement aux niveaux de description les plus élevés (simulateurs Verilog/VHDL). Les sous-composants (blocs) sont simulés au niveau porte ou au niveau transistor ➘ ➘ ➘ 2. FLOT DE CONCEPTION - Introduction Vérification du design : l’émulation ➘ Pour les systèmes complexes actuels : ➼Emulation : réaliser le circuit sur des FPGAs ➼Prototypage : la même chose sur un seul FPGA à haute performance Il faut plus d’ingénieurs pour faire la vérification que d’ingénieurs de conception 2. FLOT DE CONCEPTION - Introduction En résumé ... Codesign Vérification Synthèse architecturale Vérification Synthèse Logique Vérification Synthèse physique Non respect des contraintes layout TEST Niveau physique Niveau logique Niveau RTL Niveau comportemental Niveau système 2. FLOT DE CONCEPTION - SYNTHESE SYNTHESE Génération, traitement et optimisation de descriptions intermédiaires à différents niveaux d ’abstraction. ➼Synthèse ➼Synthèse ➼Synthèse ➼Synthèse Système (ou Co-Design) Architecturale Logique Physique 2. FLOT DE CONCEPTION - Co-Design Co-design Niveau Système HW-SW Niveau Comport. Application : systèmes très complexes nécessitant un grand nombre d’opérations de natures différentes 2. FLOT DE CONCEPTION - Co-Design Mat éri el Logi ci el . . . Design FPG A FPG A ASI C DSP ASI C ASI C ASI C m em or y m em or y Anal og Descr i pt i on RTL Code C Descr i pt i on compor t ementae Co- Synt hese Part i t i onnement Speci f i cat i on du syst ème 2. FLOT DE CONCEPTION - Co-Design Critères de Partitionnement ? Spécification Architecture système système f RUN EVAL g out Algorithme ? avec le logiciel ➘ MATERIEL + performances + traitement des données + … – surface – communication et synchronisation ➘ LOGICIEL + Flexibilité, + facilité d’évolution (portabilité) + fonctions spécialisées disponibles – performances (vitesse,...) VHDL, Verilog C 2. FLOT DE CONCEPTION - Synthèse architecturale Synthèse Architecturale Niveau Comportemental Niveau RTL Description comportementale Style d’Architecture Ressources selectionés Design constraints DFG Description structurelle Netlist generator Allocation Ordonnancement Compilateur 2. FLOT DE CONCEPTION - Synthèse architecturale Allocation / Assignation ➘ définition : L'allocation des ressources matérielles consiste à : – déterminer un ensemble de ressources matérielles nécessaires à l'implantation des opérations et des variables (allocation) faire correspondre les opérations à des opérateurs, et les variables à des modules de mémorisation (assignation). – ➘ objectif – Minimiser le nombre de ressources matérielles et les Connexions (surface). ➘ contraintes – Temporelles (nombre maximum d’étapes de contrôle) 2. FLOT DE CONCEPTION - Synthèse architecturale Ordonnancement Définitions ➘ – l'ordonnancement répartit l’ensemble des opérations dans les étapes de contrôle en vérifiant un ensemble de contraintes (gestion du parallélisme) l’enchaînement de ces étapes constitue le graphe d’états du contrôleur – Objectif ➘ – Minimiser la latence (le nombre d’étapes de contrôle) Contraintes ➘ – – dépendance de données matérielles 2. FLOT DE CONCEPTION - Synthèse architecturale * + * x1 * < * u1 Pour le calcul de u1 : 1 multiplieur et 1 alu => 7 étapes de contrôle 2 multiplieurs et 2 alu => 4 étapes de contrôle * * - - Ordonnancement : Quand ? 5 étapes de contrôle u Assignation : Où ? x * dx dans Mult1 … dx 3 u Allocation : Combien ? 5 multiplieurs 4 Alus 12 registres x u dx x dx y y + y1 dx a c Représentation : DFG While (x<a) do x1 := x + dx; u1 := u - (3*x*u*dx) - (3*y*dx); y1 := y + (u*dx); x := x1; u := u1; y := y1; endwhile Comportement Reg Reg Additionneur Reg Reg Additionneur Implantation (structure) EXEMPLE Optimisation: 2. FLOT DE CONCEPTION - Synthèse logique Synthèse Logique Niveau RTL (structurel) Niveau Porte ➘ Synthèse Logique : 2 étapes ➼Optimisation des équations logiques ➼Assignation Technologique (Technology Mapping) vers une cible (par exemple, une bibliothèque de cellules pré- Caractérisés) • Objectif : minimiser une fonction de coût et liée à la technologie partir de la (surface, vitesse, puissance) calculée à pré-caractérisation des cellules. 2. FLOT DE CONCEPTION - Synthèse logique Optimisation logique Ensemble d’équations booléennes minimisées Ensemble d’équations booléennes représentant la fonction du module à implanter 2. FLOT DE CONCEPTION - Synthèse logique Décomposition technologique (Technologie Mapping) booléennes minimisées Ensemble d’équations Réseau de cellules et de portes (chemin critique et surface optimisés) Bibliothèque d’éléments prédéfinis 2. FLOT DE CONCEPTION - Synthèse logique Exemple 1 a d F b c Fonction : F = a’ d’ + a’ b c Bibliothèque complète: AND, NAND, OR, NOR, NOT, ... 2. FLOT DE CONCEPTION - Synthèse logique Exemple 2 Bibliothèque incomplète : décomposition en NAND2 et NOT Soit F = a’d ’+ a’bc = a’.(d ’+ bc) = a’.(d.(bc)’)’ F = ( NAND2 ( NOT (a), NAND2(d,NAND2(b,c)))) F F t t z y z x d a x d b a c bc y 2. FLOT DE CONCEPTION - Synthèse physique Synthèse Physique Niveau Porte Niveau layout ➘ Synthèse Physique : 3 étapes niveau porte ⇒niveau ➼synthèses ➼synthèses ➼placement électrique : transistor topologique : niveau transistor ⇒niveau layout / routage : assemblage optimisé des cellules (niveau layout) ⇒layout complet du circuit 2. FLOT DE CONCEPTION - Synthèse physique Synthèse électrique vcc vcc a a b a a c a a d output a a c output f output a a c a c g b d b d f schéma logique gnd gnd optimisation électrique (16 transistors) schéma électrique (28 transistors) h g e e h c e f c c e g h a a a e b b c d c e f c e g h f d c e g h 2. FLOT DE CONCEPTION - Synthèse physique Simulation électrique : SPICE Modélisation des composants Entrée : netlist SPICE + Stimuli Sortie : Analyse numérique ➼Régime continu (caract. de transfert) ➼domaine fréquentiel (Bode) ➼domaine temporel polysilicium diffusion métal 2 métal 1 2. FLOT DE CONCEPTION - Synthèse physique Synthèse topologique Plusieurs styles d’implantation D vcc vcc b c Vcc Gnd sortie e a d b c sortie a e gnd gnd contact E A B C 2. FLOT DE CONCEPTION - Synthèse physique Synthèse topologique DESSIN SYMBOLIQUE DESSIN DES MASQUES (LAYOUT) t r ansi st or l i ai son connect eur s cont act envel oppe 2. FLOT DE CONCEPTION - Synthèse physiaue Placement / Routage ET INTERCONNEXIONS LISTE DES CHEMINS ROUTAGE GLOBAL ROUTAGE LOCAL PLACEMENT LISTE DES CELLULES UTILISEES LISTE DES CHEMIN CRITIQUES REPRESENTATION PHYSIQUE DES CELLULES 2. FLOT DE CONCEPTION - Synthèse physiaue Placement / Routage ➘ contraintes – – contraintes topologiques : nombres de bandes contraintes électriques : chemins critiques (pour pré-caractérisés) ➘ Objectifs – – – – routage à 100% temps de calcul performances électriques interactivité uploads/Ingenierie_Lourd/ layout-avance-chapitre2-2.pdf
Documents similaires










-
32
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 25, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 2.4234MB