V - Université de Moncton

publicité
GELE5340
Circuits ITGÉ (VLSI)
Chapitre 5: Design de fonctions
logiques combinatoires
Contenu du chapitre
• On verra dans ce chapitre comment faire le
design de fonctions logiques combinatoires.
• On étudiera leur comportement dynamique,
ainsi que des stratégies pour optimiser la
vitesse.
• On verra aussi comment dimensionner les
circuits pour optimiser le délai.
• Et on verra aussi une méthode pour faciliter
le design de la topologie des circuits.
GELE5340 – Gabriel Cormier, Université de Moncton
2
Logique combinatoire vs séquentielle
In
Circuit logique
combinatoire
Out
In
Circuit logique
combinatoire
Out
États
Logique combinatoire
Sortie = f(In)
Logique séquentielle
Sortie = f(In, In précédent)
En logique combinatoire, la sortie n’est fonction que des entrées. En
logique séquentielle, la sortie est fonction des entrées actuelles et des
entrées précédentes.
GELE5340 – Gabriel Cormier, Université de Moncton
3
Types de circuits
• Il y a deux techniques de construction de circuits
qu’on peut utiliser pour créer des fonctions logiques
combinatoires:
○
Statique: À tout moment (sauf pendant le temps de
transition), il existe un chemin de faible résistance entre
VDD ou GND.
○ Dynamique: La valeur de la fonction logique (le « 0 » ou
« 1 ») est stocké temporairement sur un condensateur.
• Pour chaque type de circuit, il existe plus d’une
façon pour implanter la fonction voulue.
GELE5340 – Gabriel Cormier, Université de Moncton
4
CMOS statique complémentaire
• Le premier type de circuit statique est le CMOS
complémentaire.
• En CMOS statique complémentaire, on a deux
réseaux de transistors: un réseau est composé de
PMOS, et l’autre réseau est composé de NMOS.
Réseau PMOS: On l’appelle PUN (Pull Up Network). Ce
réseau permet à la sortie d’atteindre la valeur de VDD, pour
créer un « 1 » logique.
○ Réseau NMOS: On l’appelle PDN (Pull Down Network). Ce
réseau permet à la sortie d’atteindre la valeur de GND,
pour créer un « 0 » logique.
○
GELE5340 – Gabriel Cormier, Université de Moncton
5
CMOS statique complémentaire
In1
In2
InN
…
VDD
PUN
PMOS seulement
In1
In2
InN
…
F(In1, In2, …, InN)
PDN
NMOS seulement
Le PUN et le PDN sont des
réseaux complémentaires.
La fonction du PUN est de
brancher la sortie à VDD
lorsqu’un « 1 » est
nécessaire.
La fonction du PDN est de
brancher la sortie à GND
lorsqu’un « 0 » est
nécessaire.
GELE5340 – Gabriel Cormier, Université de Moncton
6
Construction du PDN et PUN
• On verra que le PDN est construit
uniquement de NMOS, et que le PUN est
construit uniquement de PMOS.
• En effet, un PMOS fait une bonne connexion
à VDD et une mauvaise connexion à GND.
• Pour un NMOS, c’est le contraire: il fait une
bonne connexion à GND et une mauvaise
connexion à VDD.
GELE5340 – Gabriel Cormier, Université de Moncton
7
NMOS: logique
VDD
Vin = 1
Vout : VDD → 0
D
Mp
S
Vout : 0 → VDD – VTn
Vin = 1
Mp
CL
S
CL
1. Si on fait une transition de 0 → 1
à la sortie, le condensateur
(initialement à 0V) se charge
jusqu’à VDD – VTn.
D
2. Si on fait une transition de 1 → 0
à la sortie, le condensateur
(initialement à VDD) se décharge
jusqu’à 0V.
Le NMOS fait un bon « 0 » mais un mauvais « 1 ».
GELE5340 – Gabriel Cormier, Université de Moncton
8
PMOS: logique
VDD
Vin = 0
Vout : VDD → |VTp|
S
Mp
D
Vout : 0 → VDD
Vin = 0
Mp
CL
D
CL
1. Si on fait une transition de 0 → 1
à la sortie, le condensateur
(initialement à 0V) se charge
jusqu’à VDD.
S
2. Si on fait une transition de 1 → 0
à la sortie, le condensateur
(initialement à VDD) se décharge
jusqu’à |VTp|.
Le PMOS fait un bon « 1 » mais un mauvais « 0 ».
GELE5340 – Gabriel Cormier, Université de Moncton
9
Combinaisons série / parallèle: NMOS
A
Y = X seulement si les deux
NMOS sont ON. Il s’agit de la
fonction AND.
B
Combinaison
série
Y
X
YX
si A  B
A
Combinaison
parallèle
Y = X si un des deux NMOS est
ON. Il s’agit de la fonction OR.
B
X
Y
YX
GELE5340 – Gabriel Cormier, Université de Moncton
si A  B
10
Combinaisons série / parallèle: PMOS
A
Y = X seulement si les deux
PMOS sont ON. Il s’agit de la
fonction NOR.
B
Combinaison
série
Y
X
YX
si A  B
A
Combinaison
parallèle
Y = X si un des deux PMOS est
ON. Il s’agit de la fonction NAND.
B
X
Y
YX
GELE5340 – Gabriel Cormier, Université de Moncton
si A  B
11
CMOS: logique complémentaire
• En logique complémentaire, le PUN est le
complémentaire du PDN. On peut démontrer
à l’aide du théorème de DeMorgan:
A  B  A B
A B  A  B
• Ce qu’on veut dire, c’est qu’une combinaison
parallèle des transistors dans le réseau PUN
correspond à une combinaison série des
transistors dans le PDN, et vice-versa.
GELE5340 – Gabriel Cormier, Université de Moncton
12
Exemple de porte : NAND
A
B
OUT
0
0
1
0
1
1
1
0
1
1
1
0
Table de vérité d’une porte NAND
à 2 entrées
La fonction logique dans ce cas est:
OUT  A  B  A  B
Le circuit est donc:
VDD
A
B
Si A ou B est 0,
un PMOS est
ON, et la sortie
est VDD.
OUT
A
Le seul cas où la sortie est 0 est
quand A et B sont 1.
B
GELE5340 – Gabriel Cormier, Université de Moncton
Si A et B sont 1,
les NMOS sont
ON, et la sortie
est 0.
13
Exemple de porte : NOR
A
B
OUT
0
0
1
0
1
0
1
0
0
1
1
0
La fonction logique dans ce cas est:
OUT  A  B  A  B
Le circuit est donc:
VDD
Table de vérité d’une porte NOR à
2 entrées
A
Si A et B sont 0,
les PMOS sont
ON, et la sortie
est VDD.
B
Le seul cas où la sortie est 1 est
quand A et B sont 0.
OUT
A
B
GELE5340 – Gabriel Cormier, Université de Moncton
Si A ou B sont 1,
un NMOS est
ON, et la sortie
est 0.
14
Exemple de porte complexe
VDD
B
A
C
D
F  D  A  (B  C)
A
D
B
C
Étant donné la fonction,
comment construire les
réseaux PUN et PDN?
GELE5340 – Gabriel Cormier, Université de Moncton
15
Design d’une porte complexe: PDN
F  D  A  (B  C)
Remarque: la fonction est
inversante (le tout est NOT)
A
Puisque A multiplie
(B+C), on le met en
série avec ces deux
FETs.
D
B
Puisque D est additionné
à (A•(B+C)), on le met en
parallèle.
C
Puisqu’on a B+C dans
la fonction, on les mets
en parallèle.
GELE5340 – Gabriel Cormier, Université de Moncton
16
Design d’une porte complexe: PUN
F  D  A  (B  C)
VDD
B
A
A
C
D
B
C
D
PDN
GELE5340 – Gabriel Cormier, Université de Moncton
PUN
17
Design d’une porte complexe
• Pour construire une fonction quelconque, on suit les
procédures suivantes:
S’assurer que la fonction est inversante (le tout est NOT)
○ Construire le PDN
○


