Vous êtes sur la page 1sur 23

Conception de l’amplificateur Milller

sous CADENCE

1
SOMMAIRE
1. Le logiciel CADENCE/…………………………………….. 3

1.1. Généralités………………………………………… 3

1.2. Lancement du logiciel…………………………….. 3

1.3. Le gestionnaire de librairies……………………… 4


1.3.1. Ouverture…………………………………… 4
1.3.2. Arborescence……………………………….. 5

1.4. Saisie du schéma de l’amplificateur « Miller »…. 5


1.4.1. Ouverture de la vue schematic……………... 5
1.4.2. Ajout de composants dans la vue schematic.. 6
1.4.3. Création des fils……………………………. 7
1.4.4. Ajout de la pin de sortie……………………. 8
1.4.5. Vérification du schéma……………………... 8

1.5. La simulation ……………………………………... 8


1.5.1. Choix de l’analyse………………………….. 10
1.5.2. Lancer la simulation………………………… 11
1.5.3. Résultat de simulation………………………. 11
1.5.4. Analyse fréquentielle et analyse transitoire… 12

1.6. Dessin des masques………………………………... 13


1.6.1. Ajout de composants dans la vue layout…… 14
1.6.2. Connexion des composants………………… 15
1.6.3. Placement de la pin de sortie……………….. 16
1.6.4. Fin du layout………………………………... 17
1.6.5. Le DRC……………………………………... 18
1.6.6. L’extract…………………………………….. 18
1.6.7. Le LVS……………………………………… 19
1.6.8. Simulation post-layout……………………… 20

2
Le concepteur va réaliser toutes les étapes jusqu’au dessin des masques. Le fondeur va ensuite
récupérer les données pour fabriquer le circuit.

Le logiciel CADENCE est un outil qui va servir pour la simulation et pour le dessin des
masques. Le passage des données entre le concepteur et le fondeur se fait à l’aide d’un fichier
de type GDSII.

1. Le logiciel CADENCE

1.1. Généralités
Lorsque l’on désire réaliser un asic, la première chose à faire est de choisir un fondeur. Celui-ci
se chargera de la fabrication des puces à partir du dessin des masques (layout).

Ce fondeur va utiliser un procédé de fabrication qui lui est propre. Ce procédé va donner à ses
composants des caractéristiques particulières. Cela se traduit, par exemple, pour un transistor
bipolaire, par une valeur ß précise.

Pour pouvoir réaliser les simulations, le fondeur fournit une bibliothèque de composants pour la
conception en full custom. Il peut aussi fournir des cellules standard comme des amplificateurs
si l’on désire travailler en standard cells.

Il est donc indispensable de posséder ce que l’on appelle le fichier technologique du fondeur
pour pouvoir faire la conception d’un asic. Dans notre cas, nous travaillerons avec les
composants de ST.

1.2. Lancement du logiciel


CADENCE va utiliser un répertoire de travail dans lequel, il placera tous les fichiers dont il
aura à se servir. Ce répertoire existe déjà : cd formation.

Sous ce répertoire, il faut ensuite lancer la commande suivante : icfb&

La fenêtre suivante apparaît à l’écran

Ligne de commande Fichier de sortie

3
Cette fenêtre est la fenêtre principale de CADENCE. C’est elle qui va donner 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 ICFB-LOG.

Cette fenêtre va afficher tous les commentaires ainsi que les éventuels messages d’erreurs.
Toutes les informations qui s’affichent dans la fenêtre ICFB-LOG sont reportées dans un
fichier 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.

1.3. Le gestionnaire de librairies

1.3.1. Ouverture

Il se peut que la fenêtre ICFB-LOG 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 ICFB-LOG :
Tools ⇒ Library Manger

La fenêtre suivante apparaît :

4
1.3.2. Arborescence
Les fichiers sont organisés en LIBRAIRIES / CELLULES / VUE, par exemple, la cellule de
l’amplificateur « Miller » se trouve dans la librairie AOP, et est la cellule ampli_miller. Il
existe différentes vues de cette cellule :

