Vous êtes sur la page 1sur 20

Universit Sidi Mohamed Ben Abdallah Facult Des Sciences Dhar El Mahraz- FsDpartement De Physique

Conception Assiste par Ordinateur (Cadence)


Anne universitaire 2012-2013 Master Spcialis Micro-lectronique

Prpar par : Karim El khadir Pr.Hassan Qjidaa

2ME

Page 1

Sommaire
I. 1) 2) 3) a) b) c) 4) Logiciel CADENCE ....................................................................................................................... 3 Gnralits ................................................................................................................................. 3 Lancement du logiciel Cadence ................................................................................................ 3 Gestionnaire de librairie ........................................................................................................... 4 Ouverture ............................................................................................................................... 4 Saisie du schma dinverseur ............................................................................................... 5 Environnement de la simulation .......................................................................................... 8 Dessin des masques .................................................................................................................. 14

2ME

Page 2

I. Logiciel CADENCE
1) Gnralits
Le logiciel CADENCE est un outil qui va servir pour la simulation et pour le dessin des masques. Le passage des donnes entre le concepteur et le fondeur se fait laide dun fichier de type GDSII. Le concepteur va raliser toutes les tapes jusquau dessin des masques. Le fondeur va ensuite rcuprer les donnes pour fabriquer le circuit. Le logiciel Cadence est un environnement unifi pour lutilisation des outils informatiques dorigines diverses. Il permet au concepteur dutiliser ces outils, avec une interface unique pour saisir, partager, communiquer et afficher des informations. Le fonctionnement dun ASIC dpend des caractristiques physiques du circuit ralis par le procd de fabrication. La premire dcision de conception est de choisir la technologie de fabrication de son circuit. Le fondeur utilise un procd de fabrication (appel technologie ) dont il matrise les tapes technologiques. Ce procd va donner aux dispositifs des caractristiques particulires: comme le dun transistor bipolaire ou le Cox dun transistor MOS. Il va galement imposer des contraintes comme la longueur minimale de grille dun transistor MOS. Le fondeur fournit un fichier technologique (Design Kit) qui fournit Cadence ces informations. Il peut aussi fournir des standard cells (cellules lmentaires telles un transistor) ou des outils spcifiques au concepteur. Dans notre cas, on va utiliser Cadence avec le Design Kith cmos8d caractris par une longueur minimale de grille de 0.18um.

2) Lancement du logiciel Cadence


Avant quon puisse lancer Cadence, il y a des fichiers de configuration dont on a besoin dans notre rpertoire de travail. Ces fichiers dterminent lenvironnement dans lequel Cadence travaille et les librairies quon doit inclure dans la session courante. A fin de configurer lenvironnement de ce Projet, il faut se rfrer la documentation Prparation des environnements des Projets en microlectronique qui se trouve dans le mme rpertoire que celui qui contient ce Projet. Une fois lenvironnement est mis en place et quon est sur le compte de travail, partir dune Console on tapera: > cd gpdk180/ > icfb & Aprs environ une minute, la fentre principale de Cadence qui sappelle CIW (Command Interpreter Window) est affiche en bas dcran :

Fig.1 : Command Interpreter Window [CIW]

2ME

Page 3

Cette fentre est la fentre principale de CADENCE. Cest elle qui va donner les informations en cas de problme. Elle comporte aussi un certain nombre de menus qui sont utiles pour le fonctionnement gnral de CADENCE. Cest la fentre ICFB-LOG. Cette fentre va afficher tous les commentaires ainsi que les ventuels messages derreurs. Toutes les informations qui saffichent dans la fentre ICFB-LOG sont reportes dans un fichier dont le nom et le chemin sont donns dans la partie suprieure. Sur cet exemple, on retrouve toutes les informations affiches dans le fichier CDS.log. Il est aussi possible de charger un fichier ou de dfinir une variable pour CADENCE. Cela se fait par la ligne de commande. Les commandes seffectuent en langage SKILL.

3) Gestionnaire de librairie a) Ouverture


Il se peut que la fentre ICFB-LOG soit la seule qui ait t ouverte lors du lancement. Pour pouvoir travailler sur une bibliothque et ses cellules, il faut pouvoir disposer du Library Manager. Pour ouvrir cette fentre, on utilise le menu suivant dans la fentre ICFB-LOG : Tools Library Manger La fentre suivante apparat :

