wiki:SimulateurEldo

TP4-1 : Simulateur électrique ELDO

1.1 Introduction

Dans ce premier TP, nous allons utiliser le simulateur électrique ELDO et l'interface de visualisation XELGA pour extraire les caractéristiques statiques et dynamiques de l'inverseur CMOS. Nous allons aussi étudier les différents paramètres qui influencent les temps de propagation de cet inverseur. Pour ce TP vous rédigerez un compte rendu détaillé des résultats obtenus et de leurs significations.

XELGA ne fonctionnant que dans un environnement graphique en 256 couleurs il faut créer un nouveau bureau virtuel avec la commande vncloop. Pour utiliser les outils ELDO et XELGA vous devez être sur une machine de type Solaris (ex : rachmaninov). Un script d'initialisation des variables d'environnement fonctionnant avec l'interpréteur de commande tcsh vous permet d'avoir accès aux outils.

En résumé en début de séance effectuez dans l'ordre :

  1. dans un terminal lancez la commande vncloop qui ouvre un bureau virtuel avec un

terminal,

> vncloop
  1. dans ce nouveau terminal se loguer sur une machine Solaris, par exemple rachmaninov, en utilisant la commande :
    > ssh <nom_de_machine> 
    
  1. au cas où l'interpréteur de commande de l'étudiant n'est pas le C-SHELL, taper
    > tcsh
    

pour changer de shell,

  1. faites un source du script de configuration de l'environnement eldo.csh.
    > source ~trncomun/TP/2008/TP4/Fichiers/eldo.csh
    

Alternativement, pour lancer eldo directement sous linux, vous pouvez ignorer les étapes 1-4 et lancer directement:

> source /users/soft/mentor/AIDE.mentor2008.csh

1.2 Caractéristiques du transistor MOS

Recopiez le fichier /users/enseig/trncomun/TP/2008/TP4/Fichiers/trMos/polar_nmos.spi.

Ce fichier décrit un transistor N. Vous vous inspirerez de ce fichier pour décrire un transistor P.
Dans un premier temps simuler et visualiser les courbes du courant en fonction de la tension des transistors N et P :

  • IDS en fonction de VGS, pour VDS = VDD (VGS varie de VSS à VDD).
    Déterminer les tensions de seuil Vtn, Vtp des deux types de transistors graphiquement et avec l'instruction .print VT(Mxx).
  • IDS en fonction de VDS, pour différentes valeurs de VGS (VDS varie de VSS à VDD).
    Identifier les différents régimes du transistor : régime bloqué, linéaire et saturé du transistor.

On prendra comme dimensions pour les transistors :

  • Ln = 0.35 µm, Wn = 1.4 µm
  • Lp = 0.35 µm, Wp = 2.9 µm
  • VDD=3.3V

NB:

  • La première ligne d'un fichier eldo correspond au titre du circuit.
  • Insérer au fichier ELDO le chemin d'accès aux modèles des transistors par la primitive :
       .include ~techno/labo/035/models/mosn_mosp.wc
    

(pour modèle "Worst Case").

  • utliser la commande .DC pour effectuer une analyse statique.

  • utliser la commande .PLOT pour indiquer les noeuds à visualiser.

  • pour la simulation :
    > eldo fichier.spi
    
  • pour la visualisation :
    > ezwave fichier.wdb
    

1.3 Les caractéristiques de l'inverseur CMOS

RÉGION transistor P transistor N
A LINÉAIRE OFF
B LINÉAIRE SATURÉ
C SATURÉ SATURÉ
D SATURÉ LINÉAIRE
E OFF LINÉAIRE
Figure: Les régions de fonctionnement de l'inverseur CMOS.

La figure illustre les différentes régions de fonctionnement de l'inverseur CMOS.
Sachant que les courants qui traversent les transistors N et P en mode saturé sont définis par les équations suivantes :

la tension de seuil Vseuil de l'inverseur peut être décrite par l'équation suivante :

µn, µp sont les mobilités des électrons et des trous respectivement et Cox est la capacité d'oxyde.

1.4 Simulation statique d'un inverseur CMOS

Décrivez un inverseur dans un fichier au format SPICE .spi.
On prendra comme dimension des transistors ceux de la partie 1.2. avec une tension VDD=3.3V.

  • Simuler et visualiser la fonction de transfert VOUT=f(VIN) d'un inverseur.
  • Déterminer le seuil électrique de l'inverseur voir figure de la section 1.3.
  • Pour des tailles raisonnables de Wn et Wp, trouver le rapport Wp/Wn? pour que le seuil soit égal à VDD/2.
  • les commandes .PARAM et .STEP pour faire varier Wp.
  • la commande .EXTRACT avec l'argument "yval" pour obtenir la tension de seuil pour chaque Wp.
  • On visualise le résultat de l'extraction avec XELGA fichier.ext.wdb

Exemple d'utilisation de PARAM et STEP sur la valeur d'une capacite :

