Université Abdelmalek Essaâdi, L’école Nationale des Sciences Appliquées (ENSA) de Tétouan Filière : Génie mécatronique (Electronique II) TP (Matière: Electronique des circuits intégrés analogique et numérique) Logiciel SILVACO ATLAS Préparée par: Mohamed BAYJJA Encadré par les professeurs: Mohamed AGHOUTANE, Alia ZAKRITI et Mohamed BOUSSUIS Année universitaire : 2015/2016 1 I. INTRODUCTION SILVACO (Silicon Valley Corporation) est un environnement de logiciels qui permet de concevoir et prévoir les performances des dispositifs à semiconducteurs. Cet outil sert à la modélisation physique des dispositifs à semiconducteurs avant leur fabrication, dans le but d’économiser le temps et le coût de développement. SILVACO inclut de nouveaux modèles physiques qui emploient des méthodes et des algorithmes numériques efficaces et de nouvelles techniques de maillage, permettant ainsi d’obtenir des résultats de simulation très proches de ceux donnés par la pratique. L’avantage majeur de ce type de simulateur est qu’il donne la possibilité de visualiser des phénomènes physiques difficilement accessibles[9]. Le logiciel de simulation Silvaco ATLAS est un simulateur de modélisation bidimensionnelle et tridimensionnelle de composants capable de prédire les caractéristiques électrique de la plupart des composants semiconducteurs. En plus du comportement électrique "externe", il fournit des informations sur la distribution interne des variables telles que les lignes de courant, le champ électrique ou le potentiel. Ceci est réalisé en résolvant numériquement l’équation de Poisson et les équations de continuité des électrons et des trous en un nombre fini de points formant le maillage de la structure défini par le programme. II. Bases physiques du principe de fonctionnement du simulateur TCADSILVACO De façon très bref, nous pouvons dire que ce simulateur de dispositifs électronique est basé sur la résolution simultanée de l’équation de Poisson et de l’équation de continuité. Il calcule à chaque instant et en tout point de l’espace en une suite d’éléments finis, la concentration des électrons et des trous et la valeur du potentiel électrostatique. L’équation de Poisson montre une relation entre le potentiel et la densité des porteurs [12]: Où ε est la constante diélectrique, V le potentiel, ΔV le Laplacien du potentiel, q est la charge élémentaire d’électrons, et sont les concentrations des dopants donneurs et accepteurs ionisées, n et p sont les densités des porteurs. L’évolution temporelle des densités de porteurs obéit aux équations de continuité pour les électrons et les trous: ⃗⃗⃗ ⃗⃗⃗ Où G et U sont respectivement les taux de génération et de recombinaison des porteurs, jn et jp sont les densités de courant des électrons et des trous respectivement. Les dérivations basées sur la théorie de transport de Boltzmann ont prouvé que la densité des courants dans les équations de continuité peut être définie par le modèle d’entrainement-diffusion. 2 Les densités de courants sont exprimées en deux termes. Le premier correspond à l’entrainement des charges par le champ électrique, le second correspond à la diffusion des porteurs. ⃗⃗⃗ ⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗ ⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗ ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ Où Dn, et Dp sont les coefficients de diffusion. Ils sont directement reliés aux mobilités des porteurs par la relation d’Einstein: Les modèles physiques dans les semi-conducteurs ont été modélisés sous la forme d’expressions mathématiques reliant le potentiel électrostatique et la densité des porteurs. La modélisation physique est réalisée en tenant compte de la probabilité d’occupation des niveaux d’énergie, de la mobilité des porteurs et des différents types de recombinaison-générations. Plusieurs modèles ont été développés pour les semi-conducteurs en fonction du choix de la technologie (bipolaire, CMOS,…), de la concentration des dopants, des dimensions et de la température de fonctionnement. Ces grandeurs doivent être choisies d’une manière judicieuse pour se rapprocher du comportement physique réel du dispositif. III. Présentation du logiciel TCAD-SILVACO Sous SILVACO l’ensemble des outils de simulation et des outils interactifs permettant la conception et l’analyse de la plupart des dispositifs semiconducteurs s’appelle VWF (Virtual Wafer Fabrication). Les composants de base de VWF sont [15] : Les outils de simulation (VWF core tools) : ces outils simulent soit leurs processus de fabrication, soit leurs comportements électriques. Les outils de simulation sont Athena, Atlas et SSuprem3. Les outils interactifs (VWF interactive tools) : ces outils sont désignés pour être utilisés en mode interactif dans la construction d’un seul fichier d’entrée. 3 Figure [II.1] : Organigramme de la structure VWF 1. Les outils interactifs DECKBUILD DECKBUILD est l’environnement où est défini le programme de simulation à travers des commandes spécifiques. De multiples simulateurs considérés comme des entrées peuvent être utilisés avec le DECKBUILD : ATHENA, ATLAS, SSUPREM3, sachant que chaque outil de simulation possède son propre langage de programmation. Figure [II.2] : Environnement Deckbuild 4 DevEdit C’est l’outil d’édition de structure, avec lequel on peut créer des nouvelles structures ou même modifier des structures existantes, on peut définir des maillages ou raffiner les maillages existants. TONYPLOT TONYPLOT est l’environnement d’outils graphiques où sont visualisés les résultats des simulations, il peut être invoqué par tous les autres outils de Silvaco. Il donne des possibilités complètes pour la visualisation et l’analyse des caractéristiques de sortie (structure du composant électronique, profil de dopage, et caractéristiques électriques). Selon le programme de simulation, TONYPLOT peut donner des caractéristiques de sortie à une dimension (1D), deux dimensions (2D), ou trois dimensions (3D). Dans le cadre de notre travail, nous présenterons les résultats de la simulation à deux dimensions. Figure [II.3] : L’environnement Tonyplot.. 2. Les outils de simulation Module ATHENA Le logiciel de simulation ATHENA de TCAD-SILVACO fournit des possibilités générales pour la simulation des processus utilisés dans l’industrie des semi-conducteurs : diffusion, oxydation, implantation ionique, gravure, lithographie, procédés de dépôt. Il permet des simulations rapides et précises de toutes les étapes de fabrication utilisées dans l’électronique et dans les composants de puissance. Le programme de simulation (défini comme entrée) des différentes étapes technologiques et les phénomènes physiques, s’établit avec le module DECKBUILD de TCADSILVACO, puis la visualisation de la structure de sortie s’effectue avec le module TONYPLOT. Module ATLAS Le logiciel de simulation ATLAS est un simulateur de modélisation bidimensionnelle de composants, capable de prédire les caractéristiques électriques des semi-conducteurs. En plus du comportement électrique "externe", il fournit des informations sur la distribution interne de variables telles que les lignes de courant, le champ électrique ou le potentiel. Ceci est réalisé en résolvant numériquement l’équation de Poisson et les équations de continuité des électrons et des trous en un nombre fini de points formant le maillage de la structure défini par le programme. 5 SSuprem3 Simulateur de procède 1D avec prolongements simples de simulations des dispositifs. IV. Entrées et sorties ATLAS Le simulateur ATLAS tel qu’il est schématisé sur la figure [II.4], présente des fichiers d’entrées et de sortie caractérisés par [7] : Deux fichiers d’entrées dont l’un est de type texte contenant les commandes à exécuter par ATLAS (environnement DECKBUILD utilisé), l’autre est un fichier structure définissant l’empilement à simuler. Notons que DECKBUILD est un environnement d’exécution graphique. Trois types de fichiers de sortie sont fournis par le simulateur: un fichier runtime qui a pour but d’afficher les messages d’erreurs et d’avertissement pendant l’étape de la simulation. un fichier log destiné à stocker les valeurs de courants et de tensions calculés. un fichier solution stockant les données 2D même 3D correspondant aux valeurs des variables spécifiques à la structure du composant sous une polarisation bien déterminée. Figure [II.4] : Entrées et sorties ATLAS [7] V. Etapes de programmation Après la présentation de la chaine progicielle TCAD de SILVACO, sa composition interne et le fonctionnement d’Atlas, nous allons maintenant présenter l’ordre des commandes propres à 6 la logique de programmation d’Atlas. Ainsi il existe cinq groupes de commandes, qui doivent être organisés correctement. Si l’ordre n’est pas respecté, un message d’erreur apparait et le programme ne s’exécute pas d’une façon correcte [7]. 1- Spécification de la structure Maillage (mot clé : MESH) Région (REGION) Electrode (ELECTRODE) Dopage (DOPING) 2- Spécification des matériaux et des modèles Matériaux (MATERIEL) Modèles (MODELS) Contact (CONTACT) Interface (INTERFACE) 3- Sélection des méthodes numériques (METHOD) 4- Sélection des paramètres à extraire Log Solve Load Save 5- Analyse des résultats Extract Tonyplot Figure [II.5]: Groupes de commandes Le fichier d'entrée Atlas contient une séquence de lignes de commande. Chaque ligne est composée d'un mot clé qui identifie la commande et un ensemble de paramètres. Le format général est: <STATEMENT> <Paramètre> = <VALEUR> Le paramètre peut être: réel, entier, caractère, et logique. 1) Spécifications de la structure Il y a trois façons de définir une structure de dispositif dans ATLAS : La première façon est de lire une structure existante à partir d'un fichier. La deuxième façon est d'utiliser la fonction automatique d'interface de DECKBUILD qui consiste à transférer la structure d'entrée d'ATHENA ou DEVEDIT. La troisième façon est de créer une structure en utilisant le langage de commande ATLAS. Pour définir une unité à travers le langage de commande ATLAS, on doit d'abord définir un maillage. Ce maillage ou réseau couvre le domaine de la simulation physique. Le maillage est défini par une série de lignes horizontales et verticales et l'espacement entre eux. Ensuite, les régions de la maille sont attribuées aux différents matériaux comme nécessites à la construction du dispositif. 7 a) Le maillage Le maillage joue un rôle important pour l’obtention de résultats de simulation corrects. Il doit être fait avec la plus grande attention pour garantir la fiabilité des résultats. La méthode numérique utilisée pour résoudre les équations physiques est la méthode des éléments finis. Son principe de base est la discrétisation par éléments finis des équations à traiter. Les éléments qui définissent la maille élémentaire utilisée par le simulateur sont des prismes. Le choix de maillage doit être fait de façon à avoir un compromis entre la vitesse d’exécution et l’exactitude des résultats, tel qu’un maillage épais produit une rapide simulation, mais les résultats sont moins précis. Tandis qu’un maillage fin produit un ralentissement de la simulation, mais des résultats plus précis. Donc le maillage fin est plus intéressant de point de vue précision des résultats de simulation [15]. La première déclaration doit être: MESH SPACE.MULT=<VALUE> Elle est suivis par une série de déclarations X.MESH et Y.MESH. X.MESH LOCATION=<VALUE> SPACING=<VALUE> . Y.MESH LOCATION=<VALUE> SPACING=<VALUE> Avec un ensemble de paramètres pouvant être utilises avec l’instruction MESH tels que : INFILE, OUTFILE → fichier précédemment enregistré maille, un nouveau fichier SPACE.MULT → facteur d'échelle appliqué à tous espacement de la grille spécifiée CYLINDRICAL, RECTANGULAR → décrit la symétrie de la maille. NX, NY → nombre de noeuds le long de x et y direction. Exemple : mesh nx=36 ny=30 NODE : spécifie l'index de ligne maille LOCATION : spécifie l'emplacement de la ligne de grille RATIO : rapport à utiliser lorsque les lignes de grille d'interpolation entre des emplacements utiliseés SPACING : précise des mailles à un endroit donné La figure [II.6] donne deux exemples de maillage.On note commentla spécification du paramètre SPACE.MULT d’une valeur de 0,5 a doublé la densité du maillage (figure à droite) dans les deux directions X et Y. 8 Figure [II.6] : Non uniforme création du maillage en utilisant la Syntaxe ATLAS [7] b) Les régions Après avoir défini le maillage, il est nécessaire de définir les régions dont le format de définition est le suivant: c) REGION number=<integer> <material_type> <position parameters> NUMBER : indique le numéro de région. Material : peut-être silicium, oxyde. Position : définit l'emplacement de la région en termes de (1) la position actuelle et (2) les noeuds de la grille. Les électrodes « Atlas » a une limite de 50 électrodes qui peuvent être définies. Le format de définition des électrodes est comme suit: ELECTRODE NAME=<electrode name> <position_parameters NAME : définit le nom de l'électrode: source, drain, la grille. position paramètre : BOTTOM, LEFT, RIGHT, TOP, SUBSTRATE, IX.LOW, IX.HIGH, X.MIN, X.MAX, LENGTH d) Dopage Le dernier aspect de la spécification de la structure qui doit être défini est le dopage. Le format de la déclaration de dopage dans « Atlas » se présente comme suit: DOPAGE < type de distribution > < type de dopant > / < position des paramètres >. Le dopage peut être de type N ou P. Le type de distribution peut être uniforme ou gaussien. UNIFORM, GAUSSIAN : Type de distribution N.TYPE, P.TYPE : Type de dopage CONCENTRATION : spécification pic de concentration pour gaussien profils 9 CHARACTERISTIC→ longueur caractéristique principale de l'implant (écart-type). On peut spécifier jonction profondeur à la place. PEAK→ spécifie l'emplacement d'une crête d'un profil gaussien. Deux exemples sont présentés ci-dessous avec leur effet combiné illustré à la figure [II.7]. DOPING GAUSSIAN CONCENTRATION=1E18 CHARACTERISTIC=0.05 P.TYPE \ X.LEFT=0.0 DOPING UNIFORM CONCENTRATION=1E16 N.TYPE REGION=1 DOPINX.RI GHT=1.0 PEAK=0.1 Figure [II.7] : Spécification de dopage analytique d'un profil 2D [6]. 2) Spécification des matériaux et des modèles Une fois que nous avons défini la structure, nous pouvant modifier les caractéristiques des électrodes, les paramètres du matériau par défaut et choisir les modèles physiques que ATLAS va utiliser au cours de la simulation du dispositif. a) Contact Le contact détermine les attributions des électrodes. La syntaxe du contact est la suivante : CONTACT NAME=anode WORKFUNCTION=4.9 BARRIER ALPHA=1.0e-7 Avec : NAME→ spécifie le nom du contact: GATE, DRIAN, ANODE WORKFUNCTION→ spécifié la fonction de travail d'un métal, ou si N.POLYSILICON n’est pas précisée, elle est supposé par défaut égale à 1. Schottky barrier→ BARRIER (tours sur le mécanisme abaissement de barrière) 10 ALPHA (spécification de l'abaissement de barrière) b) Matériau Atlas fournit également une liste de paramètres par défaut pour les propriétés de la matière utilisée dans la simulation. Les paramètres spécifiés dans la commande MATERIAL comprennent, par exemple: affinité électronique, bande interdite d'énergie, la densité de fonction des états, des vitesses de saturation, les durées de vie des porteurs minoritaires, la mobilité d'électrons (MUN) et la mobilité de trous (MUP), (TAUN0) et (TAUP0) qui sont les durées de vie des électrons et des trous respectivement, et (Auger ) les coefficients d'ionisation d'impact, etc. Le format de la déclaration du matériau est le suivant : MATERIAL < localisation > < définition du matériau > c) Interface La commande INTERFACE est utilisée pour définir la densité de charge (QF) de l'interface et de la vitesse de recombinaison de surface à l'interface (S.N ; SP) entre les semi-conducteurs et des isolants. La syntaxe est la suivante: INTERFACE [<parameters>] d) Modèles physiques Les modèles physiques sont classés en cinq catégories: mobilités des porteurs de charges, mécanismes de génération-recombinaison, statistiques de transport, ionisation par impact et effet tunnel. La syntaxe de la déclaration du modèle est la suivante: MODEL< paramètres générales > / < paramètres du modèle > Les différents modelés et les paramètres utilisées : Modèle de mobilité → CONMOB, ANALYTIC, ARORA, FLDMOB, TASCH, etc. Modèles de recombinaison → SRH, CONSRH, AUGER, OPTR Statistiques des transporteurs→ BOLTZMANN, FERMI, INCOMPLETE, IONIZ, BGN L’ionisation par impact→ CROWELL, SELB Modèle de tunnel→ FNORD, BBT.STD (bande à l'autre - transitions directes), BBT.KL (transitions directes et indirectes), HEI et HHI(électrons chauds et d'injection de trous chauds). NUMCARR→ spécifie le nombre de porteurs, et suivie par un cahier des charges du type de support (électrons ou trous ou les deux) MOS, BIPOLAR→ modèles standards utilisés pour MOSFET et BIPOLAIRE. 3) Sélection des méthodes numériques 11 Après la précision du modèle de matériaux, la sélection de la méthode numérique doit être indiquée. Parmi les différentes méthodes numériques de résolution des systèmes d’équation, trois types de techniques sont utilisée par « Silvaco-Atlas »: Méthode de Gummel : fournit une convergence linéaire, utile quand il y a un faible couplage entre les équations résultantes. Méthode de Newton : Fournit une convergence quadratique, et doit être utilisé dans le cas d'un couplage fort entre les équations résultantes. BLOCK NEWTON→ plus efficace que la méthode de Newton. La syntaxe de la déclaration du METHOD est la suivante: method gummel block newton 4) Spécification de Solution ATLAS permet de calculer quatre différents types de solutions: DC, AC, petit signal et des solutions transitoires. a) Log Log enregistre toutes les caractéristiques finales de simulation dans un fichier de données. N’importe quel type de données, générées par la commande SOLVE est sauvegardé après la commande LOG. Si dans le programme il y a plusieurs commandes LOG, à chaque fois qu’un fichier log a été ouvert avant, il sera fermé et un nouveau fichier log est alors ouvert. b) Solve (Résoudre) L’instruction SOLVE suit l'instruction LOG. Elle effectue une solution pour un ou plusieurs points de polarisation. Dans les solutions à courant continu, la tension sur chaque électrode est spécifiée en utilisant l'instruction SOLVE. Par exemple : SOLVE VGATE=2.0 Pour la plupart des applications, un balayage d'une ou plusieurs électrodes est habituellement exigé. Pour varier la tension de base de 0.0V à 1.0V, avec un pas de 0.05V, avec une tension de collecteur fixe à 2.0V, on utilisera la syntaxe suivante : SOLVE VCOLLECTOR=2.0 SOLVE VBASE=0.0 VSTEP=0.05 VFINAL=1.0 NAME=base c) Load et Save (chargement et sauvegarde) L’instruction LOAD introduit, à partir d’un fichier existant, pour chaque point de polarisation les solutions précédentes en tant que condition initiale. L’instruction SAVE permet l’enregistrement de toutes les informations obtenues pour un nœud dans un fichier de sortie. 12 5) Analyse des résultats Trois types de fichiers sorties sont produits par l'outil ATLAS: run-time outputs, log files et solution files. a) Run-time outputs: Run-time outputs est prévu au bas de la fenêtre de DeckBuild. Les différents paramètres affichés lors de la déclaration SOLVE sont énumérés ci-dessous: b) Log files: Proj → méthodologie utilisée estimation initiale (précédent, local ou init) i, j, m → nombre d'itération de la solution et la méthode de solution i = nombre itération de la boucle externe j = numéro de boucle intérieure de solutions découplées m = Méthode utilisée: G = Gummel, B = bloc, N = Newton. x, rhs → normes des équations étant résolu. (*) → la mesure d'erreur a atteint sa tolérance. Le paramètre LOG est utilisé pour stocker les caractéristiques du dispositif calculé en utilisant ATLAS, par exemple l’instruction suivante est utilisée pour ouvrir un fichier journal. log outfile=<file_name> c) Fichiers de la solution La syntaxe pour produire les fichiers de solution pouvant être utilisés en conjonction avec TonyPlot est la suivante: save outfile=<file_name> solve . . . . outfile=<file_name>.sta master [onefileonly] Ici, dans la seconde forme, un fichier nommé <filename> sera sauvegardé avec les données du point de polarisation déjà résolu. d) TONYPLOT Les résultats et les informations obtenus par la simulation peuvent être affichés graphiquement avec tonyplot. → Pour créer des superpositions de graphe avec l’instruction TonyPlot, il faut utiliser la commande suivante: tonyplot-overlay file1.log file2.log →Pour charger des fichiers de structure contenant un grillage, les informations de profil de dopage, etc, on peut utiliser la déclaration suivante: Tonyplot file.str -set mx.set iv.data 13 Cette commande permet de charger le fichier appelé "file.str» et définit son affichage à une configuration précédente stockée dans le fichier "mx.set", puis charge le fichier contenant les données IV. e) EXTRACT Les commandes de ce type sont utilisées pour extraire les valeurs bien précises des paramètres des deux types des fichiers log ou structure. Les paramètres qui peuvent être extraites en utilisant cette déclaration EXTRACT comprennent: tension de seuil, la fréquence de coupure, etc. Les résultats de l'extraction seront affichés dans run-time output et seront stockés par défaut dans le fichier results.final. Pour stocker les résultats dans un fichier différent à la fin de la commande EXTRACT, on utilise l'option suivante: EXTRACT .... DATAFILE="<filename>" La déclaration de LOG comprend également des options pour les petits signaux, l'analyse RF à deux ports, y compris l'extraction de paramètres. La liste des options pour l'analyse RF sont: s.param, y.param, h.param, z.param, abcd.param gains Le facteur de stabilité k, est calculé avec gain de courant (h21), GUmax et GTMAX lorsque l'option GAINS est ajoutée à la déclaration de LOG. Conclusion Dans ce chapitre, nous avons présenté le logiciel de simulation utilisé, en l’occurrence Silvaco, ses modules et outils de simulation. Ainsi les différents fichiers d’entrée et de sortie du simulateur Atlas. Ensuite nous avons présenté les étapes et la syntaxe du logiciel tel que la définition de la structure, spécification des matériaux et des modèles, la sélection des méthodes numériques (METHOD), l’analyse des résultats, et la sélection des paramètres à extraire. Enfin un exemple de programme de simulation d’une jonction PN a été donné. . 14