Fig.2: Gestionnaire de librairies: Sur ce gestionnaire, on a trois blocs importants : Library > Cell > View :

2ME

Page 4

Library : elle contient les diffrentes bibliothques qui leur tour (chacune) contiennent toutes les cellules regroupes par types High Speed (HS) optimise pour la rapidit et Low Leakage (LL) optimise pour la consommation minimale et par types de technologie 0.18um et 90nm ... Cell : cest les cellules qui rfrent aux diffrentes portes. Et si on veut les classer par catgories on a qu cocher Show Categories. View : Pour chaque cellule, on a diffrentes vues : Schematic : une vue pour diter le schma lectrique et pour faire les simulations; Symbol : une vue sur laquelle on trouve le symbole de notre porte pour une utilisation comme sousensemble dans un circuit; Layout : cest une description des masques avec lesquelles notre dessin va tre fabriqu; Extracted : une vue destine la vrification lectrique des masques; Abstract : la vue utilise par les outils de placement routage automatique.

b) Saisie du schma dinverseur


Dans la fentre Library Manager, slectionnez la vue schematic de la cellule inv dans la libraire MyProject. Mais, comme cette cellule est en mode lecture seulement, copiez-la dans votre propre librairie afin de pouvoir lditer. [schematic] edit ->copy ensuite pour diter la vue schmatique, Cliquez dessus et appuyez sur le bouton du milieu de la souris (BM) et choisissez edit. La fentre schematic apparat :

Fig.3 : La fentre montrant le schma interne de linverseur


2ME Page 5

Plusieurs menus sont disponibles : TOOLS : outils de conception (simulateur, routage) DESIGN : gestion des vues et options de lditeur WINDOW : gestion de la fentre courante (Zoom) EDIT : commandes ddition ADD : Gestion des composants CHECK : Gestion des erreurs SHEET : Gestion des pages. . La barre doutils sur la gauche de la fentre permet certains raccourcis. Pour connatre la fonction de chaque bouton, il suffit de laisser le pointeur de la souris dessus, et la fonction saffiche. Il existe aussi des touches de raccourci au clavier. Pour ajouter les transistors dans la fentre schmatique, slectionnez Add instance (ou taper i au clavier pour insert). La fentre suivante apparat :

Fig.4 : Fentre permettant linsertion de nouveaux composants A laide de la touche Browse, on va pouvoir slectionner chacun des composants manquant se trouvant dans Library Browser : Pour le transistor NMOS : Dans le library Browser, on slectionnera : la librairie gpdk180 > la cellule nmos > la vue symbol. La fentre de la fig.5 affiche alors les paramtres relatifs ce transistor (nmos) et les boutons pour pouvoir modifier la position du symbole afin de faciliter la lecture du schma (rotation, miroir horizontal, miroir vertical). Pour placer le symbole du dispositif sur le schma, il suffit de ramener le pointeur de la souris dans la fentre ddition et de cliquer sur le bouton de gauche, autant de fois quon veut utiliser le dispositif dans le schma. Les paramtres de ce transistor sont :
2ME Page 6

w= 1um : reprsente la largeur de la grille du transistor; L = 0.18um : reprsente la longueur de la grille du transistor. Son minimum est dfinit par la technologie; Pour le transistor PMOS : Mme chose que NMOS Cration des fils : A partir du menu Add, on choisit la commande wire (narrow); On pointe, avec le bouton de gauche de la souris, sur une pin dun composant; On tire jusqu la pin de lautre composant; On clique pour poser le fils; Et ainsi de suite pour les autres connexions. Ajout de la pin de sortie : On slectionne la commande Pin dans le menu Add. Et on obtient la fentre sur la figure.6 :

Fig.6 :

Fig.5 : Fentre permettant ldition des proprits :

2ME

Page 7

Dans le champ Direction , on va choisir le type de pin (input, output, input/output). Dans notre cas, cest le type output. Dans le champ Usage , on choisira schematic . Puis, on fait Hide pour placer la pin sur le schma, on clique sur le bouton gauche de la souris. Enfin, il nous reste relier par un fil la pin de sortie au reste du schma de linverseur. Vrification du schma : Il faut ensuite vrifier et sauver le schma final fig.7 : Design > Check and Save La sauvegarde est ncessaire pour la dmonstration. Sans cela, il ne sera pas possible de manipuler cette cellule par la suite.