* Capacite C1 entre les noeuds a et b de valeur capa
C1 a b capa 
*Declaration de capa comme variable
.PARAM capa=1pf
*Capa varie de 1pf a 10pf par pas de 0.1pf
.STEP PARAM capa 1pf 10pf 0.1pf}

Exemple d'utilisation EXTRACT :

*Si a=f(b), alors ceci donne la valeur de a pour b=0.5
.EXTRACT yval(v(a),0.5)

1.5 Simulation dynamique de l'inverseur CMOS

Figure: Temps de montée, temps de descente, TPHL et TPLH d'un inverseur CMOS.

Les temps de montée et de descente, illustrés dans la figure, sont définis par les relations approximatives :

CL est la capacité de charge de l'inverseur.

TPHL et TPLH peuvent être approximés de la façon suivante :

Dans cette partie nous allons extraire les caractéristiques temporelles de l'inverseur CMOS.

Pour cela on effectue une analyse transitoire sur l'inverseur, équilibré statiquement, à vide (sans capacité de charge) et on observe les temps de propagation.

  • Utiliser la commande .TRAN pour l'analyse transitoire
  • Utiliser la source de tension PULSE pour générer le signal d'entrée. (voir "Eldo User's Manual").
  • Mesurer TPLH et TPHL sous XELGA, cela en utilisant le "Wave Processor" dans le menu "Page" avec la fonction "xval".

1.5.1 Influence de la capacité de sortie

Nous avons vu dans la section 1.5 que les temps de montée et de descente dépendaient de la capacité en sortie de l'inverseur.
Pour fixer cette dernière à une valeur réaliste, une bonne estimation consiste à le charger avec 4 autres inverseurs comme le montre la figure et à déterminer la capacité équivalente.

Figure: Capacité de sortie.

  • Utiliser la commande .SUBCKT pour déclarer un modèle d'inverseur.
  • Instancier 5 inverseurs comme présenté dans la figure.
  • Effectuer une analyse transistoire du circuit.
  • Mesurer les temps de propagation du premier inverseur et conserver ces valeurs.

Dans un nouveau fichier .spi, retirer les 4 inverseurs de charge, et remplacer les par une capacité.
Nous allons determiner la capacité equivalente correspondant aux 4 inverseurs de sortie.

  • Mesurer TPLH et TPHL en faisant varier la valeur de la capacité de sortie de 1fF à 100fF.
  • Utiliser la commande .EXTRACT avec l'argument TPD.
  • Tracer l'évolution de TPLH et de TPHL en fonction de la capacité de sortie. Comment évoluent-ils ?
  • En comparant les temps de propagation, déterminer la valeur de la capacité équivalente pour les quatre inverseurs de charge.

Conserver la capacité de sortie équivalente aux 4 inverseurs pour les questions suivantes.

1.5.2 Equilibrage de l'inverseur

Pour la suite du TP, on prendra la configuration de base suivante :

  • Ln = 0.35 µm
  • Wn = 1.4 µm, Lp = 0.35 µm,
  • C = capacité equivalente à l'entrée de quatre inverseurs
  • Vdd = 3.3 volts
  • un front de 0.5 ns

A faire:

  • Vérifier sur les chronogrammes que la sortie de l'inverseur a bien commuté.
  • Afin d'équilibrer cet inverseur, faire varier le rapport Wp/Wn.
  • Mesurer à chaque fois TPLH et TPHL.
  • Pour quel rapport Wp/Wn l'inverseur est-il équilibré ?
  • Comparer ce rapport avec celui de la question précédente.
  • Lequel doit-on garder ?

1.5.3 Influence de la durée du front

  • En conservant la largeur de transistor P trouvée, mesurer TPLH et TPHL en faisant varier la valeur de la durée du front de 0.1 ns à 5 ns.
  • Tracer l'évolution de TPLH et de TPHL en fonction de la durée du front.
  • Donner vos conclusions.

1.5.4 Influence de la température

  • Mesurer TPLH et TPHL en faisant varier la valeur de la température de 0 à 140°C.
  • Tracer l'évolution de TPLH et de TPHL en fonction de la température.
  • Donner vos conclusions.

1.5.5 Influence de la tension d'alimentation

  • Mesurer TPLH et TPHL en faisant varier la valeur de la tension d'alimentation de 2 volts à 4 volts.
  • Tracer l'évolution de TPLH et de TPHL en fonction de la tension d'alimentation.
  • Donner vos conclusions.

1.5.6 Influence des Paramètres technologiques

  • Mesurer TPLH et TPHL en changeant le fichier de paramètres dans la directive d'inclusion, de façon à étudier l'influence de la dispersion des paramètres du procédé de fabrication : worst case, typic,best case.
.include ~techno/labo/035/models/mosn_mosp.ty

puis

.include ~techno/labo/035/models/mosn_mosp.bc
Last modified 13 years ago Last modified on Oct 18, 2011, 8:02:54 AM

Attachments (11)

Download all attachments as: .zip