○
Si on a un « + », les transistors sont en parallèle
Si on a un « • », les transistors sont en série
Construire le PUN


Si des transistors sont en série dans le PDN, ils sont en
parallèle dans le PUN.
Si des transistors sont en parallèle dans le PDN, ils sont en
série dans le PUN.
GELE5340 – Gabriel Cormier, Université de Moncton
18
Propriétés des portes statiques CMOS
• Marges de bruit élevées:
○
VOL et VOH sont GND et VDD, respectivement.
• Aucune consommation statique de puissance.
○
Il n’y a jamais de chemin direct entre VDD et GND.
• Temps de montée et de descente sont comparables
○
Avec un dimensionnement approprié.
• Les niveaux logiques ne dépendent pas du rapport
de dimensions des transistors « ratioless logic ».
• Le délai de propagation est fonction de la
capacitance de la charge et la résistance des
transistors.
• Aucun courant à l’entrée.
GELE5340 – Gabriel Cormier, Université de Moncton
19
Calcul du délai
• Pour faire le calcul du délai des porte
logiques, on utilise le modèle d’interrupteur
du MOSFET.
○
Les PMOS et NMOS sont remplacés par des
interrupteurs ayant une résistance infinie lorsqu’ils
sont OFF et une résistance finie lorsqu’ils sont
ON.
• Un point important:
○
Le délai dépend de la combinaison des entrées.
GELE5340 – Gabriel Cormier, Université de Moncton
20
Modèle pour le délai
VDD
VDD
A
B
B
VDD
Cint
CL
A
A
B
CL
CL
Cint
A
A
Inverseur
NAND2
GELE5340 – Gabriel Cormier, Université de Moncton
A
B
NOR2
21
Effet de l’entrée sur le délai
VDD
Le délai dépend de la combinaison d’entrées.
Rp
A
Rp
B
Transition de bas à haut:
A = 0 ou B = 0:
Rn
CL
A = 0 et B = 0:
B
Rn
A
NAND2
Cint
t pr  0.69RpCL
Rp
t pr  0.69
CL
2
Transition de haut à bas:
Le nœud interne
a un impact
A = 1 et B = 1:
t pf  0.69Rn 2CL  Cint 
On a donc 3 délais différents pour le NAND2.
GELE5340 – Gabriel Cormier, Université de Moncton
22
Délai d’une porte NAND
3
Délai
(ps)
A=B=01
67
A=1, B=01
64
A= 01, B=1
61
A=B=10
45
A=1, B=10
80
A= 10, B=1
81
A=B=10
2.5
2
Tension
Entrée
A=1 0, B=1
1.5
1
A=1, B=10
0.5
0
0
100
200
300
400
Temps (ps)
NMOS = 0.5m/0.25 m
PMOS = 0.75m/0.25 m
CL = 100 fF
GELE5340 – Gabriel Cormier, Université de Moncton
23
Délai d’une porte NAND
VDD
Transition la plus rapide: A = B = 1 → 0 ?
Rp
A
Rp
B
Rn
CL
Ce cas implique que CL et Cint sont
branchés à GND en premier, et
qu’ensuite on a deux PMOS en parallèle
qui vont charger CL.
Transition la plus lente: A = 1 → 0 , B = 1 ?
B
Rn
A
Cint
Ce cas implique que CL et Cint sont
branchés à GND en premier, et
qu’ensuite on a un PMOS qui doit
charger CL et Cint.
NAND2
GELE5340 – Gabriel Cormier, Université de Moncton
24
Dimensionnement des portes: NAND
VDD
Pour dimensionner les FET, on doit considérer de
quelle façon ils sont branchés.
A
2
B
2
CL
B
2
Cint
A
2
NAND2
On compare à un inverseur auquel les PMOS sont
de dimension 2 et les NMOS sont de dimension 1.
On veut donc s’assurer que la combinaison des
NMOS donne toujours 1, et que la combinaison
des PMOS donne toujours 2, en termes de
résistances.
Ex: NAND2
Les NMOS sont en série. Pour obtenir la même
résistance qu’un seul NMOS, il faut les faire deux
fois plus gros (et donc la moitié de la résistance).
Les PMOS sont en parallèle. Dans le pire cas,
un sera ON et l’autre OFF. Donc ils peuvent avoir
la même dimension que le PMOS de l’inverseur.
GELE5340 – Gabriel Cormier, Université de Moncton
25
Dimensionnement des portes: NOR
VDD
B
Le travail est le même: on compare avec un
inverseur où le PMOS est de dimension 2 et le
NMOS de dimension 1.
4
Cint
A
4
CL
A
1
B
1
NOR2:
Les NMOS sont en parallèle. Donc, dans le
pire cas, il y aura 1 NMOS ON. On peut donc
faire les deux NMOS de dimension minimale,
soit 1.
Il y a deux PMOS en série dans le pire cas; il
faut donc faire les deux PMOS 2 fois plus gros
(pour réduire la résistance de moitié). Ils seront
donc de dimension 4.
NOR2
GELE5340 – Gabriel Cormier, Université de Moncton
26
Dimensionnement: porte complexe
VDD
A
B
43
8 6
C
8 6
D
4 6
F  D  A  (B  C)
2
A
D
1
B
2C
2
GELE5340 – Gabriel Cormier, Université de Moncton
27
Entrance: effet sur le délai
VDD
A
B
C
D
CL
A
B
C3
Délai (si les NMOS sont égaux):
NAND4
C
D
C2
C1
t pHL  0.69Reqn C1  2C2  3C3  4CL 
Le délai se détériore rapidement en
fonction de l’entrance.
GELE5340 – Gabriel Cormier, Université de Moncton
28
Entrance: effet sur le délai
1250
quadratique
tp (ps)
1000
750
On devrait éviter
des portes avec
une entrance plus
grande que 4.
tpHL
tp
500
tpLH
250
linéaire
0
2
4
6
8
10
12
14
16
entrance
GELE5340 – Gabriel Cormier, Université de Moncton
29
Techniques de design
• On cherche maintenant à améliorer le design
des circuits.
• Certaines techniques sont reliées à la
structure physique du circuit:
○
Dimensionnement
• D’autres sont reliées à la logique du circuit:
○
○
○
Organisation des entrées
Structures logiques alternatives
Utilisation de portes de transfert
GELE5340 – Gabriel Cormier, Université de Moncton
30
Technique de design #1
Dimensionnement progressif
InN
CL
MN
In3
M3
In2
M2
In1
M1
C3
C2
C1
Le NMOS le plus près de la sortie a
seulement besoin de décharger CL. On
peut le faire de dimension minimum (ou
le plus petit).
On fait les autres transistors de plus en
plus gros (parce qu’ils doivent décharger
de plus en plus de capacitances).
M1 > M2 > M3 > … > MN
On peut réduire le délai jusqu’à 20% en
utilisant cette technique. Cependant, les
bénéfices diminuent au fur et à mesure
que la technologie diminue.
GELE5340 – Gabriel Cormier, Université de Moncton
31
Technique de design #2
Organisation des transistors: concept du chemin critique
CL chargé
In3
0→1
1
In2
C2 chargé
In2
1
In1
CL chargé
In1
C2 déchargé
1
C1 chargé
0→1
In3
C1 déchargé
1
Le délai est fonction du temps
nécessaire pour décharger CL,
C1 et C2.
Le délai est fonction du temps
nécessaire pour décharger CL.
Le chemin critique doit être le plus près de la sortie.
GELE5340 – Gabriel Cormier, Université de Moncton
32
Technique de design #3
VDD
Organisation des FET:
M7
B
M6
C
D
M1
B
La capacitance CL est composée
des capacitances de drain de M5,
M1 et M2.
M5
A
D
L’ordre dans lequel on met les
FET influence la vitesse de sortie.
M8
A
CL
M2
M3 C
C’est CL qui a le plus d’impact sur
le délai, et donc on doit la
minimiser autant que possible.
M4
GELE5340 – Gabriel Cormier, Université de Moncton
33
Technique de design #3
VDD
M5
D
M7
B
M8
A
B
La fonction logique réalisée est la
même, mais ce circuit est plus
lent que le précédent.
M6
C
D
Dans ce cas-ci, la capacitance CL
est composée des capacitances
de drain de M1, M3, M4, M6, et M8.
M3
CL
C
M4
M1
A
M2
On doit avoir le minimum
possible de transistors
branchés à la sortie.
GELE5340 – Gabriel Cormier, Université de Moncton
34
Technique de design #4
Structures logiques alternatives
Au lieu d’une porte à 6 entrées,
on utilise deux portes avec une
entrance de 3. L’inverseur
devient un NAND.
Le tout est plus rapide, à cause
de la dépendance quadratique
du délai sur l’entrance.
GELE5340 – Gabriel Cormier, Université de Moncton
35
Technique de design #5
Isoler l’entrance de la sortance en utilisant des portes de transfert.
CL
CL
On a vu ceci au chapitre précédent.
GELE5340 – Gabriel Cormier, Université de Moncton
36
Dimensionnement des portes
Dimensionnement des portes
• Si on a plusieurs portes branchées ensemble
à une charge, comment faire pour minimiser
le délai?
• Quelle dimension doit-on donner aux portes
pour obtenir un délai minimum?
• On a déjà résolu ce problème pour des
inverseurs.
• On va donc généraliser la méthode utilisée
auparavant à des portes complexes.
GELE5340 – Gabriel Cormier, Université de Moncton
38
Rappel: dimensionnement de l’inverseur
In
Out
1
2
3
N
CL
On avait trouvé que:
Si le nombre d’étages est fixe (connu):
f  F
N
C
où F  L
Cin,1
Si le nombre d’étages est variable:
ln F
N
ln f opt
GELE5340 – Gabriel Cormier, Université de Moncton
39
Dimensionnement des portes
On va réécrire l’équation de délai sous une forme plus générale; de:
 Cext
t p  t p 0 1 
 C
g


  t p 0 1  f
 






On écrit:

gf 

t p  t p 0  p  
 

où
tp0 = délai intrinsèque de l’inverseur
f = sortance effective ou effort électrique
p = délai intrinsèque de la porte (sans charge)
g = effort logique
GELE5340 – Gabriel Cormier, Université de Moncton
40
Dimensionnement des portes
• On a ajouté deux nouveaux termes à
l’équation du délai:
○
○
p: rapport du délai de la porte au délai de
l’inverseur. C’est une mesure de combien plus
complexe est la porte par rapport à l’inverseur.
g: représente le fait qu’une porte complexe doit
travailler plus fort pour produire la même réponse.
C’est aussi une mesure de combien de
capacitance la porte présente à l’entrée pour
produire le même courant de sortie qu’un
inverseur.
GELE5340 – Gabriel Cormier, Université de Moncton
41
Délai intrinsèque p
Type de porte
p
Inverseur
1
NAND à n entrées
n
NOR à n entrées
n
Multiplexeur à n directions
2n
XOR, XNOR
n2n -1
GELE5340 – Gabriel Cormier, Université de Moncton
42
Effort logique
L’effort logique est le rapport de la capacitance d’entrée d’une porte sur la
capacitance d’entrée d’un inverseur ayant le même courant de sortie.
VDD
VDD
A
A
2 B
VDD
2
A
4
B
4
OUT
2
OUT
A
2
OUT
A
1
B
2
A
1 B
g=1
g = 4/3
g = 5/3
Inverseur
NAND2
NOR2
GELE5340 – Gabriel Cormier, Université de Moncton
1
43
Effort logique g
Nombre d’entrées
Type de porte 1
2
3
n
NAND
4/3
5/3
(n+2)/3
NOR
5/3
7/3
(2n+1)/3
Multiplexeur
2
2
2
XOR
4
12
Inverseur
1
Effort logique, si le rapport PMOS / NMOS est 2, pour du CMOS
complémentaire.
GELE5340 – Gabriel Cormier, Université de Moncton
44
Effort logique
• Portes non standard:
○
○
On peut avoir un effort logique différent pour
chaque entrée.
Effort logique différent pour une transition L  H
ou H  L.
GELE5340 – Gabriel Cormier, Université de Moncton
45
Délai en fonction de la sortance
Le modèle du délai d’une porte est
une fonction linéaire.
6
La pente de la courbe représente
l’effort logique, et l’abscisse à
l’origine représente le délai
intrinsèque.
5
4
3
Effort de la porte
2
Le produit fg est appelé l’effort de
porte, h.
h  fg
1
Délai intrinsèque
1
2
3
4
5
6
f
GELE5340 – Gabriel Cormier, Université de Moncton
46
Délai d’un circuit complexe
Le délai total d’un circuit logique complexe (composé de différentes
portes: AND, NOT, OR, etc…) peut donc être écrit comme suit:
N
t p   t p, j
j 1
gj fj 


 t p 0   p j 
 
j 1 
N
On fait l’analyse de la même manière que pour l’inverseur: on
trouve N – 1 dérivées partielles, et on les met à 0. On obtient
comme résultat:
f1 g1  f 2 g 2    f N g N
ou
h1  h2    hN
Chaque étage doit fournir le même effort de porte.
GELE5340 – Gabriel Cormier, Université de Moncton
47
Effort de branchement
• Il reste un autre paramètre à calculer: l’effort
de branchement (b).
○
L’effort de branchement est une mesure du
nombre de sorties auxquelles une porte est
branchée. Ces sorties vont réduire le courant
disponible pour charger ou décharger la
capacitance voulue.
GELE5340 – Gabriel Cormier, Université de Moncton
48
Effort de branchement
Effort de branchement:
b
Csur parcours  Chors parcours
Csur parcours
CL
GELE5340 – Gabriel Cormier, Université de Moncton
49
Méthode de l’effort logique
Il reste 3 termes à définir ayant rapport au parcours total:
N
G  g1 g 2  g n   g i
i 1
Effort logique du parcours
N
B  b1b2 bn   bi
i 1
N
fi N fi
CL
F
  
Cin,1 i 1 bi i 1 B
Effort de branchement du parcours
Effort électrique du parcours
GELE5340 – Gabriel Cormier, Université de Moncton
50
Méthode de l’effort logique
On peut maintenant calculer l’effort total du parcours:
H  BFG
De façon semblable à l’inverseur, l’effort de porte qui minimise
le délai est:
hN H
Et le délai minimum dans le parcours est:
 
 N
NNH
D  t p 0   p j 

 j 1


GELE5340 – Gabriel Cormier, Université de Moncton
51
Méthode de l’effort logique
Pour calculer la dimension s de chaque porte, on utilise l’équation
suivante:
 g1s1  i 1  f j
 
si  
b
g
j

1
 i   j




Typiquement, s1 = 1: le premier élément d’une suite de portes est de
dimension minimale.
GELE5340 – Gabriel Cormier, Université de Moncton
52
Méthode de l’effort logique
•
La procédure générale est la suivante:
1.
2.
3.
4.
5.
6.
Calculer l’effort logique G du parcours.
Calculer les efforts de branchement (b), et l’effort
de branchement du parcours (B).
Calculer la sortance effective du parcours (F).
Déterminer l’effort de chaque étage (h).
Calculer la sortance (f) de chaque étage.
Calculer la dimension (s) de chaque étage.
GELE5340 – Gabriel Cormier, Université de Moncton
53
Exemple
1
a
b
c
CL = 5
Dimensionner les portes pour minimiser le délai.
Selon les tableaux: g1 = 1; g2 = 5/3; g3 = 5/3; g4 = 1
5 5
25
G  1   1 
3 3
9
Branchement: il n’y a pas de branchement, donc b1 = b2 = b3 = b4 = 1
B=1
F = 5/1 = 5
GELE5340 – Gabriel Cormier, Université de Moncton
54
Exemple
1
a
b
c
CL = 5
Dimensionner les portes pour minimiser le délai.
H = GFB = (5)(25/9) = 125/9 = 13.9
h  4 H  1.93
f1 
h
h
 1.16
 1.93 f 2 
g2
g1
f3 
h
 1.16
g3
GELE5340 – Gabriel Cormier, Université de Moncton
f4 
h
 1.93
g4
55
Exemple
1
a
b
c
CL = 5
Dimensionner les portes pour minimiser le délai.
On calcule les dimensions:
f1 g1
f1 f 2 g1
a
 1.16 b 
 1.34
g2
g3
f1 f 2 f 3 g1
c
 2.60
g4
GELE5340 – Gabriel Cormier, Université de Moncton
56
Logique proportionnée
Logique proportionnée
• Autre méthode pour réaliser des fonctions
logiques.
• But: réduire le nombre de transistors utilisés
par rapport au CMOS complémentaire.
○
Implique une réduction dans la performance du
circuit.
• Les trois techniques de logique proportionnée
remplacent le circuit PUN par une charge.
GELE5340 – Gabriel Cormier, Université de Moncton
58
Logique proportionnée
VDD
VDD
Charge
NMOS
VT < 0
InN
PDN
a) Charge résistive
F
In1
In2
InN
…
In1
In2
…
F
Charge
PMOS
PDN
b) Charge NMOS
GELE5340 – Gabriel Cormier, Université de Moncton
F
In1
In2
InN
…
Charge
résistive
VDD
PDN
c) Pseudo-NMOS
59
Logique proportionnée
Charge résistive
Caractéristiques:
VDD
• N transistors nécessaires (pour N entrées)
Charge
résistive
RL
• VOH = VDD
F
InN
• Réponse non-symétrique
…
In1
In2
• VOL
RPDN

VDD
RPDN  RL
PDN
• Consommation statique de puissance
• tpLH = 0.69RLCL
GELE5340 – Gabriel Cormier, Université de Moncton
60
Logique proportionnée
Charges actives
VDD
VDD
Charge
NMOS
VT < 0
Charge
PMOS
F
InN
PDN
Charge NMOS
In1
In2
InN
…
In1
In2
…
F
PDN
Pseudo-NMOS
GELE5340 – Gabriel Cormier, Université de Moncton
61
Pseudo-NMOS
• Il faut N+1 transistors pour réaliser une fonction à N
entrées, plutôt que 2N transistors.
• La sortie haute VOH = VDD, puisque les NMOS sont
OFF quand la sortie devient haute.
• Cependant, la sortie basse VOL n’est pas 0V.
• De plus, il y a consommation statique de puissance
quand la sortie est basse.
• La valeur de sortie dépend du rapport de dimension
entre les NMOS et le PMOS: on appelle ça la
logique proportionnée.
GELE5340 – Gabriel Cormier, Université de Moncton
62
Pseudo-NMOS
VDD
VOH = VDD
CL
A
B
C
D
Pour calculer VOL, il faut que
le courant dans le PMOS soit
le même que dans les
NMOS. Le PMOS devrait
être plus petit que les
NMOS.
La puissance statique dissipée est P = VDDIlow où Ilow est le courant
dans le PMOS quand la sortie est basse (« 0 » logique).
GELE5340 – Gabriel Cormier, Université de Moncton
63
Inverseur pseudo-NMOS
Effet de la taille du PMOS sur la courbe VTC de l’inverseur pseudo-NMOS.
3.0
2.5
W/Lp = 4
Vout (V)
2.0
1.5
W/Lp = 2
1.0
0.5
W/Lp = 0.5
W/Lp = 1
W/Lp = 0.25
0.0
0.0
0.5
1.0
1.5
2.0
2.5
Vin (V)
GELE5340 – Gabriel Cormier, Université de Moncton
64
DCVSL
• Une technique utilisée pour améliorer la
performance du pseudo-NMOS est la technique du
DCVSL (differential cascode voltage swing logic), la
logique de commutation cascode différentielle.
• On utilise deux réseaux PDN, le deuxième réseau
étant le complément du premier (un seul réseau
permet un chemin à GND).
• On implémente alors la fonction logique voulue et
son complément.
• Ceci permet d’obtenir une variation à la sortie de
GND à VDD.
GELE5340 – Gabriel Cormier, Université de Moncton
65
DCVSL
Exemple:
VDD
VDD
M1
M2
F
F
InN
PDN1
…
…
In1
In1
InN
État initial: F = 1, F = 0.
PDN2
Supposons que la combinaison
d’entrées fait en sorte que PDN1
conduit (donc PDN2 ne conduit pas).
PDN1 va commencer à faire
descendre la tension F. Ceci allume
M2, qui commence à faire monter la
tension F. Lorsque F a monté haut
assez, M1 devient OFF, et PDN1 peut
décharger la charge jusqu’à GND.
GELE5340 – Gabriel Cormier, Université de Moncton
66
DCVSL
VDD
VDD
M1
F
A
B
Tension [V]
M2
F
A
2.5
AB
1.5
0.5
AB
A,B
A, B
B
-0.5 0
0.2
GELE5340 – Gabriel Cormier, Université de Moncton
0.4
0.6
Time [ns]
0.8
1.0
67
Logique passante
Logique passante
• En logique passante, on utilise le transistor
pour passer le signal d’une entrée à une
sortie.
• L’entrée n’est pas nécessairement à la grille
du NMOS, mais peut être à la source ou au
drain.
• On utilise un NMOS parce qu’il est plus
rapide qu’un PMOS.
GELE5340 – Gabriel Cormier, Université de Moncton
69
Logique passante
B
Pour trouver la fonction logique de
ce circuit, on procède cas-par-cas:
A
B
F
Si B = 0, le NMOS supérieur est
OFF, et celui d’en bas est ON: la
sortie F = 0.
Si B = 1, le NMOS supérieur est
ON et celui du bas est OFF: la sortie
F = A.
Porte AND
À l’aide d’une table de vérité, on
peut confirmer qu’il s’agit de la
fonction AND.
F  A B
GELE5340 – Gabriel Cormier, Université de Moncton
70
Logique passante: NMOS
• Cependant, il y a un problème avec ce type
de circuit.
• Le nœud de sortie peut seulement se charger
jusqu’à une valeur de VDD – VT: le NMOS
devient OFF quand VGS < VT.
• Il faudra donc faire attention pour ne pas
brancher trop de transistors passants en
série.
GELE5340 – Gabriel Cormier, Université de Moncton
71
Logique passante: NMOS
IN
3.0
VDD
x
Le nœud x peut seulement se
charger jusqu’à une valeur de
VDD – VT.
OUT
Tension [V]
In
Out
2.0
x
1.0
0.0
0
0.5
De plus, l’effet du substrat,
qu’on ne peut ignorer ici, fait
augmenter la tension seuil (et
donc Vout est plus faible).
GELE5340 – Gabriel Cormier, Université de Moncton
1
1.5
2
Temps [ns]
72
Porte de transmission
• Une solution au problème du chargement du
nœud de sortie du transistor passant est la
porte de transmission.
• On met un PMOS en parallèle avec le
NMOS. Ce PMOS s’occupera de faire monter
le nœud jusqu’à VDD après que le NMOS
sera OFF.
GELE5340 – Gabriel Cormier, Université de Moncton
73
Porte de transmission
B
A
F
B
a) Circuit
B
A
F
B
b) Symbole
La porte de transmission fonctionne comme le transistor passant,
sauf qu’il y a un PMOS pour faire monter la tension jusqu’à VDD.
GELE5340 – Gabriel Cormier, Université de Moncton
74
Résistance d’une porte de transmission
30
Résistance, kW
Rn
20
B
Rp
Rn
A
10
F
Rn || Rp
Rp
B
0
0.0
1.0
Vout , V
2.0
Remarque: la résistance d’une porte de transmission est
pratiquement constante.
GELE5340 – Gabriel Cormier, Université de Moncton
75
Porte de transmission: exemple
S
VDD
A
F  A S  B  S
S
B
S
Multiplexeur 2x1
GELE5340 – Gabriel Cormier, Université de Moncton
76
Porte de transmission: exemple
B
B
F
A
A
Cette implémentation ne nécessite
que 6 transistors (incluant l’inverseur
pour inverser B); une implémentation
en CMOS complémentaire
nécessiterait 12 transistor.
B
B
XOR
GELE5340 – Gabriel Cormier, Université de Moncton
77
Porte de transmission: exemple
A
A
Out
B
Cette implémentation nécessite 5
transistors (incluant l’inverseur pour
inverser A); une implémentation en
CMOS complémentaire nécessiterait
6 transistor.
A
OR
GELE5340 – Gabriel Cormier, Université de Moncton
78
Logique dynamique
Logique dynamique
• Dans des circuits statiques, à chaque point
dans le temps (sauf pendant la commutation)
la sortie est branchée à GND ou VDD par un
chemin de résistance faible.
• Les circuits dynamiques fonctionnement en
stockant temporairement la valeur des
signaux sur la capacitance de noeuds à
haute impédance.
GELE5340 – Gabriel Cormier, Université de Moncton
80
Logique dynamique
• Les circuits dynamiques utilisent le même réseau
PDN que le CMOS complémentaire, mais aucun
réseau PUN.
• Dans les circuits dynamiques, on ajoute une horloge
pour faire le contrôle du circuit.
• Il faudra donc utiliser deux transistors
supplémentaires, un PMOS et un NMOS.
• Le fonctionnement du circuit se fait en deux phases:
○
Précharge
○ Évaluation
GELE5340 – Gabriel Cormier, Université de Moncton
81
Porte dynamique
VDD
On opère en deux phases:
Clk
Mp
Out
InN
CL
…
In1
In2
Clk
PDN
Me
Précharge: Clk = 0. Pendant la
précharge, le condensateur de
sortie est chargé à VDD.
Évaluation: Clk = 1. Pendant
l’évaluation, si la combinaison
d’entrées fait en sorte que la sortie
doit être 0, le PDN va décharger le
condensateur. Sinon, CL garde sa
valeur de VDD.
Note: on utilise souvent le symbole  pour
l’horloge.
GELE5340 – Gabriel Cormier, Université de Moncton
82
Porte dynamique: exemple
VDD
Clk
Mp
on
off
Out 1
Out  A  B  C
Précharge: Clk = 0
Évaluation: Clk = 1
A
C
B
Clk
Me off
on
GELE5340 – Gabriel Cormier, Université de Moncton
83
Conditions à la sortie
• Lorsque la sortie d’une porte dynamique est
déchargée, elle ne peut pas être chargée à
nouveau avant la prochaine opération.
• Les entrées à la porte ne peuvent faire qu’au
plus une transition pendant l’évaluation.
• La sortie peut être dans l’état de haute
impédance pendant et après l’évaluation
(PDN off); l’état est stocké sur CL.
GELE5340 – Gabriel Cormier, Université de Moncton
84
Propriétés des portes dynamiques
• Fonction logique implantée par le PDN seulement:
○
Il y a N + 2 transistors (vs 2N en CMOS statique complémentaire)
• Sortie à variation max (VOL = GND et VOH = VDD)
• Logique non proportionnée – la dimension des
transistors n’affecte pas les niveaux logiques.
• Commutation plus rapide
○
○
○
Capacitance de charge réduite à cause d’une capacitance
d’entrée plus faible (Cin)
Capacitance de charge réduite à cause d’une capacitance de
sortie plus faible (Cout)
Pas de Isc, donc la totalité du courant du PDN décharge CL.
GELE5340 – Gabriel Cormier, Université de Moncton
85
Propriétés des portes dynamiques
• Dissipation totale de puissance habituellement plus
élevée que le CMOS statique
○
○
○
○
Pas de chemin direct entre VDD et GND (Psc)
Pas d’erreurs
Probabilité de transition plus élevée
Charge supplémentaire sur CLK
• PDN fonctionne aussitôt que les entrées dépassent
VTn, donc VM, VIH et VIL = VTn
○
Marge de bruit faible (NML)
• Nécessite une horloge pour précharge / évaluation
GELE5340 – Gabriel Cormier, Université de Moncton
86
Désavantage #1: fuite de charge
• Un premier problème rencontré avec
l’utilisation de circuits dynamiques est la fuite
de charge.
• Des diodes parasites dans le circuit et les
courants sous-seuil produisent un très faible
courant qui, à la longue, va décharger le
condensateur CL.
• Il y a donc une fréquence minimale à laquelle
le circuit peut opérer.
GELE5340 – Gabriel Cormier, Université de Moncton
87
Désavantage #1: fuite de charge
VDD
CLK
Clk
Mp
VOut
CL
A
Évaluation
VOut
Clk
Me
Précharge
Sources de fuites.
Le courant sous-seuil est dominant.
GELE5340 – Gabriel Cormier, Université de Moncton
88
Désavantage #1: fuite de charge
SOLUTION:
Clk
VDD
Rétablisseur de
niveau.
Mp
Out
CL
A
B
Clk
Le rétablisseur de niveau permet de maintenir
le niveau logique « 1 » sur CL quand la sortie
est 1.
Me
GELE5340 – Gabriel Cormier, Université de Moncton
89
Désavantage #2: partage de charges
• Le partage de charges est un effet qui se
produit plus rapidement que la fuite de
charge:
○
La charge stockée sur CL se répartit entre les
différentes capacitances parasites des NMOS, ce
qui réduit la tension aux bornes de CL.
• Une fois la charge répartie, la sortie est
quand même susceptible à la fuite de charge,
qui va réduire la tension à la sortie encore
plus.
GELE5340 – Gabriel Cormier, Université de Moncton
90
Désavantage #2: partage de charges
VDD
Clk
La charge originalement stockée sur CL
est répartie sur CL et Ca, ce qui réduit la
tension à la sortie.
Mp
CL
A
Ca
B=0
Clk
Me
Cb
Il faut qu’il y ait conservation de charge:
Qt  CLVDD  CLV f  CaV f
Il n’y a plus de redistribution de charge
lorsque la tension est équilibrée.
Vf 
GELE5340 – Gabriel Cormier, Université de Moncton
CL
VDD
C L  Ca
91
Désavantage #2: partage de charges
VDD
Clk
A
Mp
CL
Ma
Ca
B=0
Clk
Cependant, si la tension Va (sur la
capacitance Ca) devient trop élevée,
le FET Ma devient OFF.
Me
Cb
Dans ce cas-ci, l’effet du substrat ne
peut être ignoré, ce qui augmente la
tension seuil.
La condition limite (juste quand Ma
devient OFF) est:
Ca
Vtn