Fig .7 :

c) Environnement de la simulation
Le schma du circuit raliser est termin. Toutefois, il faut sassurer qui nya pas eu derreur de saisie de schma ou de saisie de paramtres. Pour valider le circuit, on utilise la simulation. Or le schma du circuit raliser ne suffit pas pour la simulation. Do la ncessit dutiliser les cellules test_DC, test_AC et test_tran. Ces trois cellules sont des vues schematic qui utilisent la vue symbol de lamplificateur.

2ME

Page 8

Simulation DC : La simulation DC est un type de simulation qui calcule les points de fonctionnement quand la tension dentre est continue et en fonction dun paramtre dun circuit donn. Pour ce type danalyse, on slectionne la cellule test_DC et on ouvre son schmatic. La fentre suivante apparat (fig.8)

Fig.8 : Cette cellule est constitue dun inverseur, qui est polaris par des sources de tension et des sources de courant. Pour lancer le simulateur: Tools > AnalogArtist Cela ouvre la fentre ciaprs :

Fig.11 :

2ME

Page 9

Fig.9 : Fentre partir de laquelle on lance la simulation Avant de lancer la simulation, il faut dfinir le type de simulation, sa dure et les variables lectriques que lon souhaite visualiser : Type danalyse : Les diffrents types de simulation sont accessibles grce au menu : Analyses > Choose On remarque sur la fentre (fig.10) qui apparat les divers types danalyse. Et pour activer lune dentre elles, il suffit de la cocher, il apparat un ou des cadres de configuration propre chaque type. Pour la premire analyse, on va choisir celle DC. Paramtres de la session : Dans la mme figure (fig.10), on cochera Component Parameter. Il faut ensuite dfinir en fonction de quel paramtre du circuit on dsire visualiser lvolution du point de fonctionnement statique. Pour cela, il faut cliquer sur Select Component (fig.11),puis Slectionner le gnrateur de tension dentre dans la fentre schematic. Le nom du composant saffiche automatiquement. On fera varier la valeur du Gnrateur de 0 1.8v. Et on choisira comme type de balayage (sweep) celui linaire et comme nombre de pas 100 (fig.12).

2ME

Page 10

Fig.10 :

Fig.12 :

Le choix du simulateur ainsi que le choix du directory de stockage des rsultats seffectuent avec le menu : Setup > Simulator/Directory/Host On choisit le simulateur spectre et le rpertoire ~/Simulation. Il est noter que pour certaines simulations, il est possible de stocker les rsultats dans le rpertoire ./tmp local de la machine. Le menu Setup permet aussi de dfinir les bases de travail du simulateur. Par exemple, on slectionnera le menu Tools dans la fentre Analog Artist. Puis, on choisit Setup Corners, la commande qui permet de choisir le fichier des modles des transistors MOS et lditer. Ensuite, on clique sur Save Model File pour la sauvegarde.

2ME

Page 11

Visualisation des rsultats : Dans le menu Output ,on slectionne la commande To Be Plotted puis la commande Select On Schematic pour pouvoir visualiser les signaux voulus. Dans la fentre Schematic, il faut cliquer sur les fils pour visualiser une tension et sur les pins pour un courant. Dans notre cas, on slectionnera le signal dentre positive et celui de sortie de linverseur qui seront indiqu sur le schma par deux couleurs diffrentes. Une fois les diffrents paramtres sont dfinis ainsi que la dure, le pas de simulation et les signaux visualiser, lenvironnement Analog Artist devient fig.13: * Dans le champ Outputs, on a : net7 pour lentre net1 pour la sortie *Dans le champ Analyses, on a le type danalyse (dc), quelles valeurs la simulation va commencer (0v) et finir (1.8v). *Dans le champ Design, on a les noms de la librairie, la cellule et la vue o notre application se trouve.

Fig.13 :

2ME

Page 12

