Vous êtes sur la page 1sur 17

CMG Design Center

Rabat

Consumer & Microcontrollers


Groups

Simulation électrique d'une porte AND

sous Cadence

Préparé par :
Safae BATITI
Hicham BOUZEKRI

2002/2003
Table des matières

Introduction

1.Lancement du logiciel Cadence


2.Création d'une librairie
3.Création d'une cellule
4.Conception et simulation schématique
a. Initialisation de l'environnement de la simulation
b. Lancement de la simulation
5.Compte-rendu

Conclusion
Annexes
Introduction

Ce TP a pour but de relever les caractéristiques temporelles d'une porte AND en utilisant
des simulations électriques. C'est ainsi que les valeurs suivantes seront d'intérêt pour ce TP :
La matrice de timing : dont les éléments représentent le délai entre l'entrée
pinA (puis pinB) et la sortie pinZ.
La matrice de transition : dont les éléments représentent le temps de montée
du signal de la sortie pinZ.
En termes généraux, une simulation permet de comparer le comportement de la solution
trouvée avec les spécifications tout en assurant un certain contrôle des spécifications à l'aide des
chronogrammes de sortie générés.
Les délais relevés varient en fo nction de la charge de la sortie de la porte AND et le
temps de montée du signal d'entrée. Cette charge modélise les blocs ou les cellules qui seront
connectés à la sortie de la porte.
Il faut signaler aussi que les pinA et pinB ne sont pas parfaitement symètrique car les
transistors ne sont pas identiques à 100%.
•Simulation électrique d'une porte AND
sous Cadence

But de la manipulation:

Extraire les délais qui caractérisent une porte logique de la bibliothèque


CORELIBHCMOS8D (une porte AND à 2 entrées : AN2HS). Et ce en faisant une
simulation électrique pour générer les chronogrammes d'où on va tirer les timing.

1.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. Afin de configurer
l'environnement de ce TP, il faut se référer à la doc umentation « Préparation des
environnements des TPs en microélectronique » qui se trouve dans le même repértoire que
celui qui contient ce TP. Une fois l'environnement est mis en place et qu'on est sur le compte de
travail, à partir d'une Console on tapera:
> icfb &
Après environ une minute, la fenêtre principale de Cadence qui s'appelle CIW
(Command Interpreter Window) est affiché en bas d'écran :

Fig.1 : Command Interpreter Window [CIW]

Menu : donne accès aux commandes principales de Cadence.


Ligne de commande : on peut exécuter des commandes sans avoir recours aux différents
menus déroulants.
Ligne de rappel : vous rappelle la prochaine étape que vous devez faire pour complèter
une commande
Historique : affiche l'historique de toutes les commandes exécutées de la ligne de
commande ou à partir des menus déroulants, ainsi que les messages d'erreurs et les résultats
d'exécution.

Ensuite, on va faire appel au gestionnaire de librairie (fig.2) qui affiche toutes les
librairies qu'il trouve dans le « search path ». Il nous donne aussi accès à tout le contenu (Cell,
CellViews...) des librairies et aux commandes pour gérer les « Cells » et les « Views ». On
pourra modifier le « search Path » temporairement en invoquant Tools -> Library Path Editor:

[CIW] Tools -> Library Manager

Fig.2: Gestionnaire de librairies:

Sur ce gestionnaire, on a trois importants blocs : Library -> Cell -> View
Library : elle contient les différentes bibliothèques qui à leur tour (chacune)
contiennent toutes les cellules regroupées par types High Speed (HS) et Low Leakage
(LL) et par types de technologie H8 (0.18um) et H9 (0.13um) ...
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 des masques et pour l'extraction des
composants du Layout;
Abstract : la vue utilisée par les outils de placement routage automatique.

2.Création d'une librairie :


