GELE5340 Circuits ITGÉ (VLSI)...Circuits ITGÉ (VLSI) Chapitre 5: Design de fonctions logiques...
Transcript of GELE5340 Circuits ITGÉ (VLSI)...Circuits ITGÉ (VLSI) Chapitre 5: Design de fonctions logiques...
GELE5340
Circuits ITGÉ (VLSI)
Chapitre 5: Design de fonctions
logiques combinatoires
GELE5340 – Gabriel Cormier, Université de Moncton 2
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 3
Logique combinatoire vs séquentielle
Circuit logique
combinatoire
Circuit logique
combinatoire
États
In Out In Out
Logique combinatoire Logique séquentielle
Sortie = f(In) 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 4
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 5
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 6
CMOS statique complémentaire
PUN
PDN
VDD
In1
In2
InN …
In1
In2
InN …
F(In1, In2, …, InN)
PMOS seulement
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 7
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 8
NMOS: logique
Vin = 1 Mp
CL
VDD
Mp
CL Vout : 0 → VDD – VTn
1. Si on fait une transition de 0 → 1
à la sortie, le condensateur
(initialement à 0V) se charge
jusqu’à VDD – VTn.
S
D
Vin = 1
Vout : VDD → 0
2. Si on fait une transition de 1 → 0
à la sortie, le condensateur
(initialement à VDD) se décharge
jusqu’à 0V.
S
D
Le NMOS fait un bon « 0 » mais un mauvais « 1 ».
GELE5340 – Gabriel Cormier, Université de Moncton 9
PMOS: logique
Vin = 0 Mp
CL
VDD
Mp
CL Vout : 0 → VDD
1. Si on fait une transition de 0 → 1
à la sortie, le condensateur
(initialement à 0V) se charge
jusqu’à VDD.
D
S
Vin = 0
Vout : VDD → |VTp|
2. Si on fait une transition de 1 → 0
à la sortie, le condensateur
(initialement à VDD) se décharge
jusqu’à |VTp|.
D
S
Le PMOS fait un bon « 1 » mais un mauvais « 0 ».
GELE5340 – Gabriel Cormier, Université de Moncton 10
Combinaisons série / parallèle: NMOS
A B
X Y
Combinaison
série
Y = X seulement si les deux
NMOS sont ON. Il s’agit de la
fonction AND.
BAXY si
A
B
X Y
Combinaison
parallèle
Y = X si un des deux NMOS est
ON. Il s’agit de la fonction OR.
BAXY si
GELE5340 – Gabriel Cormier, Université de Moncton 11
Combinaisons série / parallèle: PMOS
A B
X Y
Combinaison
série
Y = X seulement si les deux
PMOS sont ON. Il s’agit de la
fonction NOR.
BAXY si
A
B
X Y
Combinaison
parallèle
Y = X si un des deux PMOS est
ON. Il s’agit de la fonction NAND.
BAXY si
GELE5340 – Gabriel Cormier, Université de Moncton 12
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:
• 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.
BABA
BABA
GELE5340 – Gabriel Cormier, Université de Moncton 13
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:
BABAOUT
Le circuit est donc:
A
VDD
A
B
B
OUT
Le seul cas où la sortie est 0 est
quand A et B sont 1.
Si A ou B est 0,
un PMOS est
ON, et la sortie
est VDD.
Si A et B sont 1,
les NMOS sont
ON, et la sortie
est 0.
GELE5340 – Gabriel Cormier, Université de Moncton 14
Exemple de porte : NOR
A B OUT
0 0 1
0 1 0
1 0 0
1 1 0
Table de vérité d’une porte NOR à
2 entrées
La fonction logique dans ce cas est:
BABAOUT
Le circuit est donc:
A
VDD
A
B
B
OUT Le seul cas où la sortie est 1 est
quand A et B sont 0.
Si A et B sont 0,
les PMOS sont
ON, et la sortie
est VDD.
Si A ou B sont 1,
un NMOS est
ON, et la sortie
est 0.
GELE5340 – Gabriel Cormier, Université de Moncton 15
Exemple de porte complexe
B
B
C
C
VDD
A
D
A
D
)( CBADF
Étant donné la fonction,
comment construire les
réseaux PUN et PDN?
GELE5340 – Gabriel Cormier, Université de Moncton 16
Design d’une porte complexe: PDN
B C
A
D
)( CBADF
Puisqu’on a B+C dans
la fonction, on les mets
en parallèle.
Puisque A multiplie
(B+C), on le met en
série avec ces deux
FETs.
Puisque D est additionné
à (A•(B+C)), on le met en
parallèle.
Remarque: la fonction est
inversante (le tout est NOT)
GELE5340 – Gabriel Cormier, Université de Moncton 17
Design d’une porte complexe: PUN
B C
A
D
)( CBADF
B
C
VDD
A
D
PDN PUN
GELE5340 – Gabriel Cormier, Université de Moncton 18
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 19
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 20
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 21
Modèle pour le délai
VDD
Inverseur
VDD
NAND2
CL
CL
Cint
A
A
A
B
A B
A B
VDD
A
B
CL
Cint
NOR2
GELE5340 – Gabriel Cormier, Université de Moncton 22
Effet de l’entrée sur le délai
VDD
NAND2
CL
Cint
A
B
A B
Le délai dépend de la combinaison d’entrées.
Transition de bas à haut:
A = 0 ou B = 0: Lppr CRt 69.0
A = 0 et B = 0: L
p
pr CR
t2
69.0
Transition de haut à bas:
int269.0 CCRt Lnpf
A = 1 et B = 1:
Rp Rp
Rn
Rn
On a donc 3 délais différents pour le NAND2.
Le nœud interne
a un impact
GELE5340 – Gabriel Cormier, Université de Moncton 23
Délai d’une porte NAND
0
0.5
1
1.5
2
2.5
3
0 100 200 300 400
Entrée Délai
(ps)
A=B=01 67
A=1, B=01 64
A= 01, B=1 61
A=B=10 45
A=1, B=10 80
A= 10, B=1 81 Temps (ps)
Tensio
n
NMOS = 0.5m/0.25 m
PMOS = 0.75m/0.25 m
CL = 100 fF
A=B=10
A=1, B=10
A=1 0, B=1
GELE5340 – Gabriel Cormier, Université de Moncton 24
Délai d’une porte NAND
VDD
NAND2
CL
Cint
A
B
A B
Rp Rp
Rn
Rn
Transition la plus rapide: A = B = 1 → 0 ?
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 ?
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.
GELE5340 – Gabriel Cormier, Université de Moncton 25
Dimensionnement des portes: NAND VDD
NAND2
CL
Cint
A
B
A B
Pour dimensionner les FET, on doit considérer de
quelle façon ils sont branchés.
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.
2
2
2 2
GELE5340 – Gabriel Cormier, Université de Moncton 26
Dimensionnement des portes: NOR
A B
VDD
A
B
CL
Cint
NOR2
Le travail est le même: on compare avec un
inverseur où le PMOS est de dimension 2 et le
NMOS de dimension 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.
1 1
4
4
GELE5340 – Gabriel Cormier, Université de Moncton 27
Dimensionnement: porte complexe
B
B
C
C
VDD
A
D
A
D
)( CBADF
1
2 2
2
4
4
8
8
6
6
6
3
GELE5340 – Gabriel Cormier, Université de Moncton 28
Entrance: effet sur le délai
VDD
NAND4
B
B
C
C
A D
A
D
CL
C3
C2
C1
Délai (si les NMOS sont égaux):
LeqnpHL CCCCRt 43269.0 321
Le délai se détériore rapidement en
fonction de l’entrance.
GELE5340 – Gabriel Cormier, Université de Moncton 29
Entrance: effet sur le délai t p
(p
s)
entrance
0
250
500
750
1000
1250
2 4 6 8 10 12 14 16
tpHL
quadratique
linéaire
tp
tpLH
On devrait éviter
des portes avec
une entrance plus
grande que 4.
GELE5340 – Gabriel Cormier, Université de Moncton 30
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 31
Technique de design #1
InN CL
C3
C2
C1
In3
In2
In1
MN
M3
M2
M1
Dimensionnement progressif
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 32
Technique de design #2 Organisation des transistors: concept du chemin critique
CL
C2
C1
In3
In2
In1
0→1
chargé
chargé
chargé
1
1
Le délai est fonction du temps
nécessaire pour décharger CL,
C1 et C2.
CL
C2
C1
In1
In2
In3
0→1
déchargé
déchargé
chargé
1
1
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 33
Technique de design #3
B
B
C
C
VDD
A
D
A
D
Organisation des FET:
L’ordre dans lequel on met les
FET influence la vitesse de sortie.
La capacitance CL est composée
des capacitances de drain de M5,
M1 et M2.
C’est CL qui a le plus d’impact sur
le délai, et donc on doit la
minimiser autant que possible.
M5
M1
M2
M3 M4
M6
M7
M8
CL
GELE5340 – Gabriel Cormier, Université de Moncton 34
Technique de design #3
B
B
C
C
VDD
A
D
A
D
M5
M1
M2
M3 M4
M6
M7
M8
CL
Dans ce cas-ci, la capacitance CL
est composée des capacitances
de drain de M1, M3, M4, M6, et M8.
La fonction logique réalisée est la
même, mais ce circuit est plus
lent que le précédent.
On doit avoir le minimum
possible de transistors
branchés à la sortie.
GELE5340 – Gabriel Cormier, Université de Moncton 35
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 36
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.
Dimensionnement des portes
GELE5340 – Gabriel Cormier, Université de Moncton 38
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 39
Rappel: dimensionnement de l’inverseur
In Out
1 2 3 N
CL
On avait trouvé que:
Si le nombre d’étages est fixe (connu):
1,
oùin
LN
CC
FFf
Si le nombre d’étages est variable:
optf
FN
ln
ln
GELE5340 – Gabriel Cormier, Université de Moncton 40
Dimensionnement des portes
On va réécrire l’équation de délai sous une forme plus générale; de:
ft
C
Ctt p
g
extpp 11 00
On écrit:
gfptt pp 0 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 41
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 42
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 43
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.
A
VDD
A
B
B
OUT
A
VDD
A
B
B
OUT
A
VDD
A
OUT
g = 1 g = 4/3 g = 5/3
1
2
2
2
2 2
1 1
4
4
Inverseur NAND2 NOR2
GELE5340 – Gabriel Cormier, Université de Moncton 44
Effort logique g
Nombre d’entrées
Type de porte 1 2 3 n
Inverseur 1
NAND 4/3 5/3 (n+2)/3
NOR 5/3 7/3 (2n+1)/3
Multiplexeur 2 2 2
XOR 4 12
Effort logique, si le rapport PMOS / NMOS est 2, pour du CMOS
complémentaire.
GELE5340 – Gabriel Cormier, Université de Moncton 45
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 46
Délai en fonction de la sortance
1
2
3
4
5
6
1 2 3 4 5 6
Délai intrinsèque
Effort de la porte
Le modèle du délai d’une porte est
une fonction linéaire.
La pente de la courbe représente
l’effort logique, et l’abscisse à
l’origine représente le délai
intrinsèque.
Le produit fg est appelé l’effort de
porte, h.
fgh
f
GELE5340 – Gabriel Cormier, Université de Moncton 47
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
j
N
j
jj
jpjpp
fgpttt
1 1
0,
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:
NN gfgfgf 2211
Nhhh 21
Chaque étage doit fournir le même effort de porte.
ou
GELE5340 – Gabriel Cormier, Université de Moncton 48
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 49
Effort de branchement
CL
Effort de branchement:
parcourssur
parcourshorsparcourssur
C
CCb
GELE5340 – Gabriel Cormier, Université de Moncton 50
Méthode de l’effort logique
Il reste 3 termes à définir ayant rapport au parcours total:
N
i
in ggggG1
21 Effort logique du parcours
N
i
in bbbbB1
21 Effort de branchement du parcours
N
i
iN
i i
i
in
L
B
f
b
f
C
CF
111,
Effort électrique du parcours
GELE5340 – Gabriel Cormier, Université de Moncton 51
Méthode de l’effort logique
On peut maintenant calculer l’effort total du parcours:
BFGH
De façon semblable à l’inverseur, l’effort de porte qui minimise
le délai est:
N Hh
Et le délai minimum dans le parcours est:
N
j
N
jp
HNptD
1
0
GELE5340 – Gabriel Cormier, Université de Moncton 52
Méthode de l’effort logique
Pour calculer la dimension s de chaque porte, on utilise l’équation
suivante:
1
1
11i
j j
j
i
ib
f
g
sgs
Typiquement, s1 = 1: le premier élément d’une suite de portes est de
dimension minimale.
GELE5340 – Gabriel Cormier, Université de Moncton 53
Méthode de l’effort logique
• La procédure générale est la suivante:
1. Calculer l’effort logique G du parcours.
2. Calculer les efforts de branchement (b), et l’effort
de branchement du parcours (B).
3. Calculer la sortance effective du parcours (F).
4. Déterminer l’effort de chaque étage (h).
5. Calculer la sortance (f) de chaque étage.
6. Calculer la dimension (s) de chaque étage.
GELE5340 – Gabriel Cormier, Université de Moncton 54
Exemple
CL = 5
1 a
b c
Dimensionner les portes pour minimiser le délai.
F = 5/1 = 5
Selon les tableaux: g1 = 1; g2 = 5/3; g3 = 5/3; g4 = 1
9
251
3
5
3
51 G
Branchement: il n’y a pas de branchement, donc b1 = b2 = b3 = b4 = 1
B = 1
GELE5340 – Gabriel Cormier, Université de Moncton 55
Exemple
CL = 5
1 a
b c
Dimensionner les portes pour minimiser le délai.
H = GFB = (5)(25/9) = 125/9 = 13.9
93.14 Hh
93.11
1 g
hf 16.1
2
2 g
hf 16.1
3
3 g
hf 93.1
4
4 g
hf
GELE5340 – Gabriel Cormier, Université de Moncton 56
Exemple
CL = 5
1 a
b c
Dimensionner les portes pour minimiser le délai.
On calcule les dimensions:
16.12
11 g
gfa 34.1
3
121 g
gffb 60.2
4
1321 g
gfffc
Logique proportionnée
GELE5340 – Gabriel Cormier, Université de Moncton 58
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 59
Logique proportionnée
PDN
VDD
In1
In2
InN …
F
Charge
résistive
PDN
VDD
In1
In2
InN …
F
Charge
NMOS
PDN
VDD
In1
In2
InN …
F
Charge
PMOS VT < 0
a) Charge résistive b) Charge NMOS c) Pseudo-NMOS
GELE5340 – Gabriel Cormier, Université de Moncton 60
Logique proportionnée
Charge résistive
PDN
VDD
In1
In2
InN …
F
Charge
résistive RL
Caractéristiques:
• N transistors nécessaires (pour N entrées)
• VOH = VDD
•
• Réponse non-symétrique
• Consommation statique de puissance
• tpLH = 0.69RLCL
DD
LPDN
PDNOL V
RR
RV
GELE5340 – Gabriel Cormier, Université de Moncton 61
Logique proportionnée
PDN
VDD
In1
In2
InN …
F
Charge
NMOS
PDN
VDD
In1
In2
InN …
F
Charge
PMOS VT < 0
Charge NMOS Pseudo-NMOS
Charges actives
GELE5340 – Gabriel Cormier, Université de Moncton 62
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 63
Pseudo-NMOS
VDD
A B C D
CL
VOH = VDD
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 64
Inverseur pseudo-NMOS
0.0 0.5 1.0 1.5 2.0 2.5 0.0
0.5
1.0
1.5
2.0
2.5
3.0
W/L p = 4
W/L p = 2
W/L p = 1
W/L p = 0.25
W/L p = 0.5
Vo
ut (
V)
Vin (V)
Effet de la taille du PMOS sur la courbe VTC de l’inverseur pseudo-NMOS.
GELE5340 – Gabriel Cormier, Université de Moncton 65
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 66
DCVSL
PDN1
VDD
…
F
PDN2
VDD
…
F
In1
In1
InN
InN
Exemple:
État initial: F = 1, F = 0.
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.
M1 M2
GELE5340 – Gabriel Cormier, Université de Moncton 67
DCVSL
0 0.2 0.4 0.6 0.8 1.0 -0.5
0.5
1.5
2.5
Time [ns]
Te
nsio
n [V
] A B
A B
A,B A , B
VDD
F
VDD
F
M1 M2
A
B
A B
Logique passante
GELE5340 – Gabriel Cormier, Université de Moncton 69
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 70
Logique passante
A
F
B
B
BAF
Porte AND
Pour trouver la fonction logique de
ce circuit, on procède cas-par-cas:
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.
À l’aide d’une table de vérité, on
peut confirmer qu’il s’agit de la
fonction AND.
GELE5340 – Gabriel Cormier, Université de Moncton 71
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 72
Logique passante: NMOS
VDD
IN
OUT x
0 0.5 1 1.5 2 0.0
1.0
2.0
3.0
Temps [ns]
Tensio
n
[V]
x
Out
In
Le nœud x peut seulement se
charger jusqu’à une valeur de
VDD – VT.
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 73
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 74
Porte de transmission
B
B
A F
a) Circuit
A F
B
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 75
Résistance d’une porte de transmission
0.0 1.0 2.0 0
10
20
30
V out
, V
Résis
tan
ce
, kW
R n
R p
R n
|| R p
B
B
A F
Rn
Rp
Remarque: la résistance d’une porte de transmission est
pratiquement constante.
GELE5340 – Gabriel Cormier, Université de Moncton 76
Porte de transmission: exemple
S
S
A
S
B
VDD
SBSAF
Multiplexeur 2x1
GELE5340 – Gabriel Cormier, Université de Moncton 77
Porte de transmission: exemple
B
B
B
B
A A
F
XOR
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.
GELE5340 – Gabriel Cormier, Université de Moncton 78
Porte de transmission: exemple
A
A
OR
Cette implémentation nécessite 5
transistors (incluant l’inverseur pour
inverser A); une implémentation en
CMOS complémentaire nécessiterait
6 transistor.
B
A
Out
Logique dynamique
GELE5340 – Gabriel Cormier, Université de Moncton 80
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 81
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 82
Porte dynamique
PDN
In1
In2
InN …
VDD
CL
Out
Clk
Clk Mp
Me
On opère en deux phases:
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 83
Porte dynamique: exemple
VDD
Out
Clk
Clk Mp
Me
A
B
C
Précharge: Clk = 0
on
off
1 off
on
CBAOut Évaluation: Clk = 1
GELE5340 – Gabriel Cormier, Université de Moncton 84
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 85
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 86
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 87
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 88
Désavantage #1: fuite de charge
VDD
Clk
Clk Mp
Me
A CL
Sources de fuites.
CLK
VOut
Précharge
Évaluation
Le courant sous-seuil est dominant.
VOut
GELE5340 – Gabriel Cormier, Université de Moncton 89
Désavantage #1: fuite de charge
VDD
Clk
Clk
A
B
CL
Rétablisseur de
niveau.
Out
Le rétablisseur de niveau permet de maintenir
le niveau logique « 1 » sur CL quand la sortie
est 1.
SOLUTION:
Mp
Me
GELE5340 – Gabriel Cormier, Université de Moncton 90
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 91
Désavantage #2: partage de charges
VDD
Clk
Clk
A
B = 0
CL
Mp
Me Cb
Ca
La charge originalement stockée sur CL
est répartie sur CL et Ca, ce qui réduit la
tension à la sortie.
Il faut qu’il y ait conservation de charge:
fafLDDLt VCVCVCQ
Il n’y a plus de redistribution de charge
lorsque la tension est équilibrée.
DD
aL
Lf V
CC
CV
GELE5340 – Gabriel Cormier, Université de Moncton 92
Désavantage #2: partage de charges
VDD
Clk
Clk
A
B = 0
CL
Mp
Me Cb
Ca
Cependant, si la tension Va (sur la
capacitance Ca) devient trop élevée,
le FET Ma devient OFF.
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:
tnDD
tn
L
a
VV
V
C
C
Ma
GELE5340 – Gabriel Cormier, Université de Moncton 93
Désavantage #2: partage de charges
VDD
Clk
Clk
A
B = 0
CL
Mp
Me Cb
Ca
a
Cas 1:
tnDD
tn
L
a
VV
V
C
C
L
tnaDDaLf
C
VCVCCV
Cas 2:
tnDD
tn
L
a
VV
V
C
C
DD
aL
Lf V
CC
CV
MA = OFF
GELE5340 – Gabriel Cormier, Université de Moncton 94
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 95
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 96
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 97
Portes dynamiques en cascade
VDD
Clk
Clk Mp
Me
In
VDD
Clk
Clk Mp
Me
Out2
Out1
V
t
Clk
In
VTn Out1
Out2
V
Seules des transitions 0 → 1 sont permises aux entrées.
GELE5340 – Gabriel Cormier, Université de Moncton 98
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 99
Logique domino
PDN
In1
In2
In3
Clk
Clk Mp
Me
PDN In4
In5
Out2
Clk
Clk Mp
Me
VDD VDD
Out1
Inverseur statique
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 100
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.
Topologie des circuits
GELE5340 – Gabriel Cormier, Université de Moncton 102
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 103
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 104
Schémas squelettisés: exemples
In
Out
VDD
GND
Inverseur A
Out
VDD
GND B
NAND2
On essaie d’utiliser les même couleurs que dans l’éditeur de topologie.
GELE5340 – Gabriel Cormier, Université de Moncton 105
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 106
Graphe logique
VDD
A
B
C
B
A
C
BACX
i
GND
i
X
j
A B
C
j
X VDD
GELE5340 – Gabriel Cormier, Université de Moncton 107
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 108
Parcours d’Euler
GND
i
X
A B
C
j
X VDD
GND
i
X
A B
C
j
X VDD
Parcours d’Euler: A B C
GELE5340 – Gabriel Cormier, Université de Moncton 109
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 110
Topologie du circuit
GND
i
X
A B
C
j
X VDD
VDD
GND A B C
X
GELE5340 – Gabriel Cormier, Université de Moncton 111
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 112
Cellules standard: exemple
In Out
V DD
GND
A
Out
V DD
GND
B Inverseur NAND2
GELE5340 – Gabriel Cormier, Université de Moncton 113
Cellules standard: exemple
In Out
V DD
GND
A
Out
V DD
GND
B
Il est facile de brancher les
deux cellules ensemble.
Les deux alimentations sont
automatiquement connectés.
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.
GELE5340 – Gabriel Cormier, Université de Moncton 114
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.