Lancement de la simulation: Dans la fentre Analog Artist, on lancera la simulation en cliquant sur le bouton feu vert. [AnalogArtist] Outputs -> To be Plotted -> Select On Schematic. On slectionnera les deux signaux visualiser sur le schma en cliquant sur les nets correspondant. Puis, le bouton Plot Outputs dans la fentre Analog Artist pour excuter la simulation. Et l, affichage des rsultats de simulation des tensions d'entre et de sortie.

Fig.14 :

2ME

Page 13

4) Dessin des masques


Le dessin des masques se fait dans une fentre de type Layout. Pour cela, il faut diter une vue layout sur la cellule inv. Loutil de conception du layout sappelle Virtuoso. Il faut ensuite ouvrir cette cellule : dans le library manager, slectionnez la vue layout de la cellule inv. Ouvrez en cliquant avec le BM de la souris (edit). Louverture de la fentre va provoquer lapparition dun autre outil qui est la fentre LSW (Layer Status Windows). La fentre LSW indique lensemble des couches utilisables. Pour chaque couche, on peut voir le symbole graphique ainsi que le nom de la couleur. Il est important de nutiliser que les couches dg pour dessiner les masques.

Cette fentre sert slectionner la couche physique que lon va dessiner. Loutil LSW permet en outre de modifier lapparence des diffrentes couches.

Les boutons AV, NV, AS et NS permettent de rendre visibles et slectionnables les couches physiques dans la fentre layout.

La dfinition des diffrentes couches se trouve dans le DRM (Design Rules Manual) qui est un document dcrivant toute la technologie gpdk180nm.

2ME

Page 14

a) Ajout de composants dans la vue layout Comme pur la vue schematic, le dessin de linverseur est incomplet. Il manque les transistors NMOS et PMOS par exemple , ainsi que la capacit et la rsistance; la pin de sortie non plus nest pas sur le dessin. Faites une copie pour pouvoir le complter. l arrive que seuls les noms des composants apparaissent. Pour visualiser lensemble des couches : Shift F. Pour importer linstance NMOS : Create instance (ou taper la touch i). A laide de la touche Browse, aller chercher la vue layout du NMOS dans la librairie gpdk180 puis le placer dans la fentre layout. Esc pour quitter la commande. De mme, placez les instances PMOS , Capacit et Resistance. La commande : Windows fit All ou f permet dafficher le design sur lensemble de la fentre. Le but va tre de raliser le layout de linverseur dj simul. Pour cela, il faut connecter le PMOS, le NMOS et la capacit et la rsistance par exemple comme dans le schematic. De plus, leurs paramtres doivent tre identiques ceux dfinis dans le schematic. Pour rgler les paramtres de ces composants, slectionnez en un puis cliquez sur Edit Properties parameter b) Connexion des composants Comme pour la vue schematic, il faut relier les composants que lon vient dajouter au reste du circuit, les connexions se font par des fils de mtal. Pour crer une connexion en mtal, cliquez sur metal1 dg dans la fentre LSW. Puis, dans la fentre layout, choisissez : Create => Path. Cliquez une premire 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 connecter deux niveaux physiques diffrents, on utilise des contacts (connexions Silicium/Mtal, Poly/Mtal) ou des vias (connexions Mtaln/Mtaln+1). Pour ajouter un contact, cliquez sur : Create => Contact. La fentre suivante apparat :

2ME

Page 15

Pour slectionner le type de contact choisissez dans contact type : NTAP : connexion mtal 1 / substrat N PTAP : connexion mtal 1 / substrat P M1_LIL : connexion mtal 1 / LIL (interconnexion locale en Tungstne) M1_N : connesion mtal 1 / implantation N M1_P : connexion mtal 1 / implantation P M1_POLY : connexion mtal 1 / polysilicium M2_M1 : connexion mtal 2 / mtal 1 M3_M2 : connexion mtal 3 / mtal 2 M4_M3 : connexion mtal 4 / mtal 3 M5_M4 : connexion mtal 5 / mtal 4 M6_M5 : connexion mtal 6 / mtal 5

Il est possible de placer plusieurs contact en mme temps, en remplissant les options de la fentre Create Contact : Rows et Colums. Finissez de dessiner la vue layout de linverseur en plaant correctement les composants NMOS et PMOS grce la commande : edit => Move de la fentre layout, puis en les reliant grce des Paths et des contacts. c) 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 lextension PN (pin). Dans la fentre LSW, slectionnez la couche metal1 pn. Puis, dans la fentre layout, cliquez sur : Create pin. Dans la fentre qui apparat, cliquez sur Shape Pin. Cela va permettre de voir le nom donn la pin.

