Département Micro-électronique et télécommunications
Deuxième année – 2003/2004
TP Spice
CGD
RS
D
r DS
S’
B
gmVGS gmBSVBS
CGS CGB CBS C BD
RD D’
S
B
G CGD
RS
D
r DS
S’
B
gmVGS gmBSVBS
CGS CGB CBS C BD
RD D’
S
B G
Pascal MASSON
Ecole Polytechnique Universitaire de Marseille
Laboratoire Matériaux et Micro-électronique de Provence (L2MP)
Table des matières
La programmation... 5
Description du transistor MOS ... 9
Prise en main du logiciel ... 15
Simulation d’un inverseur CMOS ... 17
La programmation
I. Les différents niveaux de programmation
Il existe quatre méthodes pour décrire un circuit électronique avec un simulateur :
1) Avec le dessin des différents niveaux de masques destinés à la fabrication des composants (TMOS, diodes, résistance…)
2) Avec la netlist qui décrit les composants et les connexions entre eux.
3) Avec le dessin du schéma électrique (placement des composants et connexions entre eux avec des fils).
4) Avec la description d’une fonction. Le logiciel génère seul le schéma électrique avec comme paramètres d’optimisation la surface de silicium utilisée, le temps de propagation…
On remarquera que la méthode 1) est très proche du composant puisqu’il décrit sa forme ainsi que la forme des connexions entre les composants.
Les méthodes 2) et 3) sont très proches avec une plus grande rapidité d’exécution du circuit pour le point 4).
La méthode 4) ne nécessite pas de notions très poussées en électronique ou en physique mais de solides compétences en programmation.
Donc en allant de la méthode 1) à la méthode 4) on accélère le temps de réalisation d’un circuit et en allant de la méthode 4) à la méthode 3) on s’approche de la description des composants élémentaires. Lors de la conception d’un circuit intégré, les quatre méthodes de description peuvent être utilisées. Dans le cadre de l’initiation au logiciel SPICE, nous allons utiliser les méthodes 2) et 3).
II. La programmation par netlist
Dans ce paragraphe, nous décrivons la génération d’un circuit électrique à partir de la netlist.
Il est bon de signaler qu’en fonction de la version du logiciel utilisée (plus ou moins récente) les instructions décrites ici peuvent être légèrement différentes. Il est donc préférable d’assimiler ici la philosophie générale de la création d’une netlist.
II.1. Structure du programme
On peut distinguer les instructions suivantes dans une feuille de programme :
- Le titre : la première ligne du programme est obligatoirement prise pour le titre que l’on peut faire précéder par *
- Les instructions de description des éléments du circuit : elles doivent être complétées par i) des instructions • model si la description fait appel à des semi-conducteurs, ii) les sous- programmes éventuellement appelés (pseudo-éléments)
- Les commandes : y distinguer les instructions • model, • de simulation, • de sortie - L’instruction de fin de programme : • end
II.2. Règles générales d’écriture d’un composant
Chaque instruction est terminée par un retour chariot. Une instruction peut être écrit sur plusieurs lignes, les lignes supplémentaires débutant par un + dans le premier emplacement.
L’ordre des instructions entre titre et fin de programme est indifférent. Un commentaire commence par un *. Les séparateurs peuvent être le blanc, la virgule, le signe d’égalité et les parenthèses. Une commande commence nécessairement par un point.
La description d’un composant doit respecter les règles suivantes :
Le nom que l’on donne à un élément commence par une lettre pré-définie : R résistance, C condensateur, L bobine, V source de tension, I source de courant, D diode, M MOSFET…
Le nom comporte au maximum 8 caractères alphanumériques ou numériques.
Les nœuds. Ce sont des nombres entiers ≥ 0 qui décrivent l’emplacement du composant dans le circuit. La masse est nécessairement 0.
Les nombres s’écrivent selon l’échelle usuelle 0.0012, en notation scientifique 1.2E-4, avec un facteur multiplicatif 120U
Les facteurs d’échelle (multiplicatifs) sont : T = 1012 (tera), G = 109 (giga), MEG = 106 (mega), K = 103 (kilo), M = 10−3 (milli), U = 10−6 (micro), N = 10−9 (nano), P = 10−12 (pico), F
= 10−15 (femto).
Les unités sont implicites et correspondent (en générale) au Système International (SI).
II.3. Les générateurs de signaux
La déclaration d’une source de tension, par exemple, s’écrit : Vxxxxx N+ N− valeur
N+ est le nœud supérieur à 0 et N− le nœud inférieur à 0. Le courant est considéré supérieur à 0 si il traverse la source du pôle + vers le pôle −.
Si la valeur de la source ne dépend pas du temps (exemple : alimentation), sa valeur peut être précédée du sigle DC.
L’analyse AC (alternative) utilise ACMAG (amplitude) et ACPHASE (phase). Une telle source peut, pour l’analyse en régime transitoire, être caractérisée par les cinq fonctions suivantes : Pulse (PULSE), Exponential (EXP), Sinusoidal (SIN), Piece-wise linear (PWL), Single Frequency F-M (SFFM).
Dans le cadre de cette initiation au logiciel SPICE, nous n’utiliserons que les fonctions PULSE et SIN :
- PULSE : la fonction s’écrit PULSE(V1 V2 TD TR TF PW PER) où les différents termes sont décrits à la figure (II.1).
- SIN : La fonction s’écrit SIN(VO VA FREQ TD THETA). De 0 à TD la signal vaut VO et après TD il vaut VO + VA sin[2πFREQ(t − TD)] exp[−(t − TD) THETA].
V
t V1
V2
TD TR PW
PER V TF
t V1
V2
TD TR PW
PER TF
Figure II.1
Remarque : pour connaître le courant traversant une branche, on peut y placer une source de tension de f.e.m. nulle ce qui ne modifie pas le circuit.
II.4. Description du transistor MOS
A technologie donnée, les transistors d’un circuit intégré ont certaines caractéristiques identiques telles que le dopage du substrat, l’épaisseur d’isolant, la longueur de diffusion sous la grille… Ces transistors peuvent cependant avoir des dimensions différentes. On distinguera donc le modèle qui décrit la technologie employée et la description des transistors (nom, taille, emplacement…)
L’instruction utilisée pour décrire un transistor en particulier dans le circuit est :
Mxxxxx ND NG NS NB Mnom <L=valeur> <W=valeur> <AD=valeur> <AS=valeur>
+<PD=valeur> <PS=valeur> <NRD=valeur> <NRS=valeur> <OFF> <IC=VDS,VGS,VBS>
ND, NG, NS et NB correspondent aux nœuds des quatre entrées du transistor. OFF précise une condition initiale sur le composant pour l’analyse DC. IC=… précise les conditions initiales pour une simulation transitoire. Si les termes entre crochets ne sont pas indiqués, le logiciel leurs donne des valeurs par défaut.
La description d’un modèle de transistor (technologie et niveau de modélisation) se fait de la façon suivante :
• MODEL Mnom NMOS (ou PMOS) Level=1 (ou plus) <NSUB=valeur>
+ <LAMBDA=valeur> <GAMMA=valeur> <VTO=valeur> <UO=valeur>
II.5. Exemple de netlist
Nous présentons ici la netlist qui correspond au circuit de la figure (II.2).
* Mosfet à canal n vgs 1 0 DC
vds 3 0 DC vfictif 3 2 0
Mn 2 1 0 0 Mmosn L=0.25U W=0.25U
• model Mmosn NMOS level=1 tox=4n NSUB=7E17 VT0=0.6
• DC vds 0 2.5 0.05 vgs 0 2.5 0.25
• plot DC I(vfictif)
• end
On peut aussi préciser les points suivants :
vfictif permet d’obtenir le courant de drain avec le bon signe, Dans le terme Mn, n correspond au nom du transistor
Dans le terme Mmosn, mosn est le nom que l’on a donné en référence au model utilisé pour ce transistor (• model…)
Dans l’analyse DC, la tension vds va varier de 0 à 2.5 V avec un pas de 0.05 V et la tension vgs va varier de 0 à 2 V avec un pas de 0.25 V
VD 1
2
0 VG
Vfictif 3
ID
VD VD 111
222
000 VG VG
Vfictif
Vfictif 333 ID
Figure II.2.
Description du transistor MOS
I. Modélisation du transistors MOS
Les simulateurs de circuits intégrés sont basés sur des descriptions plus ou moins complexes du comportement électrique des composants. On va ainsi du level1, modélisation très simple, au MM11 qui est une modélisation très proche du comportement physique des composants avec accès aux potentiels internes.
On ne s’intéresse, dans ce TP, qu’au modèle de niveau 1 dont nous allons rappeler les équations relatives au fonctionnement du transistor MOS de type N.
I.1. La modélisation statique
En régime ohmique ou quadratique le courant de drain a pour expression :
( DS)
T DS GS ox 0
DS 1 V
2 V V V L C
I W +λ
− −
µ
= (I.1)
où λ correspond au coefficient de modulation de la longueur du canal, µ0 est la mobilité des porteurs, Cox’ est la capacité de l’isolant par unité de surface et VT représente la tension de seuil :
F ox BS
Si F A
FB
T V 2
' C qN 2 2
V
V ε − + Φ
+ Φ +
= (I.2)
où NA est le dopage du substrat, VFB est la tension de bandes plates et ΦF le potentiel de volume du substrat donné par :
=
Φ i
F nA
ln N
kTq (I.3)
En régime de saturation c’est-à-dire lorsque la tension de drain devient supérieure à VDSsat = VGS − VT le courant de drain sature (sauf pour λ ≠ 0) et l’équation (I.3) s’écrit dans ce cas :
[ ]2( DS)
T GS ox 0
DS C V V 1 V
L 2W
I = µ − +λ (I.4)
En régime bloqué, i.e. pour VGS < VT, on néglige le courant sous le seuil (régime d’inversion faible) ce qui permet d’approximer le courant de drain à 0.
I.2. Les petits plus
En raison de la diffusion des dopants de la source et du drain sous l’oxyde de grille lors de la fabrication du transistor, la longueur réelle du transistor n’est pas L (longueur de la grille) mais plus petite d’un facteur ∆L qui représente la longueur perdue par cette diffusion. Il en résulte que dans les équations (I.1) et (I.4) le paramètre L doit être remplacé par L −∆L.
On peut aussi, comme le montre la figure (I.1), prendre en compte le courant des diodes de drain et de source (polarisées en inverse) ainsi que la présence des résistances d’accès au canal,
RS et RD. On pourra noter que la présence de ces deux résistances réduit la tension réellement appliquée au canal.
RS D’
RD
IDS
S’
VDS B
RS D’
RD
IDS
S’
VDS B Figure I.1.
I.3. La modélisation en petit signal
En petit signal, le courant de drain est toujours une fonction des tensions appliquées VGS, VDS
et VBS et la variation du courant peut s’écrire :
V BS , BS V DS DS
V , DS V GS DS
V , GS V
DS DS dV
V dV I
V dV I
V dI I
GS DS BS
GS BS
DS
∂∂ +
∂∂ +
∂∂
= (I.5)
que l’on écrit plus simplement :
BS mBS DS
DS GS m
D g V y V g V
i = + + (I.6)
D
rDS
gmVGS gmBSVBS
S D
rDS
gmVGS gmBSVBS rDS
gmVGS gmBSVBS
S
Figure I.2.
Le schéma équivalent du transistor MOS en petit signal est donné à la figure (I.2). Dans ce régime, les diverses capacités parasites du transistor MOS peuvent avoir une influence non négligeable et il est donc nécessaire de les prendre en compte. Comme le montre la figure (I.3), en plus des capacités de désertion des jonctions drain (CBD) et de source (CBS) on compte aussi les capacités grille-source (CGS), grille-drain (CGD) et grille-substrat (CGB).
CGD
RS
D
rDS
S’
B
gmVGS gmBSVBS
CGS CGB CBS CBD
RD D’
S
B
G CGD
RS
D
rDS
S’
B
gmVGS gmBSVBS
CGS CGB CBS CBD
RD D’
S
B G
Figure I.3.
La capacité CGS est en fait la somme de deux capacités, la première correspond à la capacité de la structure MOS (capacité MOS) et la deuxième à la zone de recouvrement entre la grille et la source (diffusion des dopants sous l’oxyde de grille) de longueur ∆L et de largeur W (c.f. figure (I.4)). On note CGS0 la capacité de recouvrement par unité de longueur (largeur de grille) et la capacité totale, ici en régime de saturation, s’écrit :
0 ox GS
GS ox WC
WLt 32
C = ε + (I.7)
avec :
ox GSO Ltox
C =∆ ε (I.8)
La capacité CGD est uniquement associée à la diffusion des dopants du drain sous l’isolant de grille et on note CGD0 la capacité de recouvrement par unité de longueur (largeur de grille). Si la structure est parfaitement symétrique, les capacités CGS0 et CGD0 sont identiques.
La capacité CGB est due au fait que la grille doit dépasser les zones diffusées de source et de drain. On notera CGB0 la capacité de recouvrement par unité de longueur (longueur de grille).
0 GB GB 2LC
C = (I.9)
CGS0 CGB0 CGD0
W
L
Source Drain
∆L/2
CGS0 CGB0 CGD0
W
L
Source Drain
∆L/2
W
L
Source Drain
∆L/2
Figure I.4.
II. Les notations et paramètres utilisés par SPICE
Les conventions d’écriture des modèles utilisés par le logiciel SPICE sont différentes de celles vues en cours (c.f. chapitre I de cette note). Par exemple la tension de seuil hors application d’une tension de substrat est notée VT0, soit avec l’équation (I.3) :
ox F Si F A
FB 2
' C qN 2 2
V 0
VT ε Φ
+ Φ +
= (II.1)
Par ailleurs le dopage du substrat s’écrit NSUB et dans un souci de simplification on pose :
' C qNSUB GAMMA 2
ox
εSi
= (II.2)
et :
2 F
PHI= Φ (II.3)
La tension de seuil qui prend en compte l’effet substrat, VTE, s’écrit alors :
[
PHI VBS PHI]
GAMMA 0
VT
VTE= + − − (II.4)
La longueur de diffusion des dopants de source et de drain sous l’isolant de grille est notée LD avec ∆L = 2LD. La mobilité µ0 des porteurs devient UO, l’épaisseur d’isolant tox devient TOX et le paramètre de modulation de la largeur du canal s’écrit LAMBDA = λ. On pose finalement :
LD 2 L W KP2
= −
β (II.5)
avec :
ox 0
UO TOX
KP= ε ε (II.6)
Tous les paramètres (et leurs définitions) utilisés par SPICE sont réunis au tableau (II.1).
No. Name Parameter Units Default Ex.
1 LEVEL Model index −
2 VT0 Zero-bias threshold voltage V 0 1
3 KP Transconductance parameter A/V2 2E−5 3.1E−5
4 GAMMA Bulk threshold parameter V0.5 0 0.37
5 PHI Surface potential V 0.6 0.65
6 LAMBDA Channel-length modulation (MOS1 and 2 only) 1/V 0 0.02
7 RD Drain ohmic resistance Ohm 0 1
8 RS Source ohmic resistance Ohm 0 1
9 CBD Zero-bias B-D junction capacitance F 0 20FF 1 CBS Zero-bias B-S junction capacitance F 0 20FF 11 IS Bulk junction saturation current A 1E−14 1E−15
12 PB Bulk junction potential V 0.8 0.87
13 CGS0 Gate-source overlap capacitance per meter channel
width F/m 0 4E−11
14 CGD0 Gate-drain overlap capacitance per meter channel
width F/m 0 4E−11
15 CGB0 Gate-bulk overlap capacitance per meter channel
length F/m 0 2E−10
16 RSH Drain and source diffusion sheet resistance Ohm/sq. 0 10 17 CJ Zero-bias bulk junction bottom capacitance per
square meter of junction area F/m2 0 2E−4 18 MJ Bulk junction bottom grading coefficient − 0.5 0.5 19 CJSW Zero-bias bulk junction sidewall capacitance per
meter of junction perimeter F/m 0 1E−9 20 MJSW Bulk junction sidewall grading coefficient − 0.33 21 JS Bulk junction saturation current per square meter of
junction area A/m2 − 1E−8
22 TOX Oxide thickness m 1E−7 1E−7
23 NSUB Substrate doping 1/cm3 0 4E15
24 NSS Surface state density 1/cm2 0 1E10
25 NFS Fast surface state density 1/cm2 0 1E10 26 TPG Type of gate material: +1 opposite to substrate, −1
same as substrate, 0 Al gate − 1
27 XJ Metallurgique junction depth m 0 1U
28 LD Lateral diffusion m 0 0.8U
29 UO Surface mobility cm2/V/s 600 700
30 UCRIT Critical field for mobility degradation (MOS2 only) V/cm 1E4 1E4 31 UEXP Critical field exponent in mobility degradation
(MOS2 only) − 0 0.1
32 UTRA Transverse field coefficient for mobility (MOS2 only) − 0 0.3 33 VMAX Maximum drift velocity of carriers m/s 0 5E4
34 NFFF Total channel charge (fixed and mobile) coefficient
(MOS2 only) − 1 5
35 XQC Coefficient of channel charge share attributed to
drain − 0 0.4
36 KF Fliker noise coefficient − 0 1E−26
37 AF Fliker noise exponent − 1 1.2
38 FC Coefficient for forward-bias depletion capacitance
formula − 0.5
39 DELTA Width effect on threshold voltage (MOS2 and 3) − 0 1 40 THETA Mobility modulation (MOS3 only) 1/V 0 0.1
41 ETA Static feedback (MOS3 only) − 0 1
42 KAPPA Saturation field factor (MOS3 only) − 0.2 0.5 Tableau II.1
Prise en main du logiciel
Exercice I : Simulation du courant à travers une résistance
I.1. Ouvrir une nouvelle feuille de programme avec le logiciel AIM-Spice et réaliser le circuit de la figure (I.1) à l’aide de la netlist en respectant la numérotation des nœuds.
I.2. Simuler la courbe IR(t) pour une rampe de tension (Ve ∈ [0, 5V]). Introduire une source de tension nulle dans le circuit pour rendre le courant IR positif.
I.3. Simuler la courbe IR(t) pour une tension de type sinusoïdale et de type trapézoïdale.
Ve R
IR
0 1
Ve R Ve
IR
00 11
Figure I.1. R = 1 KΩ.
Exercice II : Simulation d’un circuit RC
II.1. Ouvrir une nouvelle feuille de programme avec le logiciel AIM-Spice et réaliser le circuit de la figure (II.1) à l’aide de la netlist en respectant la numérotation des nœuds.
II.2. Visualiser le courant de charge et de décharge du condensateur ainsi que la tension à ses bornes, VC, pour un signal carré (à différentes fréquences).
II.3. Visualiser et comparer les tensions VC à la tension Ve (amplitude déphasage) pour un signal sinusoïdal et plusieurs fréquences. Tracer alors la courbe de transfert, VC(f).
R
IR
0
1 2
Ve C
R
IR
000
111 222
Ve
Ve C Figure II.1. R = 1 KΩ, C = 1 µF.
Simulation d’un inverseur CMOS
Exercice I : Caractéristiques d’un transistor de type N et P
I.1. Ouvrir une nouvelle feuille de programme du simulateur AIM-Spice et réaliser le circuit de la figure (I.1) à l’aide de la netlist en respectant la numérotation des nœuds.
I.2. Simuler les courbes ID(VG) et ID(VG) pour VG et VD ∈ [0, 2.5V].
I.3. Faire le même programme et les mêmes simulations avec le logiciel PSpice.
VD 1
2
0 VG
Vfictif 3
ID
VD 1
2
0 VG
Vfictif 3
ID
VD 1
2
0 VG
Vfictif 3
ID
VD VD 111
222
000 VG VG
Vfictif
Vfictif 333
ID Figure I.1. W = 0.25 µm, L = 0.25 µm,
tox = 4 nm, µ0 = 300 cm2V−1s−1, Nsub = 7×1017 cm−3, VT = 0.6 V, lambda = 0.1 V−1.
Exercice II : Simulation d’un inverseur NMOS avec résistance
II.1. Ouvrir une nouvelle feuille de programme avec le logiciel PSpice et réaliser le circuit de la figure (II.1).
II.2. Visualiser la fonction de transfert Vs(Ve) pour différentes résistances R. Commenter vos résultats notamment sur l’allure de la courbe et les inconvénients de ce type d’inverseur. Donner une méthode permettant de déterminer cette courbe (sans le simulateur).
VG
ID R VDD= 2.5 V
VS Ve
VG
ID R VDD= 2.5 V
VS Ve
Figure II.1. W = 0.25 µm, L = 0.25 µm, tox = 4 nm, µ0 = 300 cm2V−1s−1, Nsub = 7×1017 cm−3, VT = 0.6 V, lambda = 0.1 V−1, R = 1 KΩ.
Exercice III : Simulation d’un inverseur NMOS avec deux transistors
III.1. A la figure (III.1) on donne la photographie d’un inverseur NMOS avec deux transistors que les étudiants de troisième année (option micro-électronique) réalisent au CIME de Grenoble durant le stage technologique. Donner le schéma électrique équivalent de cet inverseur et expliquer la forme particulière du transistor du bas.
Figure III.1. Photographie d’un inverseur NMOS à deux transistors. tox = 47 nm, µ0 = 590 cm2V−1s−1, Nsub = 6×1016 cm−3, VT = 1 V, lambda = 0.1 V−1.
III.2. Le transistor du haut a pour géométrie W = L = 20 µm. Estimer la géométrie du transistor du bas. Donner alors la fonction de transfert de cet inverseur. Comparer votre résultat avec celui obtenu par mesure.
Figure III.2. Mesure de la fonction de transfert de l’inverseur NMOS.
Exercice IV : Simulation d’un inverseur CMOS
IV.1. Ouvrir une nouvelle feuille de programme et réaliser le circuit de la figure (IV.1).
IV.2. Visualiser la fonction de transfert Vs(Ve) et commenter son allure par rapport à celle obtenue à l’exercice précédant. Déterminer par le calcul la géométrie du transistor de type P permettant d’équilibrer l’inverseur. Vérifier votre résultat avec le simulateur.
VDD = 2.5 V
Ve
NMOS PMOS
VG
VS VDD = 2.5 V
Ve
NMOS PMOS
VG
VS VS
Figure IV.1. W = 0.25 µm, L = 0.25 µm, tox = 4 nm, µ0N = 300 cm2V−1s−1, µ0P = 80 cm2V−1s−1, Nsub = 7×1017 cm−3 VT = 0.6 V, lambda = 0.1 V−1.
Exercice V : L’inverseur CMOS en régime transitoire
V.1. Ouvrir une nouvelle feuille de programme et réaliser le circuit de la figure V.1.
V.2. Avec une tension Ve de type trapézoïdale mettre en évidence le temps de chargement de la capacité (ou temps de retard). Le temps de montée (ou de descente) du signal d’entrée peut être au minimum de 0.1 ns.
VDD= 2.5 V
Ve
NMOS PMOS
VG
VS C VDD= 2.5 V
Ve
NMOS PMOS
VG
VS C
Figure V.1. W = 0.25 µm, L = 0.25 µm, tox = 4 nm, µ0N = 300 cm2V−1s−1, µ0P = 300 cm2V−1s−1, Nsub = 7×1017 cm−3, VT = 0.6 V, lambda = 0.1 V−1, C = 15 pF.