1. ENSA de Tanger
Professeur El mourabit Aimad
elmourabit_aimad@yahoo.fr
FORMATION CADENCE IC
Version Cadence IC : 4.4.6 QSR1
Technologie CMOS 0.8 µm (design kit AMS 3.30)
Mise à jour du document : Novembre 2008
2. Formation CADENCE Pr. El mourabit
Aimad
TABLE DES MATIÈRES
1. Introduction..........................................................................................................................................3
2. Le logiciel CADENCE.........................................................................................................................4
2.1. Généralités................................................................................................................................................4
2.2. Lancement du logiciel..............................................................................................................................4
2.3. Le gestionnaire de bibliothèques (librairies)..........................................................................................5
3. Saisie de schéma................................................................................................................................10
3.1. Ajout d’un composant ...........................................................................................................................11
3.2. Création des fils......................................................................................................................................12
3.3. Identification des entrées/sorties...........................................................................................................13
3.4. Placement des alimentations.................................................................................................................14
4. Conception hiérarchique...................................................................................................................14
4.1. Création d’un symbole...........................................................................................................................14
4.2. Paramétrage des composants................................................................................................................15
4.3. La cellule de simulation.........................................................................................................................15
5. Simulation DC....................................................................................................................................17
5.1. Lancement de l'outil de simulation et paramétrage............................................................................17
5.2. Choix de l’analyse..................................................................................................................................18
5.3. Simulation DC........................................................................................................................................19
5.4. Visualisation des résultats....................................................................................................................20
6. Simulations temporelle Transitoire et AC........................................................................................22
6.1. Simulation temporelle Transitoire........................................................................................................22
6.2. Simulation AC........................................................................................................................................23
6.3. Utilisation de la calculatrice..................................................................................................................24
7. Dessin des masques............................................................................................................................25
7.1. Cellules paramétrées..............................................................................................................................27
7.2. Layout de l'amplificateur inverseur.....................................................................................................30
8. Les vérifications de layout.................................................................................................................32
8.1. Vérification des règles de dessin: Design Rules Check (DRC)............................................................32
8.2. L’extraction (Extract)............................................................................................................................33
8.3. La comparaison Layout-Schéma: Layout Vs Schematic (LVS).........................................................34
8.4. Simulation post-layout...........................................................................................................................35
9. ANNEXES..........................................................................................................................................35
9.1. ANNEXE 1 : calcul de dimensionnement.............................................................................................35
ENSA de Tanger 2
3. Formation CADENCE Pr. El mourabit
Aimad
1. Introduction
Notions: Procédure de conception, rôles Concepteur et Fondeur, types de conceptions.
La chaîne de conception de circuits intégrés comporte plusieurs étapes :
sc h é m a é lé c triq u e
lo g ic ie l C A O
c o n c e p te u r e Exemples: C E
x C A D E N
sim u la tio n Cadence IC
Mentor Graphics
d e ssin d e s m a sq u e s
c r é a t i o n d 'u n j e u
d e m a sq u e s
tra ite m e n t d u
fo n d e u r w a fe r
découpage du
w a fe r
e n c a p su la tio n
Figure 1
Le concepteur réalise toutes les étapes jusqu'au dessin des masques. Le fondeur fabrique le
circuit à partir de ces informations par un procédé qu'il maîtrise (appelé "technologie").
Le logiciel CADENCE IC est un outil qui sert à la conception, jusqu'au dessin des masques. Le
passage des données entre le concepteur et le fondeur se fait à l’aide d’un fichier de type GDSII (dont
la structure est indépendante du logiciel utilisé).
La conception d’un circuit électronique peut se faire de plusieurs façons :
*0 On peut partir d’un réseau prédiffusé. C’est à dire que l’on utilise un circuit possédant
des éléments de base ( transistors, résistances, capacités) et l’on se charge uniquement des
connexions entre ces éléments. C’est une méthode qui peut convenir pour des circuits
simples et peu rapides. Il faut néanmoins payer tous les transistors, y compris ceux qui ne
servent pas.
*1 Il est aussi possible de disposer de cellules standards vendues par le fondeur
(amplificateur, oscillateur, convertisseur ). Il faut alors placer ces cellules suivant l’ordre
voulu et réaliser l’ensemble des connexions entre fonctions. C’est une méthode plus souple
que la première. C’est l’approche standard cells.
ENSA de Tanger 3
4. Formation CADENCE Pr. El mourabit
Aimad
*2 La troisième solution consiste à partir de l’élément de base ( transistor etc. ) pour
réaliser toutes les fonctions soi-même. Il s’agit de l’approche full custom.
Le logiciel CADENCE permet de concevoir aussi bien du full custom que du standard cell.
2. Le logiciel CADENCE
Notions: Framework, lancer le logiciel, gérer une bibliothèque, Cellule, Vue.
2.1. Généralités
CADENCE IC est un environnement unifié (Framework, MENTOR GRAPHICS en propose
un autre) pour l'utilisation d'outils informatiques d'origines diverses. Il permet au concepteur d'utiliser
ces outils, avec une interface unique pour saisir, partager, communiquer et afficher des informations.
Un framework fait fonctionner ces outils ensembles comme un système d'exploitation permet de faire
fonctionner ensemble le matériel et les logiciels d'un ordinateur.
Le fonctionnement d'un ASIC dépend des caractéristiques physiques du circuit réalisées par le
procédé de fabrication. Le premier acte de conception est de choisir la technologie de fabrication de
son circuit.
Le fondeur utilise un procédé de fabrication (appelé "technologie") dont il maîtrise les étapes
technologiques. Ce procédé va donner aux dispositifs des caractéristiques particulières: comme le β
d'un transistor bipolaire ou le Cox d'un transistor MOS. Il va également imposer des contraintes
comme la longueur minimale de grille d'un transistor MOS.
Pour pouvoir concevoir un ASIC, il faut disposer des caractéristiques de dispositifs (pour les
calculs et la simulation….) et des contraintes qu'il faut respecter.
Le fondeur fournit un fichier technologique (Design Kit) qui donne à Cadence ces
informations. Il peut aussi fournir des standard cells ou des outils spécifiques au concepteur.
Dans notre cas, nous utilisons CADENCE IC avec le Design Kit d’AMS (Austria Micro
Systems) pour la technologie CYE, caractérisée par une longueur minimale de grille de 0.8µm.
2.2. Lancement du logiciel
CADENCE va utilise le répertoire où il a été lancé pour stocker tous les fichiers dont il a
besoin. Pour éviter un mélange avec d’autres logiciels, nous créons le répertoire AMS à la première
séance: dans une Command Tool, taper:
*3 cd
*4 mkdirAMS
A chaque fois que vous voudrez utiliser Cadence IC avec le Kit AMS, il faut exécuter les
commandes suivantes:
*5 source.cshrc.cadAMS
*6 cdAMS
*7 ams_cds–techcyx-modefb&
La fenêtre suivante apparaît à l’écran:
Ligne de commande Fichier de sortie (Log File)
ENSA de Tanger 4
5. Formation CADENCE Pr. El mourabit
Aimad
Figure 2
Cette fenêtre est la fenêtre principale de CADENCE. C’est elle affiche les informations en cas
de problème. Elle comporte aussi un certain nombre de menus qui sont utiles pour le fonctionnement
général de CADENCE. C’est la fenêtre CIW ( Cadence Interface Window ).
Cette fenêtre affiche tous les commentaires ainsi que les éventuels messages d’erreurs. Toutes
les informations qui s’affichent dans la fenêtre CIW sont reportées dans un fichier (Log File) dont le
nom et le chemin sont donnés dans la partie supérieure. Sur cet exemple, on retrouve toutes les
informations affichées dans le fichier CDS.log.
Il est aussi possible de charger un fichier ou de définir une variable pour CADENCE. Cela se
fait par la ligne de commande. Les commandes s’effectuent en langage SKILL.
2.3. Le gestionnaire de bibliothèques (librairies)
Les bibliothèques servent à stocker les objets d'une conception (cellule).
2.3.1. Ouverture
Il se peut que la fenêtre CIW soit la seule qui ait été ouverte lors du lancement. Pour pouvoir
travailler sur une bibliothèque et ses cellules, il faut pouvoir disposer du Library Manager. Pour ouvrir
cette fenêtre, on utilise le menu suivant dans la fenêtre CIW: Tools ⇒ Library Manager
La fenêtre suivante apparaît :
Figure 3
Cette fenêtre affiche les différentes librairies auxquelles vous avez accès. Par exemple, sur la
figure 3, HRDLIB est la librairie de cellules logiques AMS et SCHEMA la librairie des dispositifs de
base (utilisés en analogique et en numérique).
ENSA de Tanger 5
6. Formation CADENCE Pr. El mourabit
Aimad
Il est possible de visualiser les cellules contenues dans une bibliothèque en cliquant simplement
sur son nom.
Les bibliothèques des cellules qui correspondent à des dispositifs réels ont un nom en
caractères majuscules. Les bibliothèques des cellules réservées à la simulation (composants idéaux) ou
à la présentation des documents (hiérarchie, cadres…) ont un nom en caractères minuscules.
2.3.2. Chemin d’accès
Il se peut, que lors de l’ouverture de library manager, une des bibliothèques existantes ne
figure pas dans la liste. On peut ajouter cette bibliothèque en utilisant le menu Tools ⇒ Library Path
Editor de la fenêtre CIW.
Cela donne accès à la liste de toutes les bibliothèques que CADENCE a chargé par défaut, avec
leurs chemins. Il suffit alors de rajouter le nom de la librairie existante et son chemin d’accès dans
cette fenêtre.
Figure 4
Bibliothèques et leurs chemins respectifs
2.3.3. Création d’une bibliothèque
Pour pouvoir travailler, il faut une librairie dans laquelle on va ranger les cellules élémentaires.
Comme elle n'existe pas encore, il faut la créer.
Dans la fenêtre Library Manager :
File ⇒ New ⇒ Library
Une fenêtre apparaît demandant le nom et le chemin de la librairie.
Le chemin : il existe certaines conventions de l'UNIX que CADENCE utilise. Le point désigne
le répertoire courant de CADENCE, c’est à dire celui où l’on a lancé la commande ams_cds –tech
cyx -mode fb &. Le ∼ désigne le répertoire principal de votre compte.
ENSA de Tanger 6
7. Formation CADENCE Pr. El mourabit
Aimad
On choisit par exemple :
Library Name : lib_essai, puis OK (ou touche 'Enter' au clavier).
Ensuite CADENCE demande si on veut attacher un Technology File à cette librairie (figure ci-
après). C'est obligatoire pour aller jusqu'au layout. Il est propre à chaque technologie et est fourni dans
le Design Kit du fondeur.
Figure 5
Il faut attacher le Techfile TECH_CYE (menu déroulant) puis OK (figure ci-après).
Figure 6
Le fichier technologique correspond à la technologie AMS 0.8 µm CYE (CMOS) que nous
souhaitons utiliser.
On observe dans la fenêtre CIW que CADENCE compile le fichier technologique pour créer la
bibliothèque. Puis la bibliothèque apparaît dans le Library Manager.
Il est possible de vérifier les propriétés d’une librairie en cliquant sur le nom de la librairie
dans la fenêtre Library Manager avec le bouton milieu (BM) de la souris et en choisissant Properties.
On peut remarquer qu’en cliquant avec le bouton milieu de la souris ce même menu fait apparaître les
fonctions suivantes : new, copy, rename, delete et properties.
ENSA de Tanger 7
8. Formation CADENCE Pr. El mourabit
Aimad
2.3.4. Création d’une cellule
Pour créer une cellule dans la librairie lib_essai : taper directement le nom de la cellule dans le
champ cell de la fenêtre Library Manager puis return. Une cellule contient au moins une vue. Taper
par exemple cell_essai et choisir le type de vue (schematic, layout ...), prendre une vue schematic et
sélectionner l’outil de saisie de schéma qui s'appelle composer, puis OK.
Figure 7
Les différents types de vue :
• schematic : pour la mise en place du schéma électrique et pour les simulations (outil
composer)
• symbol : pour réaliser des sous-ensembles hiérarchiques dans un schéma.
• layout : pour la réalisation du dessin des masques (outil virtuoso)
• extracted : pour la vérification des masques.
La vue schématique de la cellule cell_essai s’ouvre automatiquement.
Dans la fenêtre schematic : Design ⇒ check and Save (ou bouton sur le coté gauche de la
fenêtre)
La sauvegarde est nécessaire pour la démonstration. Sans cela, il ne sera pas possible de
manipuler cette cellule par la suite.
Window ⇒ close
Il est maintenant possible de voir la cellule cell_essai et sa vue schematic dans la fenêtre
Library Manager. Pour ré-ouvrir la vue schématique de cell_essai, cliquer avec le BM de la souris sur
schematic et choisir open. Dans ce même menu, il est possible d’accéder aux fonctions : new,
delete ...
2.3.5. Gestion des cellules en utilisant les catégories
Comme nous l’avons déjà vu, il suffit de cliquer sur la bibliothèque pour voir l’ensemble des
cellules qu’elle contient. Si l’on fait cette opération sur lib_essai, on voit apparaître uniquement la
cellule cell_essai.
Il est possible de ranger certaines cellules dans une seule catégorie afin d’éviter de les mélanger
avec d’autres cellules. Cette gestion par catégories peut être utile. Par exemple pour séparer des
éléments analogiques des éléments logiques.
ENSA de Tanger 8
9. Formation CADENCE Pr. El mourabit
Aimad
Pour créer une catégorie, il suffit de sélectionner une librairie dans la fenêtre Library Manager
(par exemple sélectionner lib_essai), puis cliquer dans le menu : File ⇒ New ⇒ Category.
Cellules à ajouter Nom de la catégorie
Figure 8
On peut remarquer dans le Library Manager, la création de 3 catégories : Everything,
Uncategorised et cat_essai.
Il est aussi possible d’aller voir ce que contiennent les cellules de la librairie analogLib.
Prenons pour exemple, la cellule pmos (catégorie : Actives). Cette cellule comporte différentes vues :
auLVS, symbol etc. …
Pour ouvrir la vue symbol, il suffit de cliquer sur symbol avec le bouton du milieu et choisir
dans le menu open (read only).
La vue symbol apparaît dans l'outil d'édition de symbole. Pour la refermer : window ⇒ close.
2.3.6. Copie de cellule
Par exemple, nous allons copier la cellule cell_essai en cell_final :
Sélectionner la cellule cell_essai puis BM ⇒ copy.
Dans la case « To Cell » spécifier le nouveau nom : cell_final.
Ou utiliser le « copy wizard » du menu Edit du Library Manager (Figure 9).
Cette fenêtre permet de copier sélectivement les vues d'une cellule:
ENSA de Tanger 9
10. Formation CADENCE Pr. El mourabit
Aimad
Figure 9
On voit apparaître cette cellule dans le Library Manager à condition de se positionner sur les
catégories : Everything ou Uncategorised. Pour ranger la nouvelle cellule cell_final : cliquer sur la
catégorie cat_essai : BM ⇒ modify.
2.3.7. Destruction d’une cellule
On détruit ensuite la cellule cell_essai : sélectionner la cellule cell_essai puis BM ⇒ delete ⇒
OK.
3. Saisie de schéma
Notions: Symbole, hiérarchie,
Créer une librairie inverseur, une cellule inv et sa vue schematic.
ENSA de Tanger 10
11. Formation CADENCE Pr. El mourabit
Aimad
Figure 10
Plusieurs menus sont disponibles :
• TOOLS : outils de conception ( simulateur, routage )
• DESIGN : gestion des vues et options de l’éditeur
• WINDOW : gestion de la fenêtre courante ( Zoom...)
• EDIT : commandes d’édition
• ADD : Gestion des composants
• CHECK : Gestion des vérifications
• SHEET : Gestion de l'aspect des documents (pages multiples, cartouche…).
La barre d’outils sur la gauche de la fenêtre permet certains raccourcis. Pour connaître la
fonction de chaque bouton, il suffit de laisser le pointeur de la souris dessus, et la fonction s’affiche. Il
existe aussi des touches de raccourci au clavier.
3.1. Ajout d’un composant
Pour réaliser un amplificateur inverseur, il va falloir placer un pmos4 et un nmos4. Ces deux
dispositifs se trouvent dans la librairie SCHEMA. Pour placer le nmos4 dans le schéma:
Add ⇒ Instance (ou i au clavier)
ENSA de Tanger 11
12. Formation CADENCE Pr. El mourabit
Aimad
Figure 11
La touche Browse va permettre de se déplacer dans le Library Browser pour sélectionner le
composant.
Dans le Library Browser sélectionner la librairie SCHEMA ⇒ mosfets ⇒ nmos4 (vue
symbol).
La fenêtre de la Figure 11 affiche alors les paramètres relatifs au nmos4 , et des boutons pour
modifier la position du symbole afin de faciliter la lecture de schéma (Rotation, miroir horizontal et
miroir vertical). Pour placer le symbole du dispositif sur le schéma, il suffit de ramener le pointeur de
la souris dans la fenêtre schematic et de cliquer sur le bouton de gauche, autant de fois que vous
voulez utiliser le dispositif dans le schéma.
De la même manière, on va placer le pmos4 au-dessus du nmos4.
Une fois les deux composants placés. Il faut fermer la fenêtre Add component :
Cancel (ou touche Esc au clavier)
La commande Window ⇒ Fit permet d’afficher le schéma sur la fenêtre complète. Cette
commande est accessible en tapant simplement f lorsque le pointeur de la souris est dans la fenêtre
schematic.
Il est encore possible de déplacer un symbole, de le faire tourner etc.… avec la commande Edit
⇒ Move (ou M au clavier) puis F3 au clavier.
Pour modifier les paramètres d’un composant : Edit ⇒ Properties (ou q au clavier) puis
cliquer sur le composant.
Il reste ensuite à relier les deux transistors avec des fils (Wire).
3.2. Création des fils
Add ⇒ Wire (narrow) (ou W au clavier)
ENSA de Tanger 12
13. Formation CADENCE Pr. El mourabit
Aimad
Figure 12 (schéma final)
Avec le bouton de gauche pointer sur une pin (carré rouge) d’un composant et relier le fil sur
l’autre composant. Si le fil ne se termine pas sur une pin, double cliquer pour terminer. Une fois tous
les fils placés, il reste les entrées/sorties et les alimentations à placer.
La touche s du clavier connecte le fil sur le point matérialisé par un diamant ( )
Attention: il faut connecter les substrats aux tensions d'alimentation!
3.3. Identification des entrées/sorties
Add ⇒ Pin
Nom type
Figure 13
Placer une pin in comme entrée et une pin out comme sortie, puis Cancel
ENSA de Tanger 13
14. Formation CADENCE Pr. El mourabit
Aimad
3.4. Placement des alimentations
Les nœuds d'alimentation se placent en utilisant dans la bibliothèque analogLib des cellules qui
améliorent la lisibilité des schémas.
Ce placement se fait comme un placement de composant classique. Les symboles vdd! et vss!
se trouvent dans la bibliothèque analogLib (category source global) il ne reste plus qu’à les placer à
l’aide de la commande : Add ⇒ Instance.
Attention: ces symboles ne représentent pas des sources de tension (contrairement à l'intitulé de la
catégorie), mais indiquent que tous les nœuds connectés sont connectés ensembles.
Maintenant que le schéma est terminé, on va générer un symbole pour pouvoir l’utiliser en tant
que bloc élémentaire dans d’autres schémas. Cela permet une conception hiérarchique.
4. Conception hiérarchique
Notions: pin, symbole, instanciation, hiérarchie, paramètres, nœud locaux, nœuds globaux, schéma de
circuit réel / de simulation.
Le structure de donnée de CADENCE IC permet d'utiliser une cellule (fille) dans le schéma d'une
autre cellule (mère). Il s'établit une hiérarchie qui va des cellules de base (ne faisant pas appel à
d'autres cellules) à la cellule Maîtresse (Top cell).
Cette hiérarchisation ne peut pas être récursive: une cellule ne peut pas se compter parmi ses filles.
Une cellule fille est représentée par son symbole dans le schéma d'une cellule mère.
4.1. Création d’un symbole
Dans la fenêtre schematic : Design ⇒ Create CellView ⇒ From CellView
La fenêtre qui s’ouvre propose des options par défaut qui sont généralement valables : OK.
Une autre fenêtre s’ouvre :
Figure 14
Liste des I/O sur la gauche, droite, etc.…
Il est alors possible de choisir l’orientation de chaque pin.
Cette disposition convenant parfaitement : OK.
CADENCE ouvre alors une fenêtre symbol, contenant le symbole de la cellule inv. Le symbole
peut être modifié grâce à l’éditeur. Cela n’étant pas nécessaire :
ENSA de Tanger 14
15. Formation CADENCE Pr. El mourabit
Aimad
Design ⇒ Save
Window ⇒ close
La fenêtre schematic étant restée ouverte, nous allons modifier les propriétés du nmos4 et du
pmos4.
4.2. Paramétrage des composants
Les dispositifs de la bibliothèque SCHEMA sont des cellules de base. Leurs caractéristiques
géométriques peuvent être spécifiées aux travers de paramètres.
Ainsi on peut fixer les longueurs W et L de chaque transistor. La méthode de dimensionnement
de ces paramètres est fournie en Annexe 1.
Pour modifier les propriétés d’un composant, il suffit de le sélectionner en cliquant dessus puis
de faire Edit ⇒ properties ⇒ objects (ou q au clavier).
Pour valider les changements apportés au composant, ne pas oublier de cliquer sur Apply ou
OK.
Pour le Nmos , on va fixer W=10 µm et L=0.8 µm; et pour le Pmos W=8 µm et L=0.8
µm (cf. Annexe 1).
Pour vérifier et sauver le schéma : Design ⇒ Check and Save.
Il ne doit rester ni warning, ni erreurs. Sur certains schémas, il est possible qu’il reste
des warnings, notamment si certaines I/O restent en l’air.
Window ⇒ close
Le schéma du circuit à réaliser est terminé. Toutefois, il faut s'assurer qu'il n'y a pas eu
d'erreur de saisie de schéma ou de saisie de paramètre. Pour valider le circuit, on utilise la simulation.
Or le schéma du circuit à réaliser ne suffit pas pour la simulation: il faut alimenter le circuit, et
appliquer des valeurs électriques sur les entrées (stimulis) avec des éléments de simulation pure.
4.3. La cellule de simulation
Pour simuler le circuit déjà réalisé, nous allons créer une cellule simu_inv avec une vue
schematic.
Dans cette vue , il faut instancier le symbole de inv.
Il faut indiquer les nœuds d'alimentation un vdd, un vss, un gnd. La présence du symbole gnd
est indispensable pour pouvoir simuler, car c'est le potentiel de référence pour toutes les tensions
calculées par le simulateur.
Vous devez, en plus, instancier deux générateurs de tension continue (vdc qui se trouve dans
analogLib catégorie Sources-indépendant) qui fixent les tensions de ces nœuds. On fixe le paramètre
DC Voltage du générateur vdd à 5 volts (les autres paramètres étant nuls ou vides), l’autre générateur
vss est réglé à 0 V par rapport à la masse.
ENSA de Tanger 15
16. Formation CADENCE Pr. El mourabit
Aimad
Pour l’entrée in, on utilise un générateur vdc sous analogLib (gnd qui se trouve dans analogLib
catégorie Sources-global) pour fixer sa tension.
On nomme le nœud d'entrée en faisant:
Add ⇒ Wire Name… (ou l -L minuscule- au clavier), sélectionner le nœud, puis saisir un nom.
Le nom choisi est local au schéma. Ce nom peut être réutilisé dans d'autres schémas sans que
les outils de CADENCE IC ne considèrent ces nœuds comme connectés ensembles.
Il existe un moyen de spécifier des noms globaux: le nom se termine par un point d'exclamation. Les outils de
CADENCE IC considèrent ces nœuds comme connectés ensembles. C'est le cas pour le nœud gnd! qui définit la masse.
Connecter un nœud à un symbole gnd est équivalent à nommer ce nœud gnd!. Comme un nœud ne peut avoir qu'un seul
nom, il a fallu placer un générateur de tension nulle entre vss! et gnd!.
On fixe la valeur du générateur de polarisation statique du nœud in à 2 volts. Pour vérifier le
fonctionnement statique du montage.
A chaque fois qu'on a placé un générateur vdc dans le schéma, on a placé des générateurs
indépendants (avec chacun un paramètre DC voltage différent). Placer un symbole sur un schéma ne
signifie pas l'inclusion d'une cellule fille dans un schéma, mais la création d'un objet propre (instance)
dont les caractéristiques sont héritées de la cellule fille. Cette opération est appelée instanciation.
Figure 15
Pour parcourir la hiérarchie:
Design ⇒ Hierarchy ⇒ Descend Edit (ou E au clavier), sélectionner l'instance puis choisir la vue.
Attention: faire impérativement un Check and Save avant de retourner au niveau supérieur.
Design ⇒ Hierarchy ⇒ Return (ou B au clavier) pour revenir à la cellule mère.
Design ⇒ Hierarchy ⇒ Return to Top (ou Ctrl-e au clavier) pour revenir à la cellule maîtresse.
ENSA de Tanger 16
17. Formation CADENCE Pr. El mourabit
Aimad
Pour la simulation, il est préférable de connecter une charge en sortie du circuit inverseur. On se
propose de rajouter une capacité de l’ordre de 10 pF en sortie du montage. La capacité se trouve dans
la librairie SCHEMA sous la catégorie capacitor, il faut instancier cpoly (capacité entre deux couches
de polysilicium). On nomme le nœud de sortie out.
5. Simulation DC
Notions: Lancer et paramétrer l'outil de simulation, fonction de transfert statique, visualisation.
5.1. Lancement de l'outil de simulation et paramétrage
Pour lancer l'outil de simulation pour un schéma, dans la fenêtre d'édition de schéma:
Tools ⇒ Analog Environment
Cela ouvre la fenêtre ci-après.
Figure 16
Cellule à simuler Simulateur
ENSA de Tanger 17
18. Formation CADENCE Pr. El mourabit
Aimad
En quittant cet outil, Analog Environment vous propose de sauvegarder les paramètres et les résultats
de simulation ("Do you want to save the current State?").
Le fichier nécessaire étant très volumineux, il faudra toujours répondre "no" dans le cadre de
ces TP.
Le choix du simulateur ainsi que le choix du directory de stockage des résultats s’effectuent
avec le menu :
Setup ⇒ Simulator/Directory/Host
Figure 17
Choisir le simulateur spectre et le répertoire ./Sim. Il est à noter que pour certaines simulations
occupant une place disque importante, il est possible de stocker les résultats dans le répertoire /tmp
local de la machine.
Le menu Setup permet aussi de définir les bases de travail du simulateur. Par exemple, si l’on
exécute la commande Setup ⇒ Model Libraries. On retrouve les chemins des modèles que va utiliser
spectre. Tous les chemins par défaut utilisent les modèles typiques (tm). Mais il existe d’autres
modèles qui prennent en compte les variations de certains paramètres (worst power ou worst speed).
Choisir le fichier de modèles des transistors MOS et l’"éditer" (le visualiser). Il est alors possible de
connaître le type du modèle utilisé pour le MOS (par exemple « bsim3v3 » ou « model level 53 ») et
ses paramètres associées.
Avant de lancer la simulation, il faut définir le type de simulation, sa durée et les variables
électriques que l’on souhaite visualiser.
5.2. Choix de l’analyse
Les différents types de simulation possibles sont accessibles grâce au menu :
Analyses ⇒ Choose
Il existe 4 types majeurs de simulations, différents dans leur principe:
• DC : Ce type de simulation calcule le point de fonctionnement statique en fonction d'un
paramètre.
• transient : C’est la simulation dynamique grand-signaux temporelle, avec un début, une fin,
et une résolution temporelle.
ENSA de Tanger 18
19. Formation CADENCE Pr. El mourabit
Aimad
• AC : C’est une simulation petits-signaux harmoniques avec une modélisation linéaire autour
du point de fonctionnement (point Op obtenu par simulation DC).
• Noise : Simulation petit-signal pseudo-harmonique pour l'analyse du bruit électrique.
Figure 18
Pour lancer l’une ou l’autre des simulations il suffit de l’activer en cochant le bouton, il
apparaît alors un ou des cadres de configuration propre à chaque type.
5.3. Simulation DC
Nous allons commencer par simuler le montage pour connaître le point de fonctionnement
statique pour différentes valeurs de la tension statique d’entrée.
Il faut donc cocher la simulation DC, et component parameter dans le cadre du milieu.
Il faut ensuite définir en fonction de quel paramètre du circuit on désire visualiser l'évolution
du point de fonctionnement statique. Pour cela, il faut cliquer sur select component, puis aller
sélectionner le générateur de tension d’entrée dans la fenêtre schematic. Le nom du composant
s’affiche automatiquement. On veut donc faire varier la valeur du générateur de 0 à 5 volts (DC
voltage). OK
Il est alors possible de définir des paramètres pour ce type de simulation:
Start : 0 Stop : 5 Sweep Type: Linear Number of steps: 100 Steps
Cocher la case Save DC operating point.
Attention: il ne s’agit pas d’une simulation dynamique, dans laquelle l'excitation temporelle de
l'entrée est une rampe (il n'y a aucun paramètre définissant une variation temporelle); mais
d'une série de simulations statiques pour différentes valeurs de la tension statique d'entrée.
ENSA de Tanger 19
20. Formation CADENCE Pr. El mourabit
Aimad
Figure 19
Le simulateur possède alors les paramètres relatifs à la simulation. Il faut ensuite définir
quelles sont les informations qu’il doit enregistrer pour pouvoir les afficher. Pour cela, il existe un
menu :
Output ⇒ Save All
Par défaut, le simulateur va enregistrer toutes les tensions. Il est possible de ne sélectionner que
les tensions ou que les courants. Il est même possible de ne sélectionner que certains points du schéma.
Cela peut être utile pour les gros schémas ou des simulations très longues, car la sauvegarde des
résultats peut prendre beaucoup de place. Pour cette simulation, nous conservons tous les signaux, il
faut donc cocher all pour : signal outputs et device current.
Maintenant que tous les paramètres sont corrects, il est possible de lancer la simulation.
Simulate ⇒ run
La netlist est stockée dans le répertoire :
~/AMS/Sim/nom_de_la_cellule/Spectre/schematic/netlist
Vous pouvez l’éditer avec Simulation ⇒ netlist ⇒ display
5.4. Visualisation des résultats
Il faut choisir les points qu'on souhaite afficher en utilisant la commande :
Output ⇒ To be plotted ⇒ Select On Schematic
Dans la fenêtre schematic, il faut ensuite cliquer sur les fils pour visualiser une tension, et sur
une pin pour visualiser un courant. Pour commencer, on se contentera de sélectionner le fil in et le fil
out. Ceux-ci doivent apparaître d’une couleur différente.
ENSA de Tanger 20
21. Formation CADENCE Pr. El mourabit
Aimad
Puis, il faut lancer le tracé des courbes pour les éléments sélectionnés avec:
Results ⇒ Plot Outputs ⇒ DC.
Ou Results ⇒ Direct Plot, puis sélectionner les nœuds, puis touche Esc au clavier.
Un fenêtre waveform s'ouvre pour afficher les variables électriques en fonction du paramètre.
Nous souhaitons également visualiser le courant dans le pmos4. L'information de courant n'est
pas rattachée à un fil (Net ou Wire), mais à une broche d'une cellule (pin). Il faut donc descendre dans
l'instance du circuit, sélectionner le pin du drain du pmos4, puis :
Results ⇒ Plot Outputs ⇒ DC.
Si cela ne fonctionne pas: Tools ⇒ Results Browser, puis sélectionner dans l'arborescence:
schematic/psf/"analyse"-analyse/"instance in top cell"/"instance in daughter cell"/int_"pin"
La trace se situe sur la pile du calculateur: cliquer sur plot.
Les courbes superposées sur un même jeu d'axes (composite) peuvent être séparées :
Axes ⇒ Strip
Pour l’exploitation des résultats, il est possible de visualiser un marqueur dans la fenêtre
waveform. Pour cela : Marker ⇒ Crosshair Marker.
Placer ensuite le marqueur à la souris dans la fenêtre waveform, BG pour le fixer. Ses
coordonnées s'affichent en bas à gauche de la fenêtre.
A partir des deux courbes, il est possible de vérifier que, pour une tension de polarisation
d’entrée, la tension de sortie est égale à celle de l'entrée. Noter cette tension, qui servira de tension de
polarisation pour les prochaines simulations de circuit.
Figure 20
ENSA de Tanger 21
22. Formation CADENCE Pr. El mourabit
Aimad
Un autre type d’information peut être très utile, il s’agit du point de fonctionnement des
composants. Pour l’obtenir : Results ⇒ Print ⇒ DC operating point., puis cliquer sur le composant.
Une fenêtre s’ouvre alors. Elle affiche tous les paramètres disponibles pour le simulateur.
En quittant la session de simulation, vous pourriez enregistrer l’état « state » pour pouvoir le
recharger ultérieurement : Session ⇒ Save state. Merci de ne pas enregistrer.
6. Simulations temporelle Transitoire et AC
Notions: Simulations temporelles, non-linéarité, fonction de transfert fréquentielle.
Le générateur d’entrée vdc va être remplacé par un générateur de sinus de type vsin. Celui-ci
permet de faire les simulations transient et AC. Les paramètres à régler pour le générateur sont les
suivants servent pour l'une et/ou l'autre des analyses.
6.1. Simulation temporelle Transitoire
Les paramètres du générateur de tension d'entrée valables pour cette simulation sont:
offset Voltage : (valeur déterminée en analyse DC ou 2 V)
amplitude : 1 V
frequency : 10K Hz
Les autres paramètres sont inopérants (car liés à d'autres types de simulation) ou non utilisés en
TP.
Il suffit de sélectionner dans la fenêtre : analyses ⇒ choose (Figure 16) la simulation de type
transient. Il faut fixer un début, une fin de même qu’un pas de simulation. Le pas de simulation peut
être soumis à des changements de la part du simulateur en cas de variation trop importante des signaux
durant la simulation.
On peut prendre pour exemple : Stop Time : 300u.
La simulation se lance de la même manière que la simulation DC. Simulation ⇒ run
Figure 21
Les résultats s’obtiennent grâce à la commande Results ⇒ Plot Outputs ⇒ Transient (après
sélection des signaux ). Noter l'amplitude de la tension de sortie.
ENSA de Tanger 22
23. Formation CADENCE Pr. El mourabit
Aimad
Une fois le résultat obtenu, refaire la simulation avec un signal d'entrée d'amplitude 3V. Commentez le
résultat en comparaison de la simulation précédente. Notez vos observations et l'amplitude de la sortie.
6.2. Simulation AC
Les paramètres du générateur de tension d'entrée valables pour cette simulation sont:
DC Voltage : 2 V (pour fixer le point de polarisation)
AC Magnituge : 1 V (= amplitude en AC)
Les autres paramètres sont inopérants (car liés à d'autres types de simulation).
Là encore, il faut choisir le type de simulation à l’aide de : analyses ⇒ choose.
Les paramètres à fixer sont :
la fréquence basse :10 Hz par exemple (tapez simplement 10)
la fréquence haute :10 GHz ( 10G )
la variation: 10 points par décade en type logarithmique, OK.
Puis, Simulation ⇒ run.
Pour afficher, les courbes : Results ⇒ Plot Outputs ⇒ AC.
Les deux courbes qui s’affichent donne le niveau du signal pour une fréquence donnée.
Figure 22
Une fois le résultat obtenu, refaire la simulation avec un signal d'entrée d'amplitude 3V.
Commentez le résultat en comparaison de la simulation précédente. Commentez ces résultats en
comparaison de la simulation trans.
ENSA de Tanger 23
24. Formation CADENCE Pr. El mourabit
Aimad
6.3. Utilisation de la calculatrice
Le calculateur permet aussi d’exploiter les résultats. Pour l’ouvrir, dans la fenêtre waveform :
Tools ⇒ calculator
Figure 23
Ce calculateur utilise une structure de pile, comme sur les calculatrices de marque Hewlett-Packard.
Le calculateur présente différentes fonctionnalités :
• browse : pour aller chercher les résultats dans leur répertoire et les placer dans la pile.
• wave : pour sélectionner une courbe dans la fenêtre waveform et les placer dans la pile.
• erplot : pour afficher la courbe du haut de la pile en effaçant celles déjà présentes
• plot : pour afficher la courbe du haut de la pile sans effacer celles déjà présentes
• print : pour afficher le résultat du haut de la pile sous forme texte.
Le calculateur va nous permettre de tracer le diagramme de Bode du montage. Pour cela :
1. cliquer sur wave .
2. sélectionner la courbe out de la fenêtre waveform pour la placer dans la pile.
3. sélectionner la courbe in de la fenêtre waveform pour la placer dans la pile.
4. cliquer sur / dans le calculateur qui effectue l'opération entre les objets du haut de la pile.
5. cliquer sur db20 qui effectue l'opération sur l'objet du haut de la pile.
6. puis plot
La courbe s’affiche.
De même, il est possible de déterminer la bande passante du montage de façon plus pratique.
1. cliquer sur wave
2. sélectionner la courbe out de la fenêtre waveform
3. cliquer sur special fonction en gardant le doigt appuyé
4. choisir bandwith
5. une fenêtre s’affiche : puisqu’il s’agit d’un passe-bas et que l’on veut la fréquence à
-3db : OK
6. cliquer sur print
Avant de passer à la phase de layout, il est préférable de fermer l’ensemble des fenêtres.
ENSA de Tanger 24
25. Formation CADENCE Pr. El mourabit
Aimad
Calculator : window ⇒ close
simulateur : session ⇒ quit
wafeform : window ⇒ close
schematic : window ⇒ close
7. Dessin des masques
On ne dessine des masques que pour les circuits réels. Il est donc absurde de vouloir dessiner
des masques pour une cellule de simulation
Le dessin des masques se fait dans une fenêtre de type Layout. Pour cela, il faut créer une vue
layout sur la cellule inv dans le library manager. L’outil de conception du layout s’appelle virtuoso.
Cette cellule s'ouvre automatiquement. L’ouverture de la fenêtre va provoquer l’apparition
d’un autre outil qui est la fenêtre LSW ( Layer Status Windows). Elle présente l'ensemble des couches
accessibles pour dessiner, représenter et vérifier un layout, mais aussi pour annoter ce layout.
Pour chaque couche, on peut voir le nom, le motif de remplissage graphique ainsi que la couleur.
Les couches dessinées apparaissent plusieurs fois, avec des extensions différentes: Drawing (dg), Net (nt)
ou Pin (pn).
La couche dg sert à dessiner le masque en layout. La couche pn sert à réaliser les
interconnections hiérarchiques (comme les pin en schematic). La couche nt est utilisée pour les étapes
de vérification du layout.
ENSA de Tanger 25
26. Formation CADENCE Pr. El mourabit
Aimad
Pour se rendre compte de l’influence de cette fenêtre sur le
design, nous allons poser un rectangle de MET1 dans la fenêtre
layout.
La couche active, c’est à dire, celle qui sert pour le dessin est
encadrée en noir. Ci-contre, c’est le NTUB qui va servir.
Il faut sélectionner le MET1 dg. Pour cela, il suffit de cliquer
dessus.
Ensuite dans la fenêtre layout : Create ⇒ rectangle
Puis placer un rectangle de MET1. Les instructions s’affichent
dans la barre située au bas de la fenêtre layout. Faire de même
avec un rectangle de POLY1 dg.
Pour quitter la commande rectangle : touche Esc au clavier.
Il est alors possible de sélectionner le MET1.
Les 4 boutons situés en haut de la fenêtre LSW vont permettre
de modifier les propriétés de l’ensembles des couches.
• AV : All Visible
• NV : Non Visible
• AS : All Selectable
• NS : Non Selectable
Si l’on clique sur NS, le MET1 n’est plus sélectionnable. Pour
retrouver les propriétés du départ : AS.
Si l’on clique sur NV et l’on fait Window ⇒ redraw, le MET1
disparaît. AV puis Window ⇒ redraw redonne l'aspect initial.
Il est aussi possible d’agir sur une seule couche à la fois :
• Bouton du milieu (BM) : invisible,
• Bouton de droite (BD) : non sélectionnable.
Figure 24
ENSA de Tanger 26
27. 7.1. Cellules paramétrées
7.1.1. Les transistors
Il serait possible de dessiner chaque couche des nmos4 et pmos4 de façon manuelle, mais
CADENCE IC possède des outils qui vont permettre de créer automatiquement le pmos4 et le nmos4.
Pour effacer les rectangles déjà posés, il faut les sélectionner, puis touche Del au clavier.
Pour importer instancier un nmos4 : Create ⇒ instance (ou i au clavier).
A l’aide du bouton Browse, aller chercher la vue layout du nmo4s dans la librairie SCHEMA,
puis la placer dans la fenêtre layout. Utiliser la touche Esc au clavier pour quitter la commande.
La commande : Windows ⇒ fit All (ou f au clavier) permet d’afficher le layout déjà dessiné
sur l’ensemble de la fenêtre.
Il arrive que, lorsque l’instance est placée, seul son nom apparaisse. Pour visualiser l’ensemble
des couches taper Shift F au clavier.
En coupe, le transistor NMOS de la technologie utilisée se présente de la façon suivante :
G r ille
S o urce D ra in
Oxyde épais de champ
N + N +
Vue de coupe
Substrat dopé P
P
L
d iffu sio n
Vue de dessus
G r ille p o ly silic iu m
(Comparable au couches dessinées)
S o urce
D r a in
W
d iffu sio n
Figure 25
La technologie AMS utilisée est bâtie sur un substrat de type P. A partir de ce substrat, il faut
ouvrir une zone active dans l’oxyde de champ, c’est le rôle de la couche DIFF (diffusion). Cette zone
de diffusion n’étant recouverte par aucune autre couche, il s’agit d’une zone N+ par défaut.
28. Le rectangle de couche POLY1 (polysilicium n°1) va permettre de créer la grille, qui absorbe
l'implantation des dopants N+ pendant la fabrication.
Les autres couches, comme MET1 (métal n°1) ou les contacts, vont permettre la connection
des dispositifs entre eux.
Dans la mesure du possible, on utilise les couches METx (ici MET1 et MET2) pour les
interconnections de dispositifs. Eventuellement, on peut utiliser les POLYx (ici POLY1) pour des
distances très courtes.
Nous allons ensuite importer le pmos4 de la même manière que le nmos4 :
G r ille
S o urce D ra in
P+ P+
N
Caisson (Tub) dopé N
Substrat dopé P P
N TUB
L N TUB
d iffu sio n
G r ille p o ly silic iu m
S o u rce
D r a in
W
d iffu sio n
N TU B N TUB
Figure 26
La couche NTUB définit les limites du caisson N nécessaire à la constitution d'un PMOS. La
zone active est recouverte par de la couche PPLUS. Les diffusions sont donc de type P.
En fait les masques NPLUS et PPLUS doivent se superposer. Là où la couche NPLUS est
présente, il n’y aura pas d’implantation N+ ("couche d'exclusion" ou "couche négative"); là où la
couche PPLUS est dessinée, il y aura une implantation P+ ("couche d'inclusion" ou "couche positive").
Cela peut se résumer de la façon suivante :
• NPLUS & PPLUS = implantation de Bore (dopant P).
• NPLUS seul = implantation interdite de Bore (dopant P) et d'Arsenic (dopant N).
• PPLUS seul = pas d'implantation de dopants (sans intérêt pour une zone de DIFF).
• ni NPLUS ni PPLUS = implantation d'Arsenic (dopant N).
29. La couche NPLUS n’est pas dessinée, car elle pourra être rajoutée automatiquement par la
suite. De même que la couche FIMPLANT qui doit se superposer avec le NTUB.
Les propriétés d’une cellule paramétrée sont accessibles grâce à :
Edit ⇒ properties puis cocher parameter
Un changement des paramètres (par exemple W) se répercute sur le layout après OK.
7.1.2. Les interconnections entre couches
Il existe plusieurs types d'interconnections :
• MET1 / MET2 : Via_C qui utilise la couche intermédiaire VIA
• MET1 / POLY1 : P1_C qui utilise la couche intermédiaire CONT
• MET1 / DIFF : ND_C qui utilise la couche intermédiaire CONT
• MET1 / DIFF & PPLUS : PD_C qui utilise la couche intermédiaire CONT
La commande permettant d'importer des contacts :
Create ⇒ contacts
Choix du type de contacts
Figure 27
Les paramètres utiles sont :
• justification : Cela correspond à la position de l’origine de la barre de contacts. Pour
un seul contact, cette option n’a aucune influence.
• Width, Length : définissent la taille du contact élémentaire.
• Rows, Columns : permettent de choisir le nombre de contacts dans chaque direction.
• Delta x, y : sont les distances séparant les contacts dans chaque direction.
30. 7.2. Layout de l'amplificateur inverseur
7.2.1. Dispositifs actifs et connections extérieures.
Le but est de réaliser le layout de l’amplificateur inverseur dont le schematic a été créé et
simulé avec succès. On souhaite que les entrées et sorties (in, out, vdd, et vss) de l'amplificateur soient
disponibles en couche MET2.
Un certain nombre de règles de dessin des couches du layout sont imposées par le fondeur. Il y
a des règles liées à la technologie de fabrication et à la fiabilité de fonctionnement du circuit: ce sont
les règles de conception (Design Rules - DR). D'autres règles sont liées à la sécurité électrique du
circuit: ce sont les règles électriques (Electrical Rules - ER).
Ces règles sont internes à une couche (longueur minimale, espacement minimal…) ou entre couches
(inclusion, exclusion, espacement maximal , espacement minimal …).
Dans la suite de ce document, les règles qui vous seront données seront soulignées.
Pour cela, il faut placer, un pmos4 et un nmos4 dont les tailles correspondent à celle du schematic.
Puis, créer les contacts sur les grilles:
Create ⇒ contact
placer un P1-C en bout de grille de chaque transistor.
Le POLY1 non actif doit se situer à plus de 0.4 µm de la diffusion et la distance entre deux
METx est de 1 µm minimum.
Il est possible de mesurer les distances, grâce à la commande :
Window ⇒ Create ⇒ ruler puis cliquer dans le layout pour créer une réglette.
Pour avoir accès aux options d'une commande, tapez la touche F3 au clavier.
Il faut ensuite placer les via_C qui permettent les connexions extérieures.
• Le premier en entrée. Le bord de VIA doit se trouver à plus de 1.2 µm du POLY1.
• Le deuxième en sortie.
• Le troisième pour vdd!.
• Et le dernier pour vss!.
Il faudra ensuite relier les via_C aux parties concernées.
7.2.2. Les contacts substrat
Electrical Rule: Pour que les dispositifs NMOS fonctionnent correctement, il faut que le
substrat se situe au potentiel le plus bas : dans notre cas vss!.
31. Nous allons donc entourer le nmos4 de prises de contacts sur le substrat. Il s’agit de contacts P+
(PD_C). On en place plusieurs barres, afin de créer un anneau de polarisation du substrat à vss!. La
distance minimale entre des couches MET1 est de 1 µm. La distance minimale entre des objets DIFF
est de 1.8 µm.
Ensuite, il faut polariser le caisson NTUB du pmos4 à un potentiel supérieur ou égal à celui du
Drain, et au plus au potentiel le plus haut de l'alimentation: dans notre cas vdd!. Il faut placer des
contacts ND_C sur le NTUB. Le NTUB du pmos4 est trop petit pour pouvoir accueillir les contacts. Il
faut donc placer les contacts, puis les recouvrir (au moins jusqu'à la limite de DIFF) de NTUB.
7.2.3. Connexions internes au circuit inverseur
Il existe plusieurs façons de réaliser les connexions:
sélectionner la couche de départ, puis
• par des rectangles Create ⇒ rectangle.
ou
• par un chemin de connection Create ⇒ path (options avec touche F3 au clavier).
Le path est un objet qu’il est plus facile de faire évoluer par la suite.
Réaliser les connexions à l’aide des deux méthodes.
Il est possible de déplacer une instance, ou un métal en le sélectionnant puis :
• en le faisant glisser,
ou
• Edit ⇒ move (options avec touche F3 au clavier).
La commande Edit ⇒ stretch permet de faire évoluer la forme d’un rectangle ou d’un path.
On peut par exemple sélectionner le coin d’un rectangle puis Edit ⇒ stretch. De même si l’on clique,
sur le trait central ou l'angle d’un path, il est possible de ne faire bouger qu’une partie de celui-ci.
7.2.4. Création des pin d'entrées et sorties
Il y a 4 entrées / sorties (Input/Output ou I/O) à placer : deux alimentations et deux connexions.
Pour le dessin, nous avons utilisé les couches à extension dg (« drawing »). Pour le placement des I/O,
nous utilisons les couches avec l’extension pn (pin).
Pour placer une pin : sélectionner un couche avec extension pn, puis Create ⇒ pin
Dans la fenêtre qui apparaît, cocher Display pin name. Cela va permettre de visualiser le nom
donné à la pin dans la vue layout.
En plaçant les pins, il est important de bien respecter le type input, output etc... Les
alimentations doivent avoir pour direction input/output.
Placer les pins en MET2.
32. Figure 28
Le dessin du layout est terminé.
8. Les vérifications de layout
8.1. Vérification des règles de dessin: Design Rules Check (DRC)
Le DRC a pour but de vérifier si toutes les règles de dessin ont été respectées. Pour lancer le
DRC :
Verify ⇒ DRC
Il va alors s’afficher sur le design, des marqueurs clignotants indiquant les erreurs. Toutes les
erreurs s’affichent dans la fenêtre CIW. Pour connaître la signification d’un marqueur :
Verify ⇒ marker ⇒ explain
D’autres commandes sont disponibles dans le même menu, pour l’effacement, la recherche
etc...
Lors du premier DRC, il est probable qu’il apparaisse les erreurs suivantes :
NPLUS and PPLUS not identical
NTUB and FIMP not identical.
8.1.1. Une utilisation détournée du DRC
Nous avons vu au paragraphe 7.1.1 les raisons de ces erreurs. Il reste alors à rajouter l’arsenic
sur le bore et le F_IMPLANT sur le NTUB. Cela peut être fait manuellement.
33. Comme cela utilise certaines fonctions également utilisées pour le DRC, on a détourné la
fonction "pure" du DRC pour lui faire générer des couches automatiquement:
Verify ⇒ DRC
Puis dans le champ DRC : cliquer sur le bouton set switches
A l’aide de la touche CTRL et de la souris sélectionner generate_FIMP et generate_NPLUS.
Puis cliquer sur OK.
Puis OK dans la fenêtre DRC.
Le DRC ne recherche pas les erreurs de règles de dessin, mais crée des objets dans les couches
F_IMPLANT et NPLUS conformément aux règles de dessin.
8.1.2. Retour à plus d'orthodoxie
Pour effectuer une vérification DRC, il faut donc ré-utiliser le DRC en effaçant le contenu du champ
switch avant de cliquer sur OK.
Il arrive que lors de l’effacement de certains marqueurs, il reste un contour rouge qui empêche
la commande Window ⇒ fit all de fonctionner correctement. Pour enlever ce contour rouge, il faut
avoir accès à la couche changed T0, mais elle n'apparaît pas dans LSW. Pour cela:
Fenêtre LSW: Edit ⇒ select valid layer
Chaque couche disponible apparaît, et doivent être cochées pour être utilisables dans la fenêtre
LSW.
Cocher changed T0 puis OK
La couche apparaît en fin de liste dans la fenêtre LSW. Il est alors possible de la rendre
invisible et/ou sélectionnable. Effacer tous les objets dans cette couche, puis Window ⇒ fit all.
8.2. L’extraction (Extract)
Verify ⇒ extract OK
CADENCE va alors générer une vue extracted dans la cellule. Cette vue contient les dessins
des masques en couche NT (Net) ainsi que les symboles des dispositifs reconnus.
Après avoir ouvert la vue extracted, faire SHIFT F. On voit alors apparaître les composants
reconnus. Il est aussi possible de cliquer sur un net et d’en demander les propriétés.
Edit ⇒properties
On peut aussi faire apparaître les connexions électriques :
Options ⇒ display, valider Nets puis OK
Il existe maintenant une vue de la cellule qui contient le dessin des masques et un "schéma
électrique" extrait du layout.
34. 8.3. La comparaison Layout-Schéma: Layout Vs Schematic (LVS)
La vérification LVS consiste à comparer la vue schéma de la cellule (et validé par la
simulation) avec le schéma extrait du layout.
Pour lancer l'outil LVS: Verify ⇒ LVS.
Figure 29
vue schematic vue extracted
Sélectionner les vues appropriées à l’aide de la touche browse de chaque catégorie:
• pour le schematic : inverseur inv schematic
• pour la vue extracted : inverseur inv extracted.
Puis cliquer sur Run, qui lance la vérification en processus de fond.
Monitor : Pour visualiser les taches actives ou déjà effectuées.
Output : Pour voir le résultat du LVS.
CADENCE vous indique la fin de LVS par une fenêtre popup, qui indique si l'exécution a
aboutie ou s’il y a eu un problème. Dans le cas positif, le résultat de la comparaison:
Dans la fenêtre LVS : bouton Output
35. Le fichier output doit indiquer «The netlists match ». Dans le cas contraire, une série
d'information vous est fournie pour identifier les problèmes et corriger le layout:
Unmatched (sans correspondance), rewired (correspondance après modification), size error (erreur de
dimensionnement), pruned (élagué) et active (correspondance OK).
8.4. Simulation post-layout
Les simulations effectuées avec la vue schematic ne prenaient en compte qu'une estimation des
paramètres secondaires des dispositifs (exemple: capacités parasites…). Maintenant que le layout est
réaliser, il est possible de réaliser une simulation avec les valeurs dessinées des paramètres secondaires
des dispositifs.
Pour cela, lancer Tools ⇒Analog Environment dans la fenêtre schematic de la cellule de
simulation, puis Set Up ⇒ Environment, dans le champ « Switch View List » insérer extracted avant
schematic. Relancer la simulation, qui utilisera alors les paramètres du schéma extrait du layout.
Figure 30
9. ANNEXES
9.1. ANNEXE 1 : calcul de dimensionnement
9.1.1. Point de repos : Vin = 2 V, Vout = 3 V
L’amplificateur inverseur va être alimenté en +5 / 0 volts. Pour cette alimentation, on désire
avoir une tension de sortie de 3 volts lorsque l’entrée vaut 2 volts.
36. Les paramètres technologiques des deux MOS sont les suivants :
PMOS : NMOS
• Kp = 44.1 µA/V2 • Kn = 109 µA/V2
• |Vtp| = 0.779 Volts • Vt = 0.8846 Volts
Si Vin= 2 V, alors Vgsn= 2 V et Vdsn= 3 V. Le courant Idn du NMOS (en saturation) est donné
par :
Id =Kn Wn (Vgsn − n )
2
Vt
2 Ln
En l’absence de charges sur la sortie, Idn = |Idp|.Or |Idp| est donné par la même formule :
Id =K p Wp (Vgs p − p )
2
Vt
2 Lp
On a donc :
K p Wp (Vgs p − p )2 =Kn Wn (Vgsn − n )2
Vt Vt
2 Lp 2 Ln
Pour simplifier, nous choisirons Wn= 10 µm Lp=Ln= 0.8 µm. Il ne reste plus qu’à calculer Wp.
Wp = Kn Wn
(Vgsn −Vtn ) 2
K p (Vgs p − p )2
Vt
Application numérique :
Wp =109× ×
10
( 2−0.8846) ≅20µm 2
44 ( −2−(−0.779))2
Il est ensuite possible de prévoir le gain du montage : pour cela, on utilise le schéma équivalent
suivant :
G r i l l e D r a i n
V g s G m V g s
S o u r c e
Figure 31
Le schéma équivalent de l’amplificateur devient :
37. 1 /G m 2
G m 1 V in
V in
V in
Figure 32
Gm1
Il est alors évident que le gain A = −
Gm2
W
Pour un Mos Gm= 2×K × ×Id
L en régime de saturation
Si l’on fait le rapport des deux Gm, on obtient :
A= Kn Wn Lp
K p Ln Wp
Comme on a choisit Ln = Lp, l’application numérique devient :
109 10
A= = 1.1
44 20
9.1.2. Point de repos : Vin = 3 V, Vout = 1 V
Si Vin= 3 V, alors Vgsn= 3 V et Vdsn= 1 V. Le courant Idn du NMOS (en régime ohmique) est
donné par :
Id =K n Wn [2⋅ Vgsn − n )⋅
( Vt Vdsn −Vdsn ]
2
2 Ln
En l’absence de charges sur la sortie, Idn = |Idp|.Or |Idp| est donné par la même formule :
K p Wp
( Vgs )
2
Id = p − Vt p
2 Lp
On a donc :
38. K n Wn [2⋅ Vgsn − n )⋅
( Vt Vdsn −Vdsn ]=K p Wp (Vgs p − p )
2 Vt
2
2 Ln 2 Ln
Pour simplifier, nous choisirons Wn= 10 µm Lp=Ln= 0.8 µm. Il ne reste plus qu’à calculer Wp.
Wp =K n 2⋅(Vgsn − n )⋅
Vt Vdsn − Vdsn
2
Wn K p (Vgs p − p )
Vt
2
Application numérique :
2⋅(3−0.8846)⋅ − 2
1 1
Wp =109× ×
10 ≅8µm
44 ( −4−(−0.779))2
Le gain est alors en régime de saturation pour les deux transistors (par exemple pour Vin = 2V)
A= 109 10 = .75
1
44 8