Conception de circuits intégrés

La conception de circuits intégrés consiste à réaliser les nombreuses étapes de développement nécessaires pour concevoir correctement et sans erreurs une puce électronique.



Catégories :

Micro-électronique - Électronique - Circuit intégré - Conception électronique

Recherche sur Google Images :


Source image : comelec.enst.fr
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • Notions d'électronique intégrée pour la conception de circuits intégrés.... fonctionnels et les règles de conception, il contient des énoncés d'exercices, ... (source : infotheque)
  • Conception de circuits intégrés numériques, analogiques et mixtes (numérique- analogique) CMOS-VLSI pour les télécommunications. Récupération d'énergie pour... (source : im2np)
  • UE du Master SIDS, elle prend la suite de l'UE " Conception de circuits intégrés analogiques 1" pour aborder les fonctions analogiques complexes :... (source : offre-de-formations.univ-lyon1)

La conception (ou le design) de circuits intégrés (ou puces électroniques) consiste à réaliser les nombreuses étapes de développement (flot de conception ou design flow) nécessaires pour concevoir correctement et sans erreurs une puce électronique.

De quoi est composé un circuit intégré ?

Les circuits intégrés complexes de type SoC (System On Chip ou Dispositif Sur Puce en français) intègrent le plus souvent :

Le flot de conception n'est absolument pas le même pour chacune de ces parties (digitales, mémoires, parties analogiques, I/O pad).

Design d'un circuit numérique

Le point de départ est une spécification fonctionnelle décrivant la fonctionnalité voulue. Quand il s'agit d'une architecture à un ou plusieurs processeurs, la conception du logiciel associé démarre le plus souvent en parallèle pour pouvoir le simuler sur l'architecture cible durant la conception.

Modélisation dispositif (System Design)

Cette étape consiste à modéliser à particulièrement haut niveau le dispositif complet (matériel et logiciel) pour valider en termes de performance l'architecture choisie comparé aux besoins de l'application.

Plusieurs langages et simulateurs associés existent aujourd'hui pour effectuer cette étape. Les plus connus sont :

Des standards sont en cours d'élaboration.

Une fois l'architecture validée, le circuit est modélisé au niveau Transfert de registres (Register Transfer Level). Cette modélisation revient à décrire l'implémentation sous forme d'éléments séquentiels (les registres ou bascules) et de combinaisons logiques entre les différentes entrées/sorties des éléments séquentiels et des entrées/sorties primaires du circuit.

Cette modélisation est codée avec un langage de programmation. Cela se fait soit en, soit en Verilog.

Le propre d'une description RTL est d'être automatiquement synthétisable en portes logiques combinatoires (portes ET, OU, multiplexeur, etc. ) et séquentiels (comme les bascules D synchrones) issues d'une bibliothèque de cellules standard (Standard Cell Library). Pour cela, le codage RTL en ou Verilog doit suivre certaines règles précises pour que le code soit dit «synthétisable». Il est particulièrement envisageable de décrire une fonctionnalité équivalente en ou Verilog qui ne soit pas synthétisable. On nomme cela une description comportementale de plus haut niveau que le niveau RTL.

Simulation logique

Le premier niveau de vérification revient à simuler le code RTL écrit en ou Verilog. Le simulateur va simuler dans le temps chaque signal d'interconnexion selon stimuli d'entrée qu'il faudra décrire (généralement dans le même langage ou Verilog). Si le circuit à simuler contient un processeur, il faudra aussi apporter le programme exécutable correspondant sous forme d'un contenu binaire de mémoire. La mémoire contenant le code programme et les données (FLASH ou SRAM par exemple) est aussi modélisée en ou Verilog, mais à un niveau d'abstraction plus élevé que le RTL (les SRAM ou FLASH n'étant pas synthétisables).

Les simulateurs les plus utilisés sont :

Vérification fonctionnelle

L'utilisation de simulateurs logiques n'est pas suffisante pour garantir qu'il n'y a pas d'erreur de conception pour les raisons suivantes :