- schematic : pour la mise en place du schéma


- layout : pour la réalisation du dessin des masques
- extracted : pour la vérification des masques
- symbol : pour utiliser l’amplificateur « Miller » dans d’autres cellules

1.4. Saisie du schéma de l’amplificateur « Miller »

1.4.1. Ouverture de la vue schematic


Dans la fenêtre Library Manager, sélectionnez la vue schematic de la cellule
ampli_miller_to_finish dans la libraire AOP. Mais, comme cette cellule est en mode lecture
seulement, copiez la dans votre propre librairie afin de pouvoir l’éditer.

[schematic] edit ->copy


5
Ensuite pour éditer la vue schématique, Cliquez dessus et appuyez sur le bouton du milieu de
la souris (BM) et choisissez edit.

La fenêtre schematic apparaît :

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 erreurs
- SHEET : Gestion des pages.

6
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.

1.4.2. Ajout de composants dans la vue schematic

Le schéma de l’amplificateur n’étant pas complet, le but de cette partie va être de le compléter.
Pour cela, il faut ajouter les transistors manquants ; dans la fenêtre schematic, sélectionnez
Add ⇒ instance (ou taper i au clavier pour insert). La fenêtre suivante apparaît :

La touche Browse va permettre de se déplacer dans le library Browser pour sélectionner le


composant

Browse

Dans le Library Browser sélectionner la librairie devices_sumbol ⇒ NTRANS ⇒ nHSmos4


=> symbol, puis close.

La fenêtre ci-dessus affiche alors les paramètres relatifs au nHSmos4 : W, L etc…. Pour le
placer 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.

De la même manière, on va placer le pHSmos4 au-dessus du nHSmos4, puis la capacité Miller.


Pour la capacité Miller, il faut sélectionner devices_symbol ⇒ CAPACITORS ⇒ cdonwpol
=> symbol.

Une fois ces trois composants placés, il faut fermer la fenêtre Add instance : Cancel.

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.

7
Il est ensuite possible de déplacer un composant, de le faire tourner, etc… avec la commande
Edit ⇒ Move.

Pour modifier les paramètres d’un composant : Edit ⇒ Properties puis cliquer sur le
composant. On va ainsi définir :
• Pour le transistor NMOS : W=20u, L=1um, finger=4, et number of decices in // = 2
• Pour le transistor PMOS : W=50u, L=3um, finger=4, et number of decices in // = 1
• Pour la capacité : c=1p, W=20um.

Il reste ensuite à relier les deux transistors.

1.4.3. Création des fils

Add ⇒ Wire (narrow)

Avec le bouton de gauche pointer sur une pin 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 la sortie à placer.

1.4.4. Ajout de la pin de sortie

Add ⇒ Pin
Nom type

Fig. 1.4.4-1

Placer une pin s comme output. Puis, placer la pin sur le schéma en cliquant sur le bouton
gauche de la souris. Enfin, quitter la fenêtre Add Pin en cliquant sur Cancel.

Pour terminer la définition du schéma de l’amplificateur Miller, il ne reste plus qu’à relier par
un fil la pin de sortie, comme décrit précédemment.

1.4.5. Vérification du schéma

Il faut ensuite vérifier et sauver le schéma : Design ⇒ Check and Save.

8
Il ne doit rester ni warning, ni erreurs. Sur certains schémas, il est possible qu’il reste des
warnings, notamment si certaines pins restent en l’air.

Le schéma étant prêt, il ne reste plus qu’à le simuler.

Window ⇒ close

1.5. La simulation
Pour simuler le schema déjà realisé, nous allons utiliser les cellules test_DC, test_AC et
test_tran. Ces trois cellules sont des vues schematic qui utilisent la vue symbol de
l’amplificateur Miller.

Sélectionnez la cellule test_DC et ouvrez la vue schematic. La fenêtre suivante apparaît :

