Download - Cours CAO Cadence

Transcript
Page 1: Cours CAO Cadence

2ME Page 1

Université Sidi Mohamed Ben Abdallah

Faculté Des Sciences Dhar El Mahraz- Fès-

Département De Physique

Année universitaire 2012-2013

Master Spécialisé Micro-électronique

Préparé par : Karim El khadir

Pr.Hassan Qjidaa

Conception Assistée par Ordinateur

(Cadence)

Page 2: Cours CAO Cadence

2ME Page 2

Sommaire I. Logiciel CADENCE ....................................................................................................................... 3

1) Généralités ................................................................................................................................. 3

2) Lancement du logiciel Cadence ................................................................................................ 3

3) Gestionnaire de librairie ........................................................................................................... 4

a) Ouverture ............................................................................................................................... 4

b) Saisie du schéma d’inverseur ............................................................................................... 5

c) Environnement de la simulation .......................................................................................... 8

4) Dessin des masques .................................................................................................................. 14

Page 3: Cours CAO Cadence

2ME Page 3

I. Logiciel CADENCE

1) Généralités 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.

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 environnement unifié pour l’utilisation des 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.

Le fonctionnement d’un ASIC dépend des caractéristiques physiques du circuit réalisé par le

procédé de fabrication. La première décision 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.

Le fondeur fournit un fichier technologique (Design Kit) qui fournit à Cadence ces

informations. Il peut aussi fournir des standard cells (cellules élémentaires telles un transistor)

ou des outils spécifiques au concepteur.

Dans notre cas, on va utiliser Cadence avec le Design Kith cmos8d caractérisé par une

longueur minimale de grille de 0.18um.

2) Lancement du logiciel Cadence Avant qu’on puisse lancer Cadence, il y a des fichiers de configuration dont on a besoin dans

notre répertoire de travail. Ces fichiers déterminent l’environnement dans lequel Cadence

travaille et les librairies qu’on doit inclure dans la session courante. A fin de configurer

l’environnement de ce Projet, il faut se référer à la documentation« Préparation des

environnements des Projets en microélectronique » qui se trouve dans le même répertoire que

celui qui contient ce Projet. Une fois l’environnement est mis en place et qu’on est sur le

compte de travail, à partir d’une Console on tapera:

> cd gpdk180/

> icfb &

Après environ une minute, la fenêtre principale de Cadence qui s’appelle CIW (Command

Interpreter Window) est affichée en bas d’écran :

Fig.1 : Command Interpreter Window [CIW]

Page 4: Cours CAO Cadence

2ME Page 4

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.

3) Gestionnaire de librairie

a) 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 :

Fig.2: Gestionnaire de librairies:

Sur ce gestionnaire, on a trois blocs importants : Library −> Cell −> View :

Page 5: Cours CAO Cadence

2ME Page 5

Library : elle contient les différentes bibliothèques qui à leur tour (chacune) contiennent

toutes les cellules regroupées par types High Speed (HS) optimisée

pour la rapidité et Low Leakage (LL) optimisée pour la consommation minimale et par types

de technologie 0.18um et 90nm ...

Cell : c’est les cellules qui référent aux différentes portes. Et si on veut les classer par

catégories on a qu’à cocher Show Categories.

View : Pour chaque cellule, on a différentes vues :

Schematic : une vue pour éditer le schéma électrique et pour faire les simulations;

Symbol : une vue sur laquelle on trouve le symbole de notre porte pour une

utilisation comme sous−ensemble dans un circuit;

Layout : c’est une description des masques avec lesquelles notre dessin va être

fabriqué;

Extracted : une vue destinée à la vérification électrique des masques;

Abstract : la vue utilisée par les outils de placement routage automatique.

b) Saisie du schéma d’inverseur Dans la fenêtre Library Manager, sélectionnez 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 l’éditer.

[schematic] edit ->copy

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 :

Fig.3 : La fenêtre montrant le schéma interne de l’inverseur

Page 6: Cours CAO Cadence

2ME Page 6

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.

………………………….

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.

Pour ajouter les transistors dans la fenêtre schématique, sélectionnez Add ⇒ instance (ou

taper i au clavier pour insert).

La fenêtre suivante apparaît :

Fig.4 : Fenêtre permettant l’insertion de nouveaux composants