2ME

Page 16

En plaant les pins, il est important de bien respecter le type input, output etc. Placer une pin Out en output. Dessinez un rectangle avec la souris, puis cliquez pour placer le nom de la pin. Pour quitter la fentre Create Pin, cliquez sur Cancel. Relier alors avec Path en mtal1 dg la pin et le fil sur lequel elle doit tre relie physiquement. d) Fin du layout Dsormais, on a complt le dessin de linverseur. Le layout doit se prsenter comme suit :

Cependant, la phase de dessin nest pas encore finie : il reste vrifier que le circuit dfini par le layout correspond bien au schma lectrique que lon veut implmenter, et que les rgles de dessins quimpose la technologie de fabrication gpdk180 ont t respectes.

2ME

Page 17

Il va falloir alors utiliser les outils suivants : DRC : Design Rule Check pour vrifier les rgles de dessins. Extract : pour extraire une netlist (reprsentation lectrique) du layout LVS : Layout Versus Schematic pour comparer les netlists des vues schematic et layout Le DRC Le DRC a pour but de vrifier si toutes les rgles de dessin ont t respectes. Pour lancer le DRC : Verify DRC Il va alors safficher sur le design, des marqueurs clignotants indiquant les erreurs. Toutes les erreurs saffichent dans la fentre ICFB-LOG. Pour connatre la signification dun marqueur : Verify marker explain Dautres commandes sont disponibles dans le mme menu, pour leffacement, la recherche etc Ds quil ny a plus derreurs de DRC, il faut ensuite vrifier si le dessin des masques correspond bien au schma lectrique. Lextract CADENCE va alors gnrer une vue extracted. Cette vue contient les dessins des masques en couche NT (Net) ainsi que les composants reconnus. Aprs avoir ouvert la vue extracted, faire SHIFT F. On voit alors apparatre les composants reconnus. Il est aussi possible de cliquez sur net et den demander les proprits. Edit properties On peut aussi faire apparatre les connexions lectriques : Design options display puis valider Nets OK Il existe maintenant une vue de la cellule correspondant aux dessins des masques qui contient un schma lectrique, nous allons comparer ce schma avec celui simul. Le LVS Le LVS va se charger de comparer les deux schmas : Verify LVS. La fentre LVS apparat. Slectionner les vues appropries laide de la touche browse de chaque catgorie : Pour le schematic :MyLib /inv/ schematic Pour la vue extracted : MyLib/inv / extracted.

2ME

Page 18

Puis Run. Monitor : Pour visualiser les taches actives ou dj effectues. Output : Pour voir le rsultat du LVS. En fin de LVS, CADENCE indique si celui-ci a abouti ou sil y a eu un problme. En cas de succs, il faut aller voir dans le fichier output si les deux schmas sont bien quivalents : Dans la fentre 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. Simulation post-layout (optionnel) Dsormais, les vues schematic et layout sont quivalentes lectriquement. Il est alors possible de gnrer une autre vue extracted qui tiendra compte des rsistances et des capacits 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

2ME

Page 19

pour un circuit. Sous Analog Artist (ou Analog Environment), ouvrir setup >>Environment. Dans la Switch View List, placer extracted avant schematic. Ainsi en cours danalyse de la netlist, la vue extracted (qui existe) sera considre avant la vue schematic. La vue schematic nest prise en compte quen labsence de la vue extracted, ou bien dans ltat initiale de la Swith View List. Travail demand : 1. Faire le dessin des masques d'un inverseur compatible avec une bibliothque de cellules normalise et donner sous forme d'imprim la vue Layout ralise. 2. Vrifier que les rgles de dessin sont respectes en lanant le DRC (Design Rules Check) et imprimer le rapport qui note le nombre d'erreurs. 3. Faire une extraction, noter les composants reconnus et vrifier la connectivit et faire une impression de la vue Extracted obtenue. 4. Vrifier que les deux vues (schematic et extracted) sont lectriquement conformes en lanant le test LVS et donner comme imprim le rapport des erreurs trouves.

2ME

Page 20