On va utiliser une librairie dans laquelle on va enregistrer les cellules et les vues
auxquelles on va se rapporter. Par exemple, on va l'utiliser pour saisir les différentes
vues de cellules pour un seul TP.
Pour créer une librairie à partir de la fenêtre CIW :
1. On sélectionne : File -> New -> Library du menu principal de la fenêtre
LibraryManager;
2. On nomme la nouvelle librairie et on clique sur Ok;
3. On vérifie que l'option « Attach to an existing techfile » est active dans la
fenêtre qui apparaît, on fait Ok et on choisit notre librairie technologique.
On verra alors le nom de la nouvelle librairie se rajouter à la liste dans le Library
Manager.
3.Création d'une cellule :
La création d'une cellule se fait par la commande File -> New -> CellView du menu
principal de la fenêtre Library Manager après sélection de notre librairie :
1. On donne le nom AND (par exemple) pour Cell Name;
2. On donne le nom Schematic pour View Name et on clique sur Ok;
3. On vérifie que « Library Manager » pointe sur notre librairie;
Le nom de la nouvelle cellule est alors rajouté à la liste du contenu de la librairie. Et après
quelques instants une fenêtre « Schematic Editing » apparaîtra (fig.3) :

Fig.3 : La fenêtre « Schematic Editing »


4. Conception et simulation schématique :
Dans notre présent TP, la porte AND servira d'exemple de simulation dans le but de
générer les chronogrammes d'après lesquels on va déterminer la matrice de timing et celle de
transition de cette porte.
Alors pour se faire, on doit en premier lieu placer les différents composants de notre
circuit de test :
On appuyera sur le bouton « Instance » à partir du menu Add et dans la fenêtre
[Schematic Editing]. Une boîte de dialogue s'affiche (fig.4.a). On clique sur Browse et une
autre boîte apparaît (fig.4.b) .

Fig.4.a

Fig.4.b

Cette dernière nous permettra de choisir les composants nécessaires :


– Une porte AND (AN2HS) qu'on sélectionneradepuis la librairie
CORELIB8DHS.
– Une capacité (cap) qui servira de charge pour la porte et la valeur de cette
capacité sera la première variable qu'on nommera Cload donc la case resérvée
à la capacité on mettra le nom de notre variable. C'est de la librairie
AnalogLib qu'on va l'importer.
–Deux alimentations de tensions :
* Vpulse qui génére un train de signaux carrés à l'entrée. Cette entrée est
utilisée pour tester la réponse transitoire de la porte. Elle sera mise à l'entrée
« pinA » tels que V1= 0v ,V2=1.95v et tr sera le deuxième paramètre à varier
et c'est le temps de montée du signal d'entrée.
* Une source continue connectée à Vdd qui est à l' entrée « pinB » pour
avoir une tension continue de 1.95v. A côté du circuit, on créera une tension
Vdd en utilisant un générateur de tension Vdc, une masse gnd et un point de
tension Vdd (choisis tout les trois à partir de AnaloLib).
– Les pins d' entrée A et B et celle de sortie Z c'est à partir de la barre d'outil qui
se trouve à l'extrêmité gauche de la fenêtre schematic.
Le choix des valeurs de tension (1.95v) est relatif à la technologie 0.18um qui a pour
tension externe maximale 1.95v.
Par exemple pour choisir Vpulse , on pourra procéder comme suit :
Dans la fenêtre « Library Manager », on sélectionne la librairie AnalogLib avec
pour Cell le Vpulse et pour le Symbol. On mettra le curseur sur la fenêtre « Schematic
Editing » et on clique sur le bouton gauche de la souris. Pour éditer les paramètres des
composants, il faut les sélectionner et appuyer sur la lettre « q » du clavier pour obtenir le menu
« Property ». On fait rentrer nos valeurs suivies de Ok (fig.5 ).

Fig.5 : fenêtre pour éditer les propriétés d'un composant


Une fois notre schéma est fini et après modification des paramètres des composants, il
faudra qu'on sauvegarde notre dessin :
Design -> Check and Save

Le circuit de simulation d'une porte AND (AN2HS)

a. Initialisation de l'environnement de la simulation :


Une fois le schéma à simuler ouvert, on lancera l'outil de simulation:
[Schematic Editing ] Tools -> AnalogArtist
Le délai d'une porte varie en fonction de la charge de la porte (cload) et du temps de
montée du signal d'entrée (tr). Et, il faut ajouter ces deux variables dans l'environnement de la
simulation :
[Analog Artist] Variables -> Edit

On remp lie les champs « Name » et «Value » comme il est montré sur la fenêtre du
dessus. Puis, on clique sur Add.
Pour caractériser les délais de la porte AND, ST a standarisé les valeurs de la charge et
celles du temps de montée:
cload : (0.003 ; 0.03 ; 0.09 ; 0.18 pF)
tr : (0.03 ; 0.2 ; 0.9 ; 1.5 ns)

Ces valeurs signifient qu'il y aura 16 simulations à faire pour chaque couple entrée/sortie.
Les conditions d'opérations ont également un impact sur les résultats obtenus. Les
éléments suivants doivent être spécifiés pour chaque manipulation :

La tension d'alimentation : Plus la tension est élevée plus les temps de transition
sont courts et la consommation élevée;
La température de l'environnement du circuit : Plus elle est élevée plus les
temps de trans ition sont longs;
Le sens de variation : les circuits électroniques ne présentent pas une symètrie
par rapport un front montant ou descendant. D'où la nécessité de spécifier le sens de
variation du signal d'entrée.

Dans cette manipulation, le modèle timing sera généré pour les conditions suivantes :

Tension d'alimentation : 1.95v


Température : 40°C
Sens de variation : A 0->1 et Z 0->1

Enfin, on a à spécifier la durée de la simulation et son type :


[AnalogArtist] Analyses -> Choose
On choisit le type analyse transitoire en sélectionnant « tran » et on spécifie le temps de
simulation qui est 5ns.

Les données fournies dans le fichier.lib (qui est un fichier de synopsys qui contient les
modèles de timing) sont données pour T=40°C. Il faut signaler au simulateur que l'on veut faire
des simulations à cette température :
[AnalogArtist] Setup -> Temperature

Avant de lancer la simulation, on a besoin de mettre en place les valeurs des « Corners »
et les librairies. Ce qui définie le scenario « Default » sur lequel toutes les simulations Corners
sont mises à une valeur typique (typ). La librairie utilisée pour toutes les familles est la seule
disponible dans le DesignKit (DK).
Ceci va se faire à partir de la fenêtre [AnalogArtist] Tools -> *Setup Corners :
C'est une interface garphique de ArtistKit qui est utilisée pour générer le fichier
(ModelFile) appelé Corners et qui contient toutes les directives du simulateur pour aller
chercher les modèles. Les données dont on a besoin pour contrôler le Setup Corners, sont
fournies par Unicad 2.4 Designkits.
La fenêtre sur la figure 6 affiche chaque famille des composants, la valeur des
« Corners » ( c'est un modèle de prévision pour les effets indésirables dûs aux variations du
process de fabrication des transistors) et la librairie qui contient le LibraryFile qui sont
disponibles. On doit sélectionner les valeurs comme il est indiqué sur la figure 6.
Il faut signaler aussi que pour chaque famille, il y a deux types de cellules chacune à sa
propre bibliothèque : High Speed (HS) : optimisée pour la vitesse.
Low Leakage (LL) : optimisée pour la consommation.
Fig.6 : Interface graphique Setup Corners
b. Lancement de la simulation:

Dans la fenêtre AnalogArtist, on lancera la simulation en cliquant sur le bouton « feu


vert ».
Pour mesurer les délais entre l'entrée pinA et la sortie pinZ, il faut afficher les
chronogrammes correspondant aux deux signaux :

[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 AnalogArtist pour exécuter la simulation.
Et là, affichage des résu ltats de simulation des tensions d'entrée et de sortie.

Exemple de simulation : Pour une cload = 0.003pF et pour un tr = 0.03ns :

En ajoutant les marqueurs A et B sur ces courbes, on peut facilement mesurer des délais.
Il suffit ensuite de double-cliquer sur un paramètre pour le changer et relancer une nouvelle
simulation pour continuer la caractérisation de la porte.
Les formes d'ondes sont peut être difficiles à lire, car elles sont tracées sur le même axe.
Nous pouvons faire deux graphiques séparés en choisissant Axes -> To Strip .

5.Compte-rendu:

1.Faire une saisie de schéma électrique pour la simulation et l'imprimer.


2.
a. Visualiser pour les différentes valeurs de tr et cload et commenter les résultats
question influence des deux variables :
Le signal d'entrée : pinA.
Le signal de sortie : pinZ.
b. Imprimer pour deux valeurs de Cload et tr.

3.Déterminer la matrice de timing de la porte ainsi que celle de transition en front montant
(Rise) et front descendant (Fall). Donner les résultats sous forme d'imprimé.

4.Faire la même chose pour le signal d'entrée pinB et le signal de sortie pinZ.

5.Faire une comparaison, une première fois entre les résultats obtenus pour pinA et pinB.
Et puis, une autre entre vos résultats et ceux listés dans le fichier.lib attaché en annexe.
Interpréter.
Conclusion

Dans le TP « Simulation de la porte AND sous Cadence », notre but était de spécifier
quelles sont les contraintes timing du circuit. C'est à dire à quel retard est ce que l'on peut
s'attendre entre le moment de la présence du signal d'entrée aux pins d'entrée et le moment de la
présence du signal de sortie aux pins de sortie.
Ceci dans l'intêret d'une utilisation ultérieure d'extraction des détails de timing de circuits
plus complexes utilisants plusieurs milliers de ces portes.
En résumé, on a pu extraire les différentes matrices demandées et remarquer que les
délais entre pins d'entrée et pin de sortie varient proportionnellement avec les variations des
valeurs de cload et tr.
Ainsi, on a pu déduire que la porte AND n'est pas symétrique par rapport aux sens de
variation du signal d'entrée (front montant et front descendant).
Annexe:
Fichier CORELIB8DHS.lib qui liste les différents résultats:
Annexe :
Introduction à Unicad/Cadence :

L'outil utilisé pour les T.P de dessin de masques (TP de la porte logique et de
l'amplificateur miller) utilise le programme icfb de Cadence. Icfb est un environnement intégré
où l'on peut éditer le schéma électrique du circuit, faire sa simulation, et passer au dessin des
masques qui l'implémente.
La simulation électrique est faite en faisant appel à un autre outil : AnalogArtist. Cet outil
est présent sous forme d'élement dans le menu TOOLS de icfb.
Le dessin des masques se fait en faisant appel à un autre outil qui s'appelle Virtuoso, qui
est également présent sous forme d'élement dans le menu TOOLS de icfb. De nos jours, il est
rare d'avoir à fa ire un dessin des masques à partir du neant. Le nouveau dessin des masques n'est
souvent qu'une modification ou une intégration de plusieurs autres dessins contenus dans les
librairies.
icfb permet également de vérifier si le dessin des masques (Layout) effectué corresponds
aux multiples règles de dessin imposées par le fondeur. Cette dernière procédure est appelée test
DRC (Design Rules Check)et doit être effectuée à la fin de chaque dessin des masques pour le
valider.
L'autre vérification est de nature électrique, et permet de s'assurer que le dessin des
masques rempli effectivement les fonctions électriques que contenait originalement notre cahier
de charge. Ce test s'appelle le LVS (Layout Versus Schematic) et se deroule en deux étapes:
D'abord l'étape d'extraction, ou l'outil reconnait automatiquement les transistors et leur
connectique. Puis une étape de vérification où l'on compare le circuit ainsi extrait du dessin des
masques au circuit original pour signaler les discordances au concepteur du circuit.
L'avantage de icfb est de présenter un environnement de travail unie où toutes les
applications sont intégrées.
La conception microélectronique demande beaucoup de précision à l'étape de conception
pour éviter de créer sur silicium des composant s qui ne fonctionnent pas selon leur cahier de
charge. C'est ainsi que des changements (même faibles) dans les conditions d'opération (tel la
température ou la valeur exacte de la tension d'alimentation) peuvent nuire au fonctionnement
normal du circuit. Le logiciel icfb (et les outils qu'il utilise) permet de prendre en compte ces
élements dans ses simulations. Le comportement des transistors utilisés dans les circuits ST pour
les divers conditions de fonctionnement sont sauvegardées dans des librairies, qui ont été
spécifiées dans uk-conf.
Pour la conception de ses circuits, ST a modifié cadence pour lui permettre d'utiliser ses
librairies et qui correspondent à son process de fabrication de circuits intégrés. Le résultat est
l'outil unicad, qu'on invoque aussi en tapant icfb dans un terminal mais qui par rapport à l'outil
icfb de cadence intégré les librairies et d'autres applications propres à ST.

Vous aimerez peut-être aussi