Pour compenser cela, des solutions de vérification fonctionnelle existent essayant soi d'être plus exhaustives soit d'accélérer le temps de simulation : A titre d'exemple, il est envisageable d'utiliser :

Il est théoriquement envisageable de décrire entièrement la fonctionnalité d'un circuit digital par des assertions. L'outil peut alors vérifier de façon formelle que les deux modélisations (l'implémentation en RTL et la modélisation par assertion) sont équivalentes.

Synthèse logique

La synthèse logique est l'étape qui sert à transformer la description RTL du circuit en une description au niveau portes logiques (Gate netlist). Au préalable, une bibliothèque cible de portes logiques doit être disponible. Celle-ci rassemble le plus souvent plusieurs centaines d'éléments logiques (comme des portes ET, OU, Bascules, etc. ). Cette bibliothèque dépend de la technologie cible, c'est-à-dire du nœud technologique (par exemple 0, 18 µm ou 0, 13 µm) et du fondeur (les règles de dessin des cellules dépendent du procédé de fabrication).

L'utilisateur doit aussi apporter des contraintes de synthèse comme par exemple :

Les outils de synthèse actuels travaillent principalement sur des circuits digitaux dits «synchrones». C'est-à-dire que l'ensemble des éléments séquentiels (les bascules) sont cadencés par une seule et même horloge. À chaque front d'horloge (généralement montant), les bascules échantillonnent leurs entrées qui se retrouvent le plus souvent recopiées sur leur sortie (pour des bascules de type D). Ces sorties sont ensuite traitées par l'unité combinatoire avant d'être re-échantillonnées au coup d'horloge suivant. On dispose par conséquent d'une période d'horloge comme temps de traitement de l'unité combinatoire qui est égale à la somme des délais de traversée des portes incriminées. Peut-être, il peut y avoir plusieurs domaines d'horloge, comprenant un ensemble d'éléments séquentiels et combinatoires. À l'inverse, dans une conception asynchrone, l'horloge d'une bascule peut particulièrement bien être issue de la combinaison logique d'autres éléments séquentiels. Ces types de conception sont plus marginaux car il n'existe pas d'outil d'aide à la conception servant à s'assurer de façon exhaustive que le circuit fonctionne sans problème dans l'ensemble des conditions d'utilisation.

L'outil de synthèse d'un circuit synchrone procède le plus souvent en plusieurs étapes :

Dans cette phase de conception, l'arbre d'horloge n'est pas synthétisé : il est reconnu comme parfait. Cependant, on estime une certaine latence qui correspond au pire décalage envisageable d'arrivée de l'horloge entre deux bascules.

Le résultat de cette étape est un fichier informatique représentant l'instanciation des portes de la bibliothèque cible et leur interconnexion, représentant le circuit électronique (gate netlist). Il existe différents formats de ce type de représentation :

Les outils les plus connus sont :

Preuve d'équivalence post-synthèse

Placement et routage

C'est le processus lors duquel les différentes parties d'un circuit sont automatiquement positionnées et connectées selon le problème à résoudre. Le placement-routage est surtout employé dans le cadre des FPGA, des composants reprogrammables avec des milliers d'unités de traitement internes qui peuvent être reliées entre elles.

Le placement-routage est un problème d'optimisation complexe qui nécessite des techniques métaheuristiques comme les algorithmes génétiques ou le recuit simulé. Les temps de calcul sont par conséquent fréquemment particulièrement élevés au vu du nombre d'éléments à considérer. Il est cependant envisageable de laisser une marge de manœuvre à l'algorithme pour obtenir plus rapidement une solution acceptable mais non optimale.

Article détaillé : Placement-routage.

Preuve d'équivalence post-routage

Extraction des parasites

Simulation logique backannotées au niveau porte

Analyse des délais et d'intégrité des signaux

Une analyse statique de timings (STA) est indispensable pour s'assurer que les délais dans le design sont respectés dans les différentes conditions d'utilisations prévues. Des paramètres tels que la température de fonctionnement, le voltage, ou le processus, variabilité apparaissant lors de la fabrication elle-même, ont un effet important sur les délais. Cette analyse est faite le plus souvent dans le pire cas (Worst Case) et le meilleur cas (Best Case). L'analyse dans le pire cas sert à s'assurer qu'il n'existe pas de violations en setup sur les éléments synchrones comparé à la fréquence désirée. L'analyse dans le meilleur cas permet quant à elle de détecter s'il existe des violations en hold.

Une analyse de timings sur les interfaces est aussi importante.

L'outil Primetime (Synopsys) est un des outils de STA.

Vérifications physiques (DRC et LVS, antennes)

La phase de vérification physique (en anglais Physical verification, PV) sert à s'assurer que le dessin (layout) correspond au circuit électrique qui a été spécifié, et qu'il peut être fabriqué sans erreurs qui l'empêcheraient de fonctionner correctement. On peut distinguer :

Génération du GDSII

Vérification physique au niveau masque (DFM)

Actuellement la microélectronique est descendue dans des technologies submicroniques (largeur de poly-silicium dans un transistor inférieure à 130 nm). Cette descente dans des valeurs particulièrement petites provoque la croissance de phénomènes pouvant altérer le bon fonctionnement des puces si des règles de dessin particulièrement strictes ne sont pas respectées. Les services de layout se préoccupent de la manière dont on peut intervenir sur la réalisation des masques les défauts résiduels. Ces défauts se manifestent essentiellement lors du process et peuvent se répartir en trois groupes :

– Aléatoire : défauts liés à la qualité du substrat ainsi qu'à la propreté de la salle blanche (particules).
– Systématique : défauts de «process et lithography» (sur-gravure, sous-gravure…).
– Paramétrique : fluctuation des paramètres des systèmes et/ou des connexions.

Parmi ces défauts, seuls les défauts aléatoires ne peuvent être résolus par une optimisation des dessins du masque. Les deux autres groupes ciblent des problèmes connus et résolus et qu'il faudra de nouveau résoudre pour les technologies submicroniques pour pouvoir avoir des simulations correctes. Ces défauts ont pour point commun d'engendrer une diminution conséquente du rendement des puces et sont corrigés par les règles dites DFM/DFY (Design for Manufacturability et Design for Yield) qui sont des règles influant sur le rendement et fabricabilité des puces.

Lancement de la fabrication du silicium

Validation du silicium

Design d'un circuit analogique

Saisie d'un schéma

Simulation analogique

Layout (dessin des masques)

Extraction des parasites

Simulation analogique avec parasites

Vérifications physiques (DRC et LVS, antennes)

Le DRC pour Design Rule Check est une étape de validation qui sert à vérifier que le circuit dessiné (ou layout) peut effectivement être fabriqué. Ces règles de dessin sont définies par les capacités des machines de fabrication à créer sur silicium des motifs plus ou moins proches, plus ou moins fins, et qui autorisent un rendement de fabrication élevé. A titre d'exemple, deux fils de métal ne doivent pas être trop proches, au risque de se retrouver court-circuités lors de la fabrication.

Les procédés de fabrication des circuits intégrés peuvent produire des accumulations de charges électriques sur les circuits. Ces charges électriques peuvent être destructrices pour certains composants. On parle d'effet d'antenne. Le respect de règles de dessin identiques aux règles DRC permet d'éviter ces effets.

Le LVS pour Layout Versus Schematic, est une étape de validation qui sert à vérifier que le circuit dessiné (ou layout) correspond au schéma électrique du circuit.

Ces trois étapes de validation se font généralement au moyen de logiciels spécialisés, et paramétrés ou programmés pour détecter des mauvaises configurations, des mauvais dessins, en regard de ce que permettent les lignes de fabrication. Ces logiciels spécialisés sont apportés par des sociétés dites de CAD (Computed Assisted Design).

Génération du GDSII

Vérification physique au niveau masque (DFM)

Tapeout

Terme désignant l'envoi du GDSII en fabrication pour fabriquer les masques.

Les circuits mixtes et les SoC (System-On-Chip) ou Dispositif sur puce

Voir aussi

Recherche sur Amazone (livres) :



Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Conception_de_circuits_int%C3%A9gr%C3%A9s.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu