T.P. SPICE

Cette série comprend deux parties :

A) SIMULATION DES PORTES CMOS DE BASE

Dimensions de transistors :

Les règles de fabrication du process considéré fixent les dimensions minimales du canal des MOS : Lmin et Wmin. Dans les portes digitales, on ne s'écarte pas de la longueur minimale. Par contre on joue sur les largeurs pour ajuster le seuil logique ou le courant de sortie.

Modèles des transistors :

Télécharger le fichier cmos47.mod et insérer les lignes suivantes dans le fichier :
      .protect 
      .inc ./cmos47.mod' 
      .unprotect
Les noms de modèles sont : modn et modp.

Doc en ligne :

EXERCICE 1 : Caractéristique statique de l'inverseur MOS

On comparera en analyse DC (balayage simple de l'entrée, alim. 5V)
 
sous-circuit WN
Largeur transistor N
WP
Largeur transistor P
inv1 Wmin Wmin
inv2 Wmin 4 * Wmin
inv3 4* Wmin 4* Wmin
inv4 4* Wmin Wmin

Conclure sur l'effet de dimensions sur le seuil logique.

EXERCICE 2 : Effet de la charge capacitive

En analyse transitoire, comparer la réponse de : On utilisera comme signal d'entrée une impulsion avec des temps de montée et de descente de 0.1 ns.

La durée de la simulation devra être suffisante pour permettre aux sortie d'atteindre des états stables.

En déduire l'ordre de grandeur de la capacité d'entrée de inv1.

EXERCICE 3 : Mesure du temps de propagation

Un moyen simple et objectif de mesurer le temps de propagation des cellules logiques est l'oscillateur en anneau, constitué d'une chaîne fermée contenant un nombre impair d'inverseurs.

On va simuler cette expérience avec un anneau de inv1.

Pour assurer un démarrage "propre" de l'oscillation, il est recommandé de remplacer un des inverseurs par une porte NAND, dont la seconde entrée reçoit le signal de démarrage.

Le nombre d'inverseurs de l'anneau doit être suffisant pour que le signal ait le temps de se stabiliser aux niveaux haut et bas entre les transitions.

Lire la période d'oscillation, en déduire le temps de propagation de inv1.

B) Simulation de la RAM Dynamique

Principe de fonctionnement :

BB = "Bit Line" : bus de lecture-écriture
WS = "Word Select" = ligne de sélection de mot
CS = capacité de stockage
CB = capacité parasite du bus

Principale difficulté : la ligne BB dessert un grand nombre de cellules (8192 dans le cas d'une RAM 64 Mbit) ==> CS << CB ==> redistribution des charges à la lecture.

Conséquences :

EXERCICE 1 : mise au point de l'amplificateur de lecture

Il s'agit d'un amplificateur différentiel qu'on utilise comme comparateur.

Il sera suivi d'un inverseur CMOS (non représenté sur la figure)
 
L W
MAM1, MAM2 2u 2u
MAD1, MAD2 1u 8u
MAS1, MAS2 1u 16u

On prendra ipol = 0.025 mA.
(Attention au sens des sources de courant : le courant "sort" par le second noeud)

L'analyse DC sera utilisée pour vérifier que cet ampli se comporte bien comme un ampli différentiel. Pour cela on appliquera une tension de mode commun à EM et une tension différentielle entre EP et EM.

La tension différentielle sera balayée entre -100 mV et +100 mV, la tension de mode commun entre 1 et 4 V.

On corrigera l'offset en modifiant les dimensions de l'inverseur qui suit l'étage différentiel (on demande un offset inférieur à 10 mV)

EXERCICE 2 : mise au point d'une DRAM de 2 bits

On simulera une colonne de la mémoire contenant deux cellules de 1 bit, la capacité parasite des autres étant représentée par CB.

Avant chaque lecture, le bus BB est préchargé à un potentiel VREF.
L'amplificateur AMPD suivi de l'inverseur INVA (mis au point précedemment) va détecter la petite variation de potentiel de BB due à la charge provenant de la cellule lue.

Tous ces signaux sont des signaux logiques 0 à 5V, sauf Vref qui sera une tension continue (valeur suggerée : 1.5 V)

WS0 et WS1 sont des impulsions qui doivent être appliquées pendant que les autres signaux sont stables (les fronts de WS0 et WS1 doivent être séparés des transitions des autres signaux par un intervalle de temps)
 
L W C
MW, MP 0.6u 8u
MB 0.6u 2u
CS 0.02pF
CB 1pF

Pour la génération des signaux de commande, on pourra utiliser l'utilitaire aime_pwl .

Utiliser un quantum de temps assez grand (100 ns par exemple).

EXERCICE 3 : rafraîchissement

À jouter au système précédent un interrupteur MOS MR contrôlé par un signal RRE = Refresh Enable, de manière à re-écrire la même donnée dans la cellule qu'on vient de lire.

(il suffit que le front montant de RRE survienne peu après celui de WS0 ou WS1.)