A l’aide de la touche Browse, on va pouvoir sélectionner chacun des composants manquant se

trouvant dans Library Browser :

Pour le transistor NMOS :

Dans le library Browser, on sélectionnera :

la librairie gpdk180 −> la cellule nmos −> la vue symbol.

La fenêtre de la fig.5 affiche alors les paramètres relatifs à ce transistor (nmos) et les boutons

pour pouvoir modifier la position du symbole afin de faciliter la lecture du schéma (rotation,

miroir horizontal, 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 d’édition et de cliquer sur le bouton

de gauche, autant de fois qu’on veut utiliser le dispositif dans le schéma. Les paramètres de ce

transistor sont :

Page 7: Cours CAO Cadence

2ME Page 7

w= 1um : représente la largeur de la grille du transistor;

L = 0.18um : représente la longueur de la grille du transistor. Son minimum est définit par la

technologie;

Pour le transistor PMOS :

Même chose que NMOS

Création 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 d’un composant;

On tire jusqu’à la pin de l’autre composant;

On clique pour poser le fils;

Et ainsi de suite pour les autres connexions.

Ajout de la pin de sortie :

On sélectionne la commande Pin dans le menu Add. Et on obtient la fenêtre sur la figure.6 :

Fig.6 :

Fig.5 : Fenêtre permettant l’édition des propriétés :

Page 8: Cours CAO Cadence

2ME Page 8

Dans le champ « Direction », on va choisir le type de pin (input, output, input/output). Dans

notre cas, c’est le type output.

Dans le champ « Usage », on choisira « schematic ».

Puis, on fait Hide pour placer la pin sur le schéma, on clique sur le bouton gauche de la

souris.

Enfin, il nous reste à relier par un fil la pin de sortie au reste du schéma de l’inverseur.

Vérification du schéma :

Il faut ensuite vérifier et sauver le schéma final fig.7 : Design −> Check and Save

La sauvegarde est nécessaire pour la démonstration. Sans cela, il ne sera pas possible de

manipuler cette cellule par la suite.

Fig .7 :

c) Environnement de la simulation

Le schéma du circuit à réaliser est terminé. Toutefois, il faut s’assurer qu’i n’ya pas eu

d’erreur de saisie de schéma ou de saisie de paramètres. Pour valider le circuit, on utilise la

simulation.

Or le schéma du circuit à réaliser ne suffit pas pour la simulation. D’où la nécessité d’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.

Page 9: Cours CAO Cadence

2ME Page 9

Simulation DC :

La simulation DC est un type de simulation qui calcule les points de fonctionnement quand la

tension d’entrée est continue et en fonction d’un paramètre d’un circuit donné.

Pour ce type d’analyse, on sélectionne la cellule test_DC et on ouvre son schématic. La

fenêtre suivante apparaît (fig.8)

Fig.8 :

Cette cellule est constituée d’un inverseur, qui est polarisé par des sources de tension et des

sources de courant. Pour lancer le simulateur: Tools −> AnalogArtist

Cela ouvre la fenêtre ci−après :

Fig.11 :

Page 10: Cours CAO Cadence

2ME Page 10

Fig.9 : Fenêtre à partir de laquelle on lance la simulation

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 :

Type d’analyse :

Les différents types de simulation sont accessibles grâce au menu : Analyses −> Choose

On remarque sur la fenêtre (fig.10) qui apparaît les divers types d’analyse. Et pour activer

l’une d’entre elles, il suffit de la cocher, il apparaît un ou des cadres de configuration propre à

chaque type. Pour la première analyse, on va choisir celle DC.

Paramètres de la session :

Dans la même figure (fig.10), on cochera Component Parameter. 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 (fig.11),puis

Sélectionner le générateur de tension d’entrée dans la fenêtre schematic.

Le nom du composant s’affiche automatiquement. On fera varier la valeur du Générateur de 0

à 1.8v. Et on choisira comme type de balayage (sweep) celui linéaire et comme nombre de pas

100 (fig.12).

Page 11: Cours CAO Cadence

2ME Page 11

Fig.10 : Fig.12 :

Le choix du simulateur ainsi que le choix du directory de stockage des résultats s’effectuent

avec le menu : Setup −> Simulator/Directory/Host

On choisit le simulateur spectre et le répertoire ~/Simulation. Il est à noter que pour certaines

