Académique Documents
Professionnel Documents
Culture Documents
sous CADENCE
1
SOMMAIRE
1. Le logiciel CADENCE/…………………………………….. 3
1.1. Généralités………………………………………… 3
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.
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.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
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 :
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.
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 :
Browse
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.
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.
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.
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.
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.
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.
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.
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 :
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 ?
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.
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.
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 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 :
Il est possible de placer plusieurs contact en même temps, en remplissant les options de la
fenêtre Create Contact : Rows et Colums.
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.
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 :
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 :
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
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.
Puis Run.
Le fichier output doit indiquer « The net-lists match ». Dans le cas contraire, il faut corriger le
layout si le schematic est correct.
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