CL VDD  Vtn
GELE5340 – Gabriel Cormier, Université de Moncton
92
Désavantage #2: partage de charges
VDD
Clk
A
Cas 1:
Mp
Vf 
CL
a
Cas 2:
Ca
B=0
Clk
Ca
Vtn

CL VDD  Vtn
Me
Cb
MA = OFF
CL  Ca VDD  CaVtn
CL
Ca
Vtn

CL VDD  Vtn
Vf 
CL
VDD
C L  Ca
GELE5340 – Gabriel Cormier, Université de Moncton
93
Désavantage #2: partage de charges
• Solution:
○
Précharger les nœuds internes à VDD en utilisant
un transistor alimenté par l’horloge.

○
Ceci rajoute beaucoup de connexions pour des
fonctions complexes.
La fonction logique est aussi plus lente pour
générer un 0: il faut décharger plusieurs
capacitances.
GELE5340 – Gabriel Cormier, Université de Moncton
94
Désavantages
• Il existe plusieurs autres désavantages des
circuits dynamiques, dont le plus important
est le couplage capacitif.
• Le couplage capacitif permet à certains
nœud de monter plus haut que la tension
d’alimentation. Si la tension augmente trop,
les diodes parasites qui sont normalement
polarisées inverses peuvent commencer à
conduire, et détruire le signal stocké.
GELE5340 – Gabriel Cormier, Université de Moncton
95
Portes dynamiques en cascade
• Autre que les effets de dégradation du signal,
il y a un autre désavantage majeur aux
circuits dynamiques: la difficulté de les mettre
en cascade.
• On verra qu’il faut s’assurer que les entrées
soient tous 0 pendant la phase de précharge,
et que seules les transitions 0 → 1 sont
permises pendant la phase d’évaluation.
GELE5340 – Gabriel Cormier, Université de Moncton
96
Portes dynamiques en cascade
VDD
Clk
Mp
VDD
Clk
V
Clk
Mp
Out2
Out1
In
In
Out1
Clk
Me
Clk
VTn
Me
Out2
V
t
Seules des transitions 0 → 1 sont permises aux entrées.
GELE5340 – Gabriel Cormier, Université de Moncton
97
Logique domino
• Pour s’assurer que les entrées à chaque
PDN sont « 0 » pendant la phase de
précharge, on ajoute un inverseur statique à
la sortie de chaque porte dynamique.
• On appelle ce nouveau type de circuit
domino, puisque que l’entrée se propage
vers la sortie en faisant décharger les sorties
intermédiaires.
GELE5340 – Gabriel Cormier, Université de Moncton
98
Logique domino
VDD
VDD
Inverseur statique
Clk
Mp
Clk
Mp
Out2
Out1
In1
In2
PDN
In3
Clk
In4
PDN
In5
Me
Clk
Me
Avec l’inverseur statique,
on peut précharger chaque
sortie à VDD, et s’assurer
que chaque entrée est 0.
GELE5340 – Gabriel Cormier, Université de Moncton
99
Logique domino
• La phase évaluation doit avoir une période
qui est assez longue pour permettre à tous
les étages de se décharger.
• Ceci affecte la fréquence maximale
d’opération.
• Les mêmes contraintes de fuite de charge et
partage de charges s’appliquent à ce type de
circuit.
GELE5340 – Gabriel Cormier, Université de Moncton
100
Topologie des circuits
Topologie des circuits
• On explore ici différentes méthodes pour faire
le design de la topologie des circuits.
• L’expérience est le meilleur atout pour faire la
topologie de fonctions complexes, mais une
technique aide dans le design:
○
Méthode du parcours d’Euler
• On verra aussi les techniques de cellules
standards, qui permet de simplifier la
construction de circuits complexes.
GELE5340 – Gabriel Cormier, Université de Moncton
102
Schémas squelettisés
• Les schémas squelettisés sont des
diagrammes sans dimension de la topologie
des circuits.
• Ils permettent de rapidement faire un croquis
de la topologie du circuit, sans tenir compte
des petits détails de fabrication.
• Ils permettent aussi d’identifier les transistors,
les entrées et les sorties, et l’alimentation.
GELE5340 – Gabriel Cormier, Université de Moncton
103
Schémas squelettisés: exemples
VDD
VDD
Out
Out
In
GND
Inverseur
GND
A
B
NAND2
On essaie d’utiliser les même couleurs que dans l’éditeur de topologie.
GELE5340 – Gabriel Cormier, Université de Moncton
104
Graphe logique
• Le graphe logique est une représentation des
parcours utilisés par les signaux.
• Chaque nœud du graphe représente un
nœud dans le circuit où deux (ou plus)
transistors sont branchés ensemble, ou le
lieu où il y a une connexion à VDD ou GND.
• La courbe qui relie deux nœud représente un
transistor.
• On construit un graphe pour le PDN et un
graphe pour le PUN.
GELE5340 – Gabriel Cormier, Université de Moncton
105
Graphe logique
VDD
X
B
j
C
C
A
VDD
X
i
X  C   A  B
A
C
j
B
i
A
B
GELE5340 – Gabriel Cormier, Université de Moncton
GND
106
Parcours d’Euler
• Une fois le graphe logique construit, il faut définir un
parcours qui permet de passer sur chaque courbe
une seule fois et visiter chaque noeud.
• Le parcours utilisé devient le parcours d’Euler, et
permet de minimiser les connexions dans la création
de la topologie du circuit.
• Si on peut trouver un tel parcours, on aura besoin
d’utiliser qu’une seule bande de diffusion pour les
NMOS et les PMOS.
GELE5340 – Gabriel Cormier, Université de Moncton
107
Parcours d’Euler
X
X
C
C
VDD
X
X
i
A
VDD
i
j
B
A
GND
j
B
GND
Parcours d’Euler: A B C
GELE5340 – Gabriel Cormier, Université de Moncton
108
Topologie du circuit
• À l’aide du parcours d’Euler, on peut construire le
diagramme de bâtons correspondant au circuit.
• On commence en plaçant deux bande horizontales
de métal 1, une pour VDD et une pour GND.
• On ajoute ensuite (horizontalement) une bande de
diffusion pour le PDN et une bande pour le PUN.
• On place par après une bande verticale de
polysilicone pour chaque entrée.
• On finit le diagramme en faisant les connexions
selon le parcours d’Euler.
GELE5340 – Gabriel Cormier, Université de Moncton
109
Topologie du circuit
X
VDD
C
X
VDD
i
A
j
B
X
GND
A
B
C
GND
GELE5340 – Gabriel Cormier, Université de Moncton
110
Cellules standard
• Dans la construction de cellules standard, les
signaux (entrées / sorties) sont routées de façon
perpendiculaire à l’alimentation et la mise à terre.
• Généralement, le polysilicone est placé
verticalement, et l’alimentation et GND sont placés
horizontalement.
• La hauteur des cellules est constante. C’est un point
important; ça permet de facilement brancher
plusieurs cellules ensemble pour réaliser des
fonctions complexes.
GELE5340 – Gabriel Cormier, Université de Moncton
111
Cellules standard: exemple
VDD
VDD
A
B
Inverseur
In
NAND2
Out
Out
GND
GELE5340 – Gabriel Cormier, Université de Moncton
GND
112
Cellules standard: exemple
VDD
VDD
Il est facile de brancher les
deux cellules ensemble.
Les deux alimentations sont
automatiquement connectés.
A
In
B
Out
Out
GND
Les deux mises à terre sont
automatiquement connectés.
Il suffit tout simplement
d’ajouter un lien en métal 1
pour brancher les deux
cellules.
GND
GELE5340 – Gabriel Cormier, Université de Moncton
113
Conclusion
• On a vu comment construire des fonctions logiques
de plusieurs façons:
○
○
○
○
○
○
CMOS statique complémentaire
Pseudo-NMOS
Logique passante
Portes de transmission
CMOS dynamique
CMOS domino
• On a aussi vu comment dimensionner des circuits
(méthode de l’effort logique), et comment faciliter la
construction de la topologie.
GELE5340 – Gabriel Cormier, Université de Moncton
114
Téléchargement