simulations, 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, on

sélectionnera le menu Tools dans la fenêtre Analog Artist. Puis, on choisit Setup Corners,

la commande qui permet de choisir le fichier des modèles des transistors MOS et l’éditer.

Ensuite, on clique sur Save Model File pour la sauvegarde.

Page 12: Cours CAO Cadence

2ME Page 12

Visualisation des résultats :

Dans le menu Output ,on sélectionne la commande To Be Plotted puis la commande Select

On Schematic pour pouvoir visualiser les signaux voulus. Dans la fenêtre Schematic, il faut

cliquer sur les fils pour visualiser une tension et sur les pins pour un courant.

Dans notre cas, on sélectionnera le signal d’entrée positive et celui de sortie de l’inverseur qui

seront indiqué sur le schéma par deux couleurs différentes.

Une fois les différents paramètres sont définis ainsi que la durée, le pas de simulation et les

signaux à visualiser, l’environnement Analog Artist devient fig.13:

* Dans le champ Outputs, on a :

net7 pour l’entrée

net1 pour la sortie

*Dans le champ Analyses, on a le type d’analyse (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 :

Page 13: Cours CAO Cadence

2ME Page 13

Lancement de la simulation:

Dans la fenêtre Analog Artist, on lancera la simulation en cliquant sur le bouton « feu vert».

[AnalogArtist] Outputs -> To be Plotted -> Select On Schematic.

On sélectionnera les deux signaux à visualiser sur le schéma en cliquant sur les nets

correspondant.

Puis, le bouton Plot Outputs dans la fenêtre Analog Artist pour exécuter la simulation.

Et là, affichage des résultats de simulation des tensions d'entrée et de sortie.

Fig.14 :

Page 14: Cours CAO Cadence

2ME Page 14

4) 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 inv. 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 inv. 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).

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

Page 15: Cours CAO Cadence

2ME Page 15

a) Ajout de composants dans la vue layout

Comme pur la vue schematic, le dessin de l’inverseur est incomplet. Il manque les

transistors NMOS et PMOS par exemple , ainsi que la capacité et la résistance; la pin de

sortie non plus n’est pas sur le dessin. Faites une copie pour pouvoir le compléter.

l arrive que seuls les noms des composants apparaissent. Pour visualiser l’ensemble des

couches : Shift F.

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

A l’aide de la touche Browse, aller chercher la vue layout du NMOS dans la librairie

gpdk180 puis le placer dans la fenêtre layout. Esc pour quitter la commande.

De même, placez les instances PMOS , Capacité et Resistance.

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’inverseur déjà simulé. Pour cela, il faut connecter le

PMOS, le NMOS et la capacité et la résistance par exemple 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 composants, sélectionnez en un puis cliquez sur

Edit ⇒ Properties ⇒ parameter

b) 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. 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 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 :

Page 16: Cours CAO Cadence

2ME Page 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’inverseur en plaçant correctement les composants

NMOS et PMOS grâce à la commande : edit => Move de la fenêtre layout, puis en les

reliant grâce à 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 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.

Page 17: Cours CAO Cadence

2ME Page 17

En plaçant 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 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.

d) Fin du layout

Désormais, on a complété le dessin de l’inverseur. Le layout 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 gpdk180 ont été respectées.

Page 18: Cours CAO Cadence

2ME Page 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

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.

L’extract

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

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

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 :MyLib /inv/ schematic

• Pour la vue extracted : MyLib/inv / extracted.

Page 19: Cours CAO Cadence

2ME Page 19

Puis Run.

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

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.

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

Page 20: Cours CAO Cadence

2ME Page 20

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.

Travail demandé :

1. Faire le dessin des masques d'un inverseur compatible avec une bibliothèque de cellules

normalisée et donner sous forme d'imprimé la vue Layout réalisée.

2. Vérifier que les règles de dessin sont respectées en lançant le DRC (Design Rules Check)

et imprimer le rapport qui note le nombre d'erreurs.

3. Faire une extraction, noter les composants reconnus et vérifier la connectivité et faire une

impression de la vue Extracted obtenue.

4. Vérifier que les deux vues (schematic et extracted) sont électriquement conformes en

lançant le test LVS et donner comme imprimé le rapport des erreurs trouvées.