Cette cellule est constituée d’un amplificateur Miller, qui est polarisé par des sources de tension
et des sources de courant. Pour lancer le simulateur, Tools ⇒ Analog Artist. Cela ouvre la
fenêtre ci-après.

9
Cellule à simuler Simulateur

Avant de lancer la simulation, il faut définir son type, sa durée et les éléments que l’on désire
visualiser.

1.5.1. Choix de l’analyse.


Des options prédéfinies de simulations ont été stockées. Pour les sélectionner, cliquez Session
=> LoadState. La fenêtre suivante apparaît :

10
Choisissez DC puis cliquez sur OK. Dans la fenêtre de simulation, le type de simulation ainsi
que les résultats à visualiser sont désormais définis. La fenêtre de simulation doit alors être :

1.5.2. Lancer la simulation


L’amplificateur Miller est monté en suiveur de tension. Nous allons commencer par simuler le
montage de façon statique pour différentes tensions d’entrée. Nous allons visualiser l’entrée, la
sortie, et la différence de ces deux signaux.

Dans la fenêtre de simulation, cliquez sur Simulation => run.

Une première fenêtre apparaît et indique l’avancement de la simulation. Si la simulation est


incorrecte, l’erreur est reportée dans cette fenêtre.

1.5.3. Résultat de simulation


La fenêtre Waveform Window se met à jour et affiche les signaux à visualiser. La courbe du
haut représente les tensions d’entrée et se sortie du montage suiveur, et la courbe du bas
représente la différence de ces deux signaux. On peut alors lire sur ces courbes la plage sur
laquelle le suiveur fonctionne correctement.

11
La simulation DC de l’amplificateur Miller est terminée. Dans la fenêtre de simulation, cliquez
sur Session => Quit. Si un message apparaît pour sauver l’état de la simulation, cliquez sur
NO.
Relevez la bande de tension dans laquelle l’ampli_miller fonctionne correctement en suiveur.
Commentez
1.5.4. Analyse fréquentielle et analyse transitoire
12
Répétez la même opération que précédemment en simulant l’amplificateur Miller à partir des
cellules test_AC et test_tran. Relevez les caractéristiques de l’amplificateur : gain, bande
passante, marge de phase, slew rate, settling time. Comparez-les à des valeurs usuelles.
L’amplificateur est-il performant ?

1.6. Dessin des masques

Le dessin des masques se fait dans une fenêtre de type Layout. Pour cela, il faut éditer une vue
layout sur la cellule ampli_miller. L’outil de conception du layout s’appelle Virtuoso.

Il faut ensuite ouvrir cette cellule : dans le library manager, sélectionnez la vue layout de la
cellule ampli_miller. Ouvrez en cliquant avec le BM de la souris (edit). L’ouverture de la
fenêtre va provoquer l’apparition d’un autre outil qui est la fenêtre LSW (Layer Status
Windows).
13
La fenêtre LSW indique l’ensemble des couches utilisables.
Pour chaque couche, on peut voir le symbole graphique ainsi
que le nom de la couleur. Il est important de n’utiliser que les
couches dg pour dessiner les masques.

Cette fenêtre sert à sélectionner la couche physique que l’on


va dessiner. L’outil LSW permet en outre de modifier
l’apparence des différentes couches.

Les boutons AV, NV, AS et NS permettent de rendre visibles


et sélectionnables les couches physiques dans la fenêtre
layout.

La définition des différentes couches se trouve dans le DRM


(Design Rules Manual) qui est un document décrivant toute la
technologie ST 0,18 µm.

1.6.1. Ajout de composants dans la vue layout


Comme pur la vue schematic, le dessin de l’amplificateur Miller est incomplet. Il manque les
transistors NMOSHS et PMOSHS de sortie, ainsi que la capacité Miller Cdownpol ; la pin de
sortie non plus n’est pas sur le dessin. Faites une copie pour pouvoir le compléter.
La fenêtre layout se présente comme suit :

14
Il arrive que seuls les noms des composants apparaissent. Pour visualiser l’ensemble des
couches : Shift F.

Pour importer l’instance nHSmos4 : Create ⇒ instance (ou taper la touché i).

A l’aide de la touche Browse, aller chercher la vue layout du nHSmos4 dans la librairie
devices_symbol puis le placer dans la fenêtre layout. Esc pour quitter la commande.

De même, placez les instances pHSmos4 et CdonwPo1.

La commande : Windows ⇒ fit All ou f permet d’afficher le design sur l’ensemble de la


fenêtre.

Le but va être de réaliser le layout de l’amplificateur Miller déjà simulé. Pour cela, il faut
connecter le pHSmos4, le nHSmos4 et la capacité Miller comme dans le schematic. De
plus, leurs paramètres doivent être identiques à ceux définis dans le schematic. Pour régler les
paramètres de ces 3 composants, sélectionnez en un puis cliquez sur Edit ⇒ Properties ⇒
parameter
15
On a ainsi défini :

• pour le transistor NMOS : W = 20u, L = lum, finger = 4


• pour le transistor PMOS : W = 50u, L = 3um, finger = 4
• pour la capacité : c = 1p, W = 20um.

Dans le schematic, on avait « number of decices in // = 2 » pour le transistor nHSmos4. Il faut


donc dupliquer ce transistor grâce à un « copier-coller ». Pour cela, sélectionnez le transistor
nmosHS, puis cliquez sur : edit => copy. Avec le bouton gauche de la souris, cliquez une fois
sur le transistor, déplacez la souris, puis cliquez une seconde fois sur le bouton gauche de la
souris pour placer l’instance copiée.

1.6.2. Connexion des composants


Comme pour la vue schematic, il faut relier les composants que l’on vient d’ajouter au reste du
circuit, les connexions se font par des fils de métal ou de polysilicium. Pour créer une
connexion en métal, cliquez sur metal1 dg dans la fenêtre LSW. Puis, dans la fenêtre layout,
choisissez : Create => Path. Cliquez une première fois (bouton gauche) sur le layout pour
indiquer le premier point de la connexion, puis cliquez une fois (bouton gauche) à chaque fois
que vous voulez que le Path ait un angle. En fin, pour terminer la connexion, appuyez sur
Enter.

Pour créer une connexion en polysilicium (pour relier des grilles de transistors), pensez à
sélectionner la couche poly dg dans la fenêtre LSW.

Pour connecter deux niveaux physiques différents, on utilise des contacts (connexions
Silicium/Métal, Poly/Métal) ou des vias (connexions Métaln/Métaln+1). Pour ajouter un
contact, cliquez sur : Create => Contact. La fenêtre suivante apparaît :

16
Pour sélectionner le type de contact choisissez dans contact type :

• NTAP : connexion métal 1 / substrat N


• PTAP : connexion métal 1 / substrat P
• M1_LIL : connexion métal 1 / LIL (interconnexion locale en Tungstène)
• M1_N : connesion métal 1 / implantation N
• M1_P : connexion métal 1 / implantation P
• M1_POLY : connexion métal 1 / polysilicium
• M2_M1 : connexion métal 2 / métal 1
• M3_M2 : connexion métal 3 / métal 2
• M4_M3 : connexion métal 4 / métal 3
• M5_M4 : connexion métal 5 / métal 4
• M6_M5 : connexion métal 6 / métal 5

Il est possible de placer plusieurs contact en même temps, en remplissant les options de la
fenêtre Create Contact : Rows et Colums.

Finissez de dessiner la vue layout de l’amplificateur Miller en plaçant correctement les


composants nHSmos4, pHSmos4 et cdonwpo1 grâce à la commande : edit => Move de la
fenêtre layout, puis en les reliant grâce à des Paths et des contacts.

1.6.3. Placement de la pin de sortie


Il reste à placer la pin de sortie. Pour le dessin, nous avons utilisé les couches DG. Pour le
placement des pins, nous utilisons les couches avec l’extension PN (pin). Dans la fenêtre LSW,
sélectionnez la couche metal1 pn. Puis, dans la fenêtre layout, cliquez sur : Create ⇒ pin.

Dans la fenêtre qui apparaît, cliquez sur Shape Pin. Cela va permettre de voir le nom donné à
la pin.

17
En plaçant les pins, il est important de bien respecter le type input, output etc….

Placer une pin s en output. Dessinez un rectangle avec la souris, puis cliquez pour placer le
nom de la pin. Pour quitter la fenêtre Create Pin, cliquez sur Cancel. Relier alors avec Path en
métal1 dg la pin et le fil sur lequel elle doit être reliée physiquement.

1.6.4. Fin du layout


Désormais, on a complété le dessin de l’amplificateur Miller. Le laouyt doit se présenter
comme suit :

Cependant, la phase de dessin n’est pas encore finie : il reste à vérifier que le circuit défini par
le layout correspond bien au schéma électrique que l’on veut implémenter, et que les règles de
dessins qu’impose la technologie de fabrication ST ont été respectées.

18
Il va falloir alors utiliser les outils suivants :

• DRC : Design Rule Check pour vérifier les règles de dessins.


• Extract : pour extraire une netlist (représentation électrique) du layout
• LVS : Layout Versus Schematic pour comparer les netlists des vues schematic
et layout

1.6.5. Le 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 ICFB-LOG. 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…

Dès qu’il n’y a plus d’erreurs de DRC, il faut ensuite vérifier si le dessin des masques
correspond bien au schéma électrique.

1.6.6. L’extract

Verify ⇒ extract OK

CADENCE va alors générer une vue extracted. Cette vue contient les dessins des masques en
couche NT (Net) ainsi que les composants reconnus.

Après avoir ouvert la vue extracted, faire SHIFT F. On voit alors apparaître les composants
reconnus. Il est aussi possible de cliquez sur net et d’en demander les propriétés.

Edit ⇒ properties

On peut aussi faire apparaître les connexions électriques :

Design ⇒ options ⇒ display puis valider Nets OK

19
Il existe maintenant une vue de la cellule correspondant aux dessins des masques qui contient
un schéma électrique, nous allons comparer ce schéma avec celui simulé.

1.6.7. Le LVS

Le LVS va se charger de comparer les deux schémas : Verify ⇒ LVS. La fenêtre LVS
apparaît.

Sélectionner les vues appropriées à l’aide de la touche browse de chaque catégorie :


• Pour le schematic :AOP / ampli_miller / schematic
• Pour la vue extracted : AOP / ampli_miller / extracted.

vue schematic vue extracted

Puis Run.

Monitor : Pour visualiser les taches actives ou déjà effectuées.


20
Output : Pour voir le résultat du LVS.

En fin de LVS, CADENCE indique si celui-ci a abouti ou s’il y a eu un problème. En cas de


succès, il faut aller voir dans le fichier output si les deux schémas sont bien équivalents :

Dans la fenêtre LVS : Output

Le fichier output doit indiquer « The net-lists match ». Dans le cas contraire, il faut corriger le
layout si le schematic est correct.

1.6.8. Simulation post-layout (optionnel)


Désormais, les vues schematic et layout sont équivalentes électriquement. Il est alors possible
de générer une autre vue extracted qui tiendra compte des résistances et des capacités parasites
du layout. Puis, on pourra relancer une simulation en tenant compte non pas de la netlist du
schematic, mais de celle de la vue extracted. Un mauvais routage peut être fatal pour un
circuit.

Sous Analog Artist (ou Analog Environment), ouvrir setup ! Environment. Dans la Switch
View List, placer extracted avant schematic. Ainsi en cours d’analyse de la netlist, la vue
extracted (qui existe) sera considérée avant la vue schematic. La vue schematic n’est prise en
compte qu’en l’absence de la vue extracted, ou bien dans l’état initiale de la Swith View List.

21
Annexe

Gain 100 db
Bande passante 1MHZ
Marge de phase 45°
Slew rate 25 V/us
Settling time 80 ns
Fréquence à Odb 50 MHZ

22
23

Vous aimerez peut-être aussi