Vous êtes sur la page 1sur 50

Conception de circuits combinatoires

Daniel Etiemble
de@lri.fr

Les différentes approches


• Support : la technologie CMOS
• La logique aléatoires : les portes de base
– Bibliothèque de portes
– Bibliothèque de cellules
• La logique régulière
– multiplexeurs
– décodeurs
• La logique programmable à deux niveaux
– PALs
– PLAs
– ROMs
• La logique programmable avec mémoires SRAM

M2 ISIC Fondements des systèmes numériques 2


2008-2009 D. Etiemble

1
Portes et technologies CMOS
• Technologie CMOS et réalisation des fonctions
logiques
– Portes de base
– Portes complexes
– Portes de transmission
• Caractéristiques électriques
– Entrances et sortances
– Caractéristiques dynamiques

M2 ISIC Fondements des systèmes numériques 3


2008-2009 D. Etiemble

La technologie MOS
• Au début (RCA
Grille G 1962) la grille était
en Aluminium d'où le
nom MOS :
Métal/Oxyde/Semi-
Source S Drain D conducteur
• Le MOS est
parfaitement
symétrique et on
Grille appelle SOURCE
Oxyde (d'électrons) le coté
(Si O2 ) le plus négatif (le
plus positif pour les
S D Semiconducteur •
PMos)
Le substrat est mis à
Silicium dopé
la masse (à Vdd pour
les PMOS)
substrat (bulk)

M2 ISIC Fondements des systèmes numériques 4


2008-2009 D. Etiemble

2
Coupe d’un transistor
Un circuit intégré est une superposition de couches, semi-conductrices, conductrices ou isolante

contacts

diffusion poly

métal (aluminium)

oxyde
Si O2 oxyde
poly
diffusion oxyde
substrat substrat

M2 ISIC Fondements des systèmes numériques 5


2008-2009 D. Etiemble

Equations (simplifiées) du transistor MOS

S G D

Si Vgs − Vt < 0, mode bloqué : I ds = 0


n+ L n+

Si 0 < Vds <Vgs − Vt , mode linéaire (p)

Cox W
I ds = µ (2(Vgs − Vt )Vds − Vds2 )
2 L e
W
Si 0 <Vgs − Vt < Vds , mode saturé
n+ L n+
Cox W
I ds = µ (Vgs − Vt ) 2 (p)
2 L

M2 ISIC Fondements des systèmes numériques 6


2008-2009 D. Etiemble

3
Portes élémentaires en CMOS
5V
p p p a p

n a n b p

0V b n n n
0V

+5 V
p p
0 1 0 1 0 1
n n 0 1 1 0 1 0
1 1 0 1 0 0
0V
M2 ISIC Fondements des systèmes numériques 7
2008-2009 D. Etiemble

4 vues d'une fonction logique


Vdd
a p
a
s b p
b
 s
 n n
Logique Electrique 0V
métal
Vdd 0V Vdd 0V
poly
a
Diffusion n a
Diffusion p
b b Masque
symbolique
Masque
métré  
s
M2 ISIC s Fondements des systèmes numériques 8
2008-2009 D. Etiemble

4
Portes logiques un peu plus complexes

Vdd Vdd
Vdd
p p p p a p p c
Réseau b d
trans. P d n p p
Entrées

Sortie c n n n

Réseau b n n n
trans. N
a n 0V
0V 0V a
a b
b
c c
M2 ISIC
d
Fondements des systèmes numériques
d 9
2008-2009 D. Etiemble

Réseau de transistors

Vdd ET logique
Réseau conduit si les
trans. N 2 réseaux conduisent
Réseau
trans. P Réseau
Entrées

Sortie

ie
trans. N
sér
n
xe
eau
rés
Réseau soi
t 2
soit 2 réseaux en parallèle
Réseau Réseau
trans. N soi
t1
trans. N trans. N
tran
sist
or
0V

Conduit si sa OU logique
conduit si l'un ou l'autre
grille vaut 1 (ou les deux) réseaux conduisent
M2 ISIC Fondements des systèmes numériques 10
2008-2009 D. Etiemble

5
Conception des portes complexes (1)
Equation logique⇒ schéma électrique

Vdd
Les transistors P sont utilisés Vdd
Réseau pour tirer à 1 et les transistors
trans. P N pour tirer à 0. Il n'y a pas
n
Entrées

de perte de seuil
Sortie

En conséquence les fonctions


Réseau réalisables sont des fonctions p
trans. N DECROISSANTES des entrées.
0V
0V Fonction identité
qui ne marche pas
M2 ISIC Fondements des systèmes numériques 11
2008-2009 D. Etiemble

Conception des portes complexes (2)

Vdd Un et un seul des deux réseaux N et P conduit à chaque instant.


Les réseaux sont logiquement complémentaires.
Comme l’un est en transistors P et l’autre en transistors N, les
conduit réseaux N et P sont duaux. Les deux réseaux ont les mêmes
Sortie f(E)

si f(E)
Entrées E

entrées et le même nombre de transistors.

Vdd

conduit Réseau Réseau


P P conduit
si ¬ f(E)

0V Réseau Réseau conduit


N N
0V
haute impédance correctes court circuit

M2 ISIC Fondements des systèmes numériques 12


2008-2009 D. Etiemble

6
Conception des portes complexes (3)
a
b
Pour construire une porte complexe, on construit en premier le
c réseau de transistors N, avec les règles :
d
e Vdd
ET - réseaux en série
a b OU - réseaux en parallèle.

d Pour construire le réseau de transistors P on peut procéder de


c 3 façons :
e 1 - croiser les règles ci-dessous
2 - utiliser l'algèbre de Boole pour complémenter la fonction et
. procéder comme pour les N
3 - utiliser une méthode graphique pour tracer le dual
a c
du graphe N

b d e
M2 ISIC VssFondements des systèmes numériques 13
2008-2009 D. Etiemble

Construction du dual
Méthode 1: croiser les règles
Règle pour
le réseau N ET - transistors série
Vdd OU - transistors parallèles.

Règle pour
a b le réseau P ET - transistors parallèle
OU - transistors série
d
c Méthode 2: complémenter
e Equation pour le réseau N F = (a ∧ b) ∨ c ∧ (d ∨ e)

Equation pour le réseau P F = ( a ∨ b ) ∧ ( c ∨ d ∧ e )


a c
Se souvenir que N tire à la masse, donc l'équation doit être
b d e complémentée, et P conduit pour un 0 donc les variables doivent

M2 ISIC
Vss être complémentées
Fondements des systèmes numériques 14
2008-2009 D. Etiemble

7
Portes complexes : améliorations électriques

Raccourcir les chemins Minimiser la capacité Mettre plus près de la sortie les
entre sortie et alimentation parasite de sortie transistors activés le plus tard

f = a ∧ b ∨ (c ∧ ( a ∨ b ))
a b
b c b a b a a b
a
c
b a a b a c b c
f
a a b a a b a c b c

b c b c b a b a a b

M2 ISIC Fondements des systèmes numériques 15


2008-2009 D. Etiemble

Variantes d'une fonction


Vdd
Vdd
a b c a a
b d
b
d
c d c
f f
a
c d c
d
b
b d
a b c a
Vss

F’= abc+d(a+b+c) Si a = 0 , F’= db +dc


Si a = 1, F’= bc+d= bc+dc+db+dd=
(b+d)(c+d)
M2 ISIC Fondements des systèmes numériques 16
2008-2009 D. Etiemble

8
Modélisation du comportement dynamique

Sortie
Vdd
Vdd
Vc
p Ip Sortie
Entrée

n 0 Entrée
In
0V CL Td Tm
Somme des
capacités parasites CL
Td = Vc
I satn
L'inverseur est un générateur de
courant déclenché par le passage du CL
seuil
Tm = Vc
I satp
M2 ISIC Fondements des systèmes numériques 17
2008-2009 D. Etiemble

Courants et dimensions

Wp
Vdd I satp = K p (Vdd −Vtp −Vc )2
I satp
Lp
Wn
I satn = Kn (Vdd −Vtn −Vc )2
Isatn Ln

M2 ISIC Fondements des systèmes numériques 18


2008-2009 D. Etiemble

9
Conservation des temps de commutation
Vdd
p Pour conserver le W/L équivalent, si
a l’on met n transistors en série, il faut
b p multiplier W par n
Impact sur les capacités d’entrée des
n n portes Nand/Nor à n entrées

Vdd
Vdd
Ids sat n
p p

a n CL
b n

début de décharge
M2 ISIC Fondements des systèmes numériques 19
2008-2009 D. Etiemble

Entrances et temps de retard

plus lente

plus
rapide

M2 ISIC Fondements des systèmes numériques 20


2008-2009 D. Etiemble

10
Quel est le circuit le plus rapide ?

v a b c

M2 ISIC Fondements des systèmes numériques 21


2008-2009 D. Etiemble

Portes de transmission en série


A B C

A’ B’ C’

M2 ISIC Fondements des systèmes numériques 22


2008-2009 D. Etiemble

11
Consommation d’énergie
• Consommation d’énergie
– Quand une capacité est chargée ou déchargée
– Une capacité chargée est un 1 logique, déchargée est un 0 logique

E=CV2
E S

10 01

• Les capacités peuvent être les grilles d’autres transistors ou des fils
(bus et interconnexion longues)
M2 ISIC Fondements des systèmes numériques 23
2008-2009 D. Etiemble

Consommation d’énergie
• Des effets secondaires comme les courants de fuite et de court-circuits augmentent
avec les technologies modernes

IN OUT IN OUT

0 1 1/2
Fuites Court-
Court-circuit
(sub-
(sub-threshold)
threshold)

M2 ISIC Fondements des systèmes numériques 24


2008-2009 D. Etiemble

12
La logique aléatoire
• Transistors intégrés dans des portes logiques (années 60)
• Catalogue de portes de base (années 70)
– Texas Instruments Logic Data Book
– Tous les boîtiers de base fournis et caractérisés (délai, puissance)
– Boîtiers typiques
• CI 14 pattes : 6 inverseurs, 4 Nand à 2 entrées, 4 portes Ou exclusif
• Très peu utilisés aujourd’hui
• Cependant, des bibliothèques utilisant ces “éléments” existent
pour la conception de circuits
– Les concepteurs utilisent des portes logiques déjà caractérisées

M2 ISIC Fondements des systèmes numériques 25


2008-2009 D. Etiemble

Synthèse en logique aléatoire

• Exprimer une fonction logique (table de vérité) sous forme


d’une expression logique
– Disjonctive normale (Ou de ET)
– Nand de Nands
– Conjonctive normale (ET de OU)
– Nor de Nors
• Simplification
– Diagrammes de Karnaugh
• Implantation sous forme de portes
– ET, OU, Inverseurs
– Nands, Nors

M2 ISIC Fondements des systèmes numériques 26


2008-2009 D. Etiemble

13
Diagramme de Karnaugh
• Représentation graphique des tables de vérité faisant apparaître
les symétries

symétrie/ x
x
x

x.y x.y
y y+y=1
0
1
symétrie/ y
x.y x.y
y
1 1

xy = xy+xy
x+x =1
M2 ISIC Fondements des systèmes numériques 27
2008-2009 D. Etiemble

Diagrammes de Karnaugh (4 entrées)

AB
e0 e0 00 01 11 10
0 4 5 1 CD
e3
00
e1
8 12 13 9

01
e3
10 14 15 11
11
e1

e3 10
2 6 7 3
e2 e2 e2

M2 ISIC Fondements des systèmes numériques 28


2008-2009 D. Etiemble

14
Simplification
• Regroupements de taille
maximale AB
00 01 11 10
– 8 supprime 3 variables CD
– 4 supprime 2 variables
00 1 1 1
– 2 supprime 1 variable
• Tous les 1 doivent être pris 01
une fois 1 1

• Pas de regroupements 11 1 1 1
redondants
10
1 1 1

B’D’ A
BCD
M2 ISIC Fondements des systèmes numériques 29
2008-2009 D. Etiemble

Afficheur 7 segments c0
c5 c1
• Entrées c6
c4 c2
– Chiffre décimal codé sur 4
bits (A, B, C, D) c3
c0 c1 c2 c3 c4 c5 c6
• Sorties
– Signaux de contrôle pour
Décodeur BCD vers
l’afficheur (7 sorties C0 à C6) afficheur
7-segments

A B C D

M2 ISIC Fondements des systèmes numériques 30


2008-2009 D. Etiemble

15
Synthèse avec logique aléatoire
• Table de vérité avec cas indifférents
• Minimisation avec diagramme de Karnaugh
A B C D C0 C1 C2 C3 C4 C5 C6
c0 0 0 0 0 1 1 1 1 1 1 0
c5 c1
0 0 0 1 0 1 1 0 0 0 0
c6 0 0 1 0 1 1 0 1 1 0 1
c4 c2
0 0 1 1 1 1 1 1 0 0 1
c3
0 1 0 0 0 1 1 0 0 1 1
0 1 0 1 1 0 1 1 0 1 1
0 1 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 0 0 0 0
1 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 0 0 1 1
1 0 1 – – – – – – – –
1 1 – – – – – – – – –

M2 ISIC Fondements des systèmes numériques 31


2008-2009 D. Etiemble

Implémentation sous forme somme de produits


A A A A A
1 0 X 1 1 1 X 1 1 1 X 1 1 0 X 1 1 0 X 1
0 1 X 1 1 0 X 1 1 1 X 1 0 1 X 0 0 0 X 0
D D D D D
C 1 1 X X C 1 1 X X C 1 1 X X C 1 0 X X C 0 0 X X
1 1 X X 1 0 X X 0 1 X X 1 1 X X 1 1 X X
B B B B B
A A
1 1 X 1 0 1 X 1
C0 = A + B D + C + B' D'
0 1 X 1
D
0 1 X 1
D C1 = C' D' + C D + B'
C 0 0 X X C 1 0 X X C2 = B + C' + D
0 1 X X 1 1 X X C3 = B' D' + C D' + B C' D + B' C
B B
C4 = B' D' + C D'
C5 = A + C' D' + B D' + B C'
C6 = A + C D' + B C' + B' C
Si minimisation indépendante de chaque fonction, 15 termes produit

M2 ISIC Fondements des systèmes numériques 32


2008-2009 D. Etiemble

16
Implémentation sous forme OU de ET (suite)
• On peut faire mieux
– 9 termes produit (au lieu de 15)
– On partage des termes entre les sorties
– Chaque sortie n’est pas nécessairement sous forme minimale
A A
C2 1 1 X 1
C2 1 1 X 1
1 1 X 1 1 1 X 1
D D
C 1 1 X X C 1 1 X X
0 1 X X 0 1 X X
B B

C0 = A + B D + C + B' D' C0 = B C' D + C D + B' D' + B C D' + A


C1 = C' D' + C D + B' C1 = B' D + C' D' + C D + B' D'
C2 = B + C' + D C2 = B' D + B C' D + C' D' + C D + B C D'
C3 = B' D' + C D' + B C' D + B' C C3 = B C' D + B' D + B' D' + B C D'
C4 = B' D' + C D' C4 = B' D' + B C D'
C5 = A + C' D' + B D' + B C' C5 = B C' D + C' D' + A + B C D'
C6 = A + C D' + B C' + B' C C6 = B' C + B C' + B C D' + A

M2 ISIC Fondements des systèmes numériques 33


2008-2009 D. Etiemble

Logique aléatoire
• Difficile de savoir exactement quelles portes utiliser
– Correspondance logique vers réseau de portes NAND/NOR
– Déterminer le nombre minimal de boîtiers
• Des modifications légères de la fonction peuvent diminuer le coût
• Les modifications sont difficiles à réaliser
– On doit changer les connexions
– On peut avoir besoin de nouvelles parties
– Conception avec des portes de secours (quelques inverseurs et portes
supplémentaires sur chaque carte)
• La conception doit être plus rapide
• On doit rendre les modifications plus faciles

Logique régulière

M2 ISIC Fondements des systèmes numériques 34


2008-2009 D. Etiemble

17
Multiplexeurs - démultiplexeurs
• Connexions directes point à point entre des portes
– fils
• Une entrée parmi plusieurs vers une sortie --- MUX(multiplexeur)
• Une entrée vers une parmi plusieurs sorties --- DEMUX(démultiplexeur)

contrôle contrôle

multiplexeur démultiplexeur Commutateur 4 x 4

M2 ISIC Fondements des systèmes numériques 35


2008-2009 D. Etiemble

Mux et démux
• Implémentation de commutateurs à l’aide de mux et
démux.
– Peuvent être combinés pour créer des réseaux de
commutation de taille quelconque
– Utilisés pour implémenter des interconnexions plusieurs
entrées - plusieurs sorties

A Y A Y

B Z B Z

M2 ISIC Fondements des systèmes numériques 36


2008-2009 D. Etiemble

18
Mux et démux (suite)
• Utilisation de multiplexeurs/démultiplexeurs dans des
connexions multi-points

A0 A1 B0 B1 Plusieurs entrées

Sa MUX MUX Sb

A B

Sum

Ss DEMUX

S0 S1 Plusieurs sorties

M2 ISIC Fondements des systèmes numériques 37


2008-2009 D. Etiemble

Multiplexeurs - Sélecteurs

2n entrées de données, n entrées de contrôle, 1 sortie pour


Connecter 2n points à un seul point. Le signal de contrôle
est la valeur du numéro de l’entrée connectée à la sortie
Z = A' E0 + A E1 A Z E0 E1 A Z
0 E0 0 0 0 0
1 E1 0 0 1 0
0 1 0 1
Forme fonctionnelle 0 1 1 0
1 0 0 0
Forme logique 1 0 1 1
1 1 0 1
Deux manières 1 1 1 1
d’écrire la table de
vérité d’un MUX 2:1
M2 ISIC Fondements des systèmes numériques 38
2008-2009 D. Etiemble

19
Multiplexeurs - sélecteurs (suite)

• Mux 2:1 : Z = A'E0 + AE1


• Mux 4:1 : Z = A'B'E0 + A'BE1 + AB'E2 + ABE3
• Mux 8:1 : Z = A'B'C'E0 + A'B'CE1 + A'BC'E2 + A'BCE3 +
AB'C'E4 + AB'CE5 + ABC'E6 + ABCE7
2 n −1
• En général : Z = ∑ mk Ek
k =0
E0
E1
E2
E0 E3 mux 8:1
E1 E4 Z
Mux 4:1 Z
E0 E2 E5
E1 Mux 2:1 Z E3 E6
E7
A A B
M2 ISIC Fondements des systèmes numériques
A B C 39
2008-2009 D. Etiemble

Implantation des mux avec des portes

MUX 2:1

MUX 4:1

M2 ISIC Fondements des systèmes numériques 40


2008-2009 D. Etiemble

20
Combinaison de multiplexeurs
• De gros multiplexeurs peuvent être réalisés à partir de
multiplexeurs plus petits.

Autre implémentation
E0 mux 8:1
E1 mux 4:1 E0 mux 8:1
E1 mux 2:1
E2
E3
mux 2:1 Z E2 mux 2:1
E4 E3 mux 4:1
E5 Z
mux 4:1
E6 E4 mux 2:1
E7 E5

B C A E6 mux 2:1
E7

M2 ISIC Fondements des systèmes numériques


C A B 41
2008-2009 D. Etiemble

Multiplexeur/Sélecteur : bloc logique d’usage général


Un multiplexeur 2n-1:1peut implanter toute fonction de n variables. n-1 variables
de contrôle, la variable restant est une donnée d’entrée du multiplexeur

Exemple:
F(A,B,C) = m0 + m2 + m6 + m7
= A' B' C' + A' B C' + A B C' + A B C
= A' B' (C') + A' B (C') + A B' (0) + A B (1)
1 0 A B C F
0 1 0 0 0 1 C’ C 0
1 2 F 0 0 1 0 C 1 F
0 3 MUX 8:1 0 1 0 1 C 0 2 MUX 4:1
0 4 0 1 1 0 1 3 S1 S0
0 5
1 6 S2 S1 S0 1 0 0 0
0 A B
1 7 1 0 1 0
1 1 0 1
A B C 1 1 1 1 1
“LUT"
M2 ISIC Fondements des systèmes numériques 42
2008-2009 D. Etiemble

21
Multiplexeur/Sélecteur : généralisation
E0 E1 … En-1 F
0 0 0 1 1 Quatre

n-1 variable de 1 0 1 0 1
configurations
Contrôle du Mux
Variable
donnée du mux 0 E E 1
Exemple:
G(A,B,C,D) peut être implémenté par un Mux 8:1:
AB 1 0
CD 00 01 11 10 Table D 1
00 1 0 1 1 0 2
de 1 3 Mux 8:1 G
01 1 0 0 0 Karnaugh D 4
D 5
11 1 1 0 1 Implémentation D 6
10 0 1 1 0
avec D 7 S2 S1 S0
multiplexeur A B C
M2 ISIC Fondements des systèmes numériques 43
2008-2009 D. Etiemble

Exemple
• Réaliser la fonction F = B’CD’ + ABC’ avec un
multiplexeur 4:1 et un minimum d’autres portes
• Implémenter la fonction logique
f (A,B,C,D) = m(0,1,5,7,11,13,14,15)
(a) Avec un Mux 4:1
(b) Avec un Mux 8:1

M2 ISIC Fondements des systèmes numériques 44


2008-2009 D. Etiemble

22
Décodeurs/Démultiplexeurs

Décodeur : une entrée de données, n entrées de contrôle, 2n sorties


Les entrées de contrôles (S) représentent en binaire le numéro de la
sortie à laquelle l’entrée est connectée.
L’entrée de donnée est habituellement appelée “enable” (G)

Décodeur 3:8 :
Décodeur 1:2 :
O0 = G • S; O1 = G • S O0 = G • S0 S1 S2
O1 = G • S0 S1 S2
Décodeur 2:4 :
O2 = G • S0 S1 S2
O0 = G • S0 S1 O3 = G • S0 S1 S2
O1 = G • S0 S1 O4 = G • S0 S1 S2
O2 = G • S0 S1 O5 = G • S0 S1 S2
O3 = G • S0 S1 O6 = G • S0 S1 S2
M2 ISIC
O = G • S0 S1 S2
Fondements des systèmes numériques7 45
2008-2009 D. Etiemble

Décodeur/Démultiplexeur : bloc logique de base

0 ABC
1 ABC Le décodeur génère les termes
Enb 2 ABC produit appropriés en fonction
Déc. 3:8 3 ABC des signaux de contrôle
4 ABC
5 ABC
6 ABC
S2 S1 S0 7 ABC
A B C

Exemples:
F1 = A' B C' D + A' B' C D + A B C D
F2 = A B C' D' + A B C
F3 = (A' + B' + C' + D')
M2 ISIC Fondements des systèmes numériques 46
2008-2009 D. Etiemble

23
Décodeur/Démultiplexeur
0 AB C D
1 AB C D
F
2 AB C D 1
3 AB C D
4 AB C D
5 AB C D
Enb 6 AB C D
déc 4:16 7 AB C D
8 AB C D F2
9 AB C D
10 AB C D
11 AB C D
12 AB C D
13 AB C D
14 AB C D F3
S S S S 15 AB C D
3 2 1 0
A B C D
M2 ISIC Fondements des systèmes numériques 47
2008-2009 D. Etiemble

Décodeurs/Démultiplexeurs : Autre implémentation


G Sortie0 /G Sortie0
Select
Sortie1 Sortie1

1:2 Décodeur, Enable actif haut 1:2 Décodeur, Enable actif bas
G /G
Sortie0 Sortie0
Sortie1 Sortie1
Sortie2 Sortie2

Sortie3 Sortie3

Select0 Select1 Select0 Select1

2:4 Décodeur, Enable actif haut 2:4 Décodeur, Enable actif bas
M2 ISIC Fondements des systèmes numériques 48
2008-2009 D. Etiemble

24
Multiplexeurs/Décodeurs : Mux 32:1
11G1Y3 7 7 EN146
5
1391Y2 6 E31 7 151 154
A 31B1Y1 5 6 13
21A1Y0 4 7 EN
EN B I5145 22
15 2G2Y3 9 E23 7I4151 154 31Y 5
E31 7 151 2Y2 10
7 EN14 I3 1
6 3 40 6
EN1 6
132B2Y1 11 I5 5I2 22 9CW
5 142A2Y0 12 E15 7I4151154I1 31Y 10 5B
1
E23 7 151
44 Y5 7 EN146I3 1 3 I0 40W11 6A
6 513 W6 I5 5I2 22 C 9C S2 F(A, B, C, D, E)
EN1 5 22 E7 7I4151154I1 31Y 10 5B
1 3 5 1 4 D S1
E15 7 1514 1Y E6 6I3 3I0 0W11 6A
1 4 513 40W 6 E5 5I2 22 C 9C S2E S0
EN1 6 E4 4I1 31Y10 5B
35 2 2
3 9C
1GA
E3 3I0 40W D11 S1
1
4 4 1Y15B
E7 7 151 3A3 153 E2 2 C 9C
6A
E S0
E6 6 513 40W1 6A 4 A2 E1 1
S2
E5 5 22 9C 0 10
5 A1 YA 7 F(A, B, C, D,E0E) 0 D11A
B
S1
E4 4 31Y15B 1 6 A0
4
E313 0W1 6A C S2 E S0
E2 2 9C 0 13 B3 D S1
E1 1 1 B 1 12 B2 E S0
E0 0 1 A 11 B1 YB 9
C S2 0 10 B0
1
D S1 1 GBS1SO
E S0 5 2 14
AB

Multiplexeurs seulement Multiplexeur + Décodeur


M2 ISIC Fondements des systèmes numériques 49
2008-2009 D. Etiemble

Multiplexeurs/Décodeurs
G1 Y7 \Y31
\EN 1G 1Y3 G2A Y6 \Y30
139 1Y2 G2B Y5 \Y29
S4
1B 1Y1 Y4 \Y28
S3 138
1A 1Y0 Y3 \Y27
S2 C Y2 \Y26
2G 2Y3 Y1
S1 \Y25
2Y2 B
S0 Y0 \Y24
2B 2Y1 A
2A 2Y0
\EN \Y31 G1 Y7 \Y23
G2A Y6 \Y22
Y5 \Y21
5:32 . G2B
138
Y4 \Y20

Décodeur . S2
Y3
Y2
\Y19
\Y18
. S1
S0
C
B Y1
Y0
\Y17
\Y16
A

\Y0 G1 Y7
\Y15
\Y14
Y6
S4 S3 S2 S1 S0 G2A
G2B Y5
\Y13
\Y12
138 Y4
Y3 \Y11
S2 \Y10
C Y2
S1 B Y1 \Y9
S0 A Y0 \Y8

Décodeur 5:32 G1 Y7 \Y7


\Y6
G2A Y6
\Y5
G2B Y5
Y4 \Y4
138 \Y3
Y3
S2 \Y2
C Y2
S1 Y1 \Y1
B
S0 Y0 \Y0
M2 ISIC Fondements des systèmes numériques A 50
2008-2009 D. Etiemble

25
Logique à portes de transmission CMOS
Les transistors nMOS passent bien les 0, mal les 1
Les transistors pMOS passent bien les 1, mal les 0
Les portes de transmission “parfaites” les placent en parallèle

Contrôle Contrôle Contrôle

E S E S E S

Contrôle Contrôle Contrôle

Interrupteurs Transistors Porte de


transmission

M2 ISIC Fondements des systèmes numériques 51


2008-2009 D. Etiemble

Fonctions multiplexeur/démultiplexeur
S
Multiplexeur E0
S S Z
Choisit E0 si S = 0
Choisit E1 si S = 1 E1
S

S
Démultiplexeur Z0
E S S
E vers Z0 si S = 0
E vers Z1 si S = 1 Z1
S

M2 ISIC Fondements des systèmes numériques 52


2008-2009 D. Etiemble

26
Portes de transmission : sorties non fixées
Problème avec le démultiplexeur : plusieurs sorties,mais
une seule connectée à l’entrée
S
Z0
S
"0"
E
S S
Z1
S
"0"
S
Logique supplémentaire pour que chaque sortie soit fixée
Pas de sorties “flottantes”
M2 ISIC Fondements des systèmes numériques 53
2008-2009 D. Etiemble

Multiplexeurs/Sélecteurs
A B

I0 Z

I1

I2

I3

Mux
Mux4:1
4:1 avec
avec portes
portes Mux
Mux4:1
4:1 avec
avec portes
portesdede transmission
transmission
36 transistors
36 transistors 20 transistors
20 transistors

M2 ISIC Fondements des systèmes numériques 54


2008-2009 D. Etiemble

27
Décodeurs/Démultiplexeurs
S0 S1
Décodeur 4:2
G Z0
"0"
"0" S0 = 0, S1 = 0
G Z1 1 chemin direct
3 chemins “diagonaux”
"0"
"0"
G Z2
"0"
"0"
G Z3
"0"
"0"
M2 ISIC Fondements des systèmes numériques 55
2008-2009 D. Etiemble

État « haute impédance » (Tri-state)

États logiques : "0", "1”, État indifférent, inconnu : "X"


3ème état : "Z" ? Haute impédance, résistance infinie, pas de
connexion
Portes tri-state: les valeurs de sortie sont "0", "1", et "Z"
entrée supplémentaire: output enable (OE)

A OE F
X 0 Z Quand OE est bas, la porte est “déconnectée”
0 1 0 de la sortie
1 1 1

M2 ISIC Fondements des systèmes numériques 56


2008-2009 D. Etiemble

28
État « haute impédance » (Tri-state)
Utilisation des portes trois états pour les connexions bus
L’état haute impédance permet de connecter plusieurs portes à la
même sortie, à condition qu’une seule porte soit active (OE actif) en
même temps
E0 F

OE

E1

OE

S
M2 ISIC Fondements des systèmes numériques 57
2008-2009 D. Etiemble

État « haute impédance » (Tri-state)

OE actif à l’état bas + buffer


E0 F Inverseur 3 états
1

OE
E1

E F
OE
OE

S
0
Implémentation de l’inverseur 3-états
M2 ISIC Fondements des systèmes numériques 58
2008-2009 D. Etiemble

29
État « haute impédance » (Tri-state)

\EN 1 1G 1Y3 7
139 1Y2 6
S1 3 1B 1Y1 5 D3
S0 2 1A 1Y0 4
15 2G 2Y3 9
2Y2 10
13 2B 2Y1 11 D2
14 2A 2Y0 12
D1

D0

Autre implémentation du Mux 4:1

Décodeur + 4 portes trois états


M2 ISIC Fondements des systèmes numériques 59
2008-2009 D. Etiemble

Logique à deux niveaux : PALs et PLAs

Bloc de base préfabriqué avec beaucoup de portes ET/OU (ou NOR/NAND).


Personnalisé par création ou destruction de connexions entre les portes

Bloc logique programmable pour la forme somme de produits

Entrées

Réseau de Réseau de
portes ET Termes produit portes OU

Sorties

M2 ISIC Fondements des systèmes numériques 60


2008-2009 D. Etiemble

30
PALs et PLAs : le partage de termes produit

Équations
F0 = A + B' C'
Exemple: F1 = A C' + A B
F2 = B' C' + A B
F3 = B' C + A

Personnalisation Pour les entrées


1 = terme non complémenté
Terme Entrées Sorties 0 = terme complémenté
produit
A B C F0 F1 F2 F3 - = indifférent
AB 1 1 - 0 1 1 0
BC - 01 0 0 0 1 Pour les sorties
AC 1 - 0 0 1 0 0 1 = connecté à la sortie
BC - 00 1 0 1 0 0 = non connecté
A 1 - - 1 0 0 1 Réutilisation
de termes
M2 ISIC Fondements des systèmes numériques 61
2008-2009 D. Etiemble

PALs and PLAs : suite de l’exemple


Toutes les connexions possibles sont
disponibles avant programmation

M2 ISIC Fondements des systèmes numériques 62


2008-2009 D. Etiemble

31
PALs and PLAs
Fusibles : les connexions non voulues sont détruites
Antifusibles : les connexions voulues sont réalisées

M2 ISIC Fondements des systèmes numériques 63


2008-2009 D. Etiemble

PALs et PLAs : autre représentation

Pour ne pas représenter


tous les fils
A B C D

Notation pour
F0 = A B + A' B'
F1 = C D' + C' D

M2 ISIC F0 F1
Fondements des systèmes numériques 64
2008-2009 D. Etiemble

32
PALs versus PLAs

PAL : la topologie du réseau OU est fixée


- groupe fixé de lignes ET
- rapide, peu cher
- l’entrance est limitée

Une colonne donnée du


réseau OU a accès
seulement à un sous
ensemble des termes
produit possibles

M2 ISIC Fondements des systèmes numériques 65


2008-2009 D. Etiemble

Exemple PAL - PLA

• Plusieurs fonctions de A, B, C Décodeur complet

– F1 = A B C A B C
– F2 = A + B + C
– F3 = A' B' C' A'B'C'

– F4 = A' + B' + C' A'B'C


A'BC'
– F5 = A xor B xor C
A'BC
A B C F1 F2 F3 F4 F5
0 0 0 0 0 1 1 0 AB'C'
0 0 1 0 1 0 1 1
0 1 0 0 1 0 1 1 AB'C
0 1 1 0 1 0 1 0 ABC'
1 0 0 0 1 0 1 1
1 0 1 0 1 0 1 0 ABC
1 1 0 0 1 0 1 0
1 1 1 1 1 0 0 1

M2 ISIC Fondements des systèmes numériques F1 F2 F3 F4 F5 66


2008-2009 D. Etiemble

33
Exemple PLA/PAL: convertisseur BCD vers Gray
Table
A B C D W X Y Z
AB AB
0 0 0 0 0 0 0 0
CD 00 01 11 10 CD 00 01 11 10
0 0 0 1 0 0 0 1 00 0 0 X 1 00 0 1 X 0
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0 01 0 1 X 1 01 0 1 X 0
0 1 0 0 0 1 1 0 11 0 1 X X 11 0 0 X X
0 1 0 1 1 1 1 0 10 10 0
0 1 X X 0 X X
0 1 1 0 1 0 1 0
0 1 1 1 1 0 1 1 W X
1 0 0 0 1 0 0 1
1 0 0 1 1 0 0 0 AB AB
1 0 1 0 X X X X CD 00 01 11 10 CD 00 01 11 10
1 0 1 1 X X X X 00 0 1 X 0 00 0 0 X 1
1 1 0 0 X X X X
01 0 1 X 0 01 1 0 X 0
1 1 0 1 X X X X
1 1 1 0 X X X X 11 1 1 X X 11 0 1 X X
1 1 1 1 X X X X 10 1 1 X X 10 1 0 X X
M2 ISIC Y
Fondements des systèmes numériques Z 67
2008-2009 D. Etiemble

A B C D

PALs and PLAs

Fonctions minimisées : 0

W=A+BD+BC 0
X = B C' 0
Y=B+C 0
Z = A'B'C'D + B C D +
A D' + B' C D'
0
0
A’ B’ C’ D
Pas de termes partagés

PAL:
4 termes produit pour chaque porte OU W X Y Z
M2 ISIC Fondements des systèmes numériques 68
2008-2009 D. Etiemble

34
PALs et PLAs : comparateur (autre exemple)
A B C D

A B C D EQ NE LT GT A'B'C'D'
0 0 0 0 1 0 0 0
A'BC'D
0 0 0 1 0 1 1 0
0 0 1 0 0 1 1 0 ABCD
0 0 1 1 0 1 1 0
0 1 0 0 0 1 0 1 AB'CD'
0 1 0 1 1 0 0 0 AC'
0 1 1 0 0 1 1 0
0 1 1 1 0 1 1 0 A'C
1 0 0 0 0 1 0 1
B'D
1 0 0 1 0 1 0 1
1 0 1 0 1 0 0 0 BD'
1 0 1 1 0 1 1 0
1 1 0 0 0 1 0 1 A'B'D
1 1 0 1 0 1 0 1 B'CD
1 1 1 0 0 1 0 1
1 1 1 1 1 0 0 0 ABC
BC'D'
Fonctions minimisées :
EQ = A’B’C’D’ + A’BC’D + ABCD + AB’CD’
LT = A’C + A’B’D + B’CD
NE = AC’ + A’C + B’D + BD’
GT = AC’ + ABC + BC’D’
M2 ISIC Fondements des systèmes numériques EQ NE LT GT 69
2008-2009 D. Etiemble

Exemple PAL

• Contrainte PAL : Entrance des portes OU


S = A’B’Re + A’BRe’ + AB’Re’ + ABRe
Rs = AB + BRe + ARe A B Re
Une porte OU à4 entrées
est nécessaire
X = AB’ + A’B
Y = AB PAL
S = XRe’ + X’Re
Rs = XRe + Y

M2 ISIC
S
Fondements des systèmes numériques
Rs X Y 70
2008-2009 D. Etiemble

35
Exemple

• Implanter les fonctions suivantes sur le PLA:


A B C
– W = AB + A’C’ + BC’
– X = ABC + AB’ + A’B
– Y = ABC’ + BC + B’C’

W X Y
M2 ISIC Fondements des systèmes numériques 71
2008-2009 D. Etiemble

Exemple (suite)
• 9 termes et PLA 7 termes
– On peut appliquer le théorème du
consensus pour simplifier W
W = AB + A’C’ A B C

• 8 termes et PLA 7 termes ABC


– AB = ABC + ABC’ ABC’
– On écrit W pour réutiliser des termes : A’C’
W = ABC + ABC’ + A’C’
AB’
• Maintenant
A’B
– W = ABC + ABC’ + A’C’
– X = ABC + AB’ + A’B BC
– Y = ABC’ + BC + B’C’ B’C’

• “ technology mapping”
– Manipuler les fonctions logiques pour
qu’elles puissent utiliser les ressources
disponibles
W X Y
M2 ISIC Fondements des systèmes numériques 72
2008-2009 D. Etiemble

36
Les mémoires ROM (read only memory)
ROM : Réseau 2D de 1 et de 0.
Une ligne est un mot. Entrées du décodeur : adresse
Largeur d’une ligne : taille du mot
L’adresse est l’entrée ; le mot sélectionné est la sortie
+5V +5V +5V +5V

n
2 -1

Dec i Ligne mot 0011

j Ligne mot 1010

0 n-1 Lignes de bit


M2 ISIC Fondements des systèmes numériques 73
2008-2009 Adresse D. Etiemble

ROM et logique combinatoire


Implémentation de logique combinatoire (forme canonique à deux niveaux) avec
une ROM
F0 = A' B' C + A B' C' + A B' C
F1 = A' B' C + A' B C' + A B C
F2 = A' B' C' + A' B' C + A B' C'
F3 = A' B C + A B' C' + A B C'

A B C F0 F1 F2 F3
0000 0 1 0 ROM
0011 1 1 0 8 mots x 4 bits/mot
0100 1 0 0
0110 0 0 1
1001 0 1 1
1011 0 0 0
1100 0 0 1 A B C F0 F1 F2 F3
1110 1 0 0 adresse sorties
Table Schéma
M2 ISIC Fondements des systèmes numériques 74
2008-2009 D. Etiemble

37
Structure ROM
• Comme un PLA, mais avec un réseau ET complet (décodeur)
• Réseau OU complètement flexible (contrairement aux PALs)
N lignes d’adresse
• • •
entrées

réseau
Décodeur 2nlignes mémoire
de mots (2n mots
de m bits)
sorties
• • •
m lignes de données

M2 ISIC Fondements des systèmes numériques 75


2008-2009 D. Etiemble

ROMs et PLAs
• PLA : topologies généralisées avec plans ET et OU
– Compact : terme ET partagé
– A besoin d’un programme CAO : forme somme de produits optimisée
– Plus lent que les PAL
• ROM : Le plan ET est prédéterminé
– Implémentation sous forme canonique
– Le plan ET est aussi appelé décodeur d’adresses
– Satisfaisant lorsque
• La plupart des combinaisons d’entrée sont utilisées
• Peu de partage de termes produit
• Pas d’outils de CAO
– La taille double par entrée
– Pas de termes indifférents
– Le plus lent

M2 ISIC Fondements des systèmes numériques 76


2008-2009 D. Etiemble

38
CPLD/EPLD
Altera EPLD (Erasable Programmable Logic Devices)
Bloc de base Altera = MACROCELL
CLK
Réseau ET-OU avec
8 termes produit
+ MUX
Clk
MUX Plot E/S
Programmable
MUX pad
ET sortie
Q

Contrôle
inversion
MUX
F/B Bloc logique
séquentielle
Polarité programmable
Contre-réaction programmable
M2 ISIC Fondements des systèmes numériques 77
2008-2009 D. Etiemble

Stratégies d’implémentation
Les structures ET-OU sont relativement limitée
Ne peuvent partager les signaux et termes produits entre macrocellules
Solution Altera : matrice de réseaux (MAX)

Routage global :
Réseau
Blocs d’interconnexion
De réseaux LAB A LAB H programmable
logiques

(comme LAB B LAB G EPM5128 :


macrocells) P
I 8 entrées fixes
A 52 plots d’E/S
LAB C LAB F 8 LABs
16 Macrocells/LAB
32 Extensions/LAB
LAB D LAB E
M2 ISIC Fondements des systèmes numériques 78
2008-2009 D. Etiemble

39
Les FPGA

Élément logique Pistes

LE LE LE LE

LE LE LE LE

LE LE LE LE

– Chaque élément logique produit une sortie


– Interconnexion programmable entre les éléments
– Pistes d’interconnexion regroupées en canaux.

M2 ISIC Fondements des systèmes numériques 79


2008-2009 D. Etiemble

Élément logique
• LUT (Look-up table) Adresse Adresse Contenu
0 0000 0
– SRAM à 4 ou 5 bits d’adresse
1 0001 1
et 1 bit de sortie
2 0010 1
– Implante toutes les tables de 3 0011 0
vérité de 4 ou 5 entrées 4 0100 1
• Avantage 5 0101 0

– Programmable (SRAM) 6 0110 0


7 0111 1
– Toutes les fonctions sont
8 1000 1
équivalentes
9 1001 0
• XOR
10 1010 0
11 1011 1
12 1100 0
13 1101 1
14 1110 1
15 1111 0
M2 ISIC Fondements des systèmes numériques 80
2008-2009 D. Etiemble

40
LUT dans un bloc logique

M2 ISIC Fondements des systèmes numériques 81


2008-2009 D. Etiemble

Élément logique Cyclone (Altera)

M2 ISIC Fondements des systèmes numériques 82


2008-2009 D. Etiemble

41
Élément logique – Mode normal

M2 ISIC Fondements des systèmes numériques 83


2008-2009 D. Etiemble

Élément logique : retenues rapides

M2 ISIC Fondements des systèmes numériques 84


2008-2009 D. Etiemble

42
Demi - additionneur
Ai 0 1 Ai 0 1
Ai Bi S R Bi Bi
0 0 0 0 0 0 1 0 0 0
0 1 1 0
1 0 1 0 1 1 0 0 1
1
1 1 0 1
S= Ai Bi + Ai Bi R = Ai Bi
= Ai ⊕ Bi

A
i S
Bi
R
Demi-additionneur

M2 ISIC Fondements des systèmes numériques 85


2008-2009 D. Etiemble

La brique de base : additionneur 1 bit


A3 B3 A2 B2 A1 B1 A0 B0

Additionneur 4 bits + + + +

S2
R4 S3 R3 R2 S1 R1 S0

Additionneur 1 bit
+ règles d’assemblage

M2 ISIC Fondements des systèmes numériques 86


2008-2009 D. Etiemble

43
Additionneurs 1 bit
Approche standard
A A
B
B Re Rs
S
Re A
B

Autre approche avec demi-additionneurs

A A⊕B A ⊕ B ⊕ RI S
½ S ½ S
Add. AB Add. RI (A ⊕ B)
B Rs Rs
RI
+ Rs

A B + Re(A xor B) = A B + B Re + A Re
M2 ISIC Fondements des systèmes numériques 87
2008-2009 D. Etiemble

Additionneur/soustracteur
A - B = A + (-B) = A + B + 1

A B B A BB A B B A B B
3 3 3 2 2 2 1 1 1 0 0 0
0 1 Sel 0 1 Sel 0 1 Sel 0 1 Sel

A B A B A B A B
Rs + Re Rs + Re Rs + Re Rs + Re Add/Sub
S S S S

S3 S2 S1 S0

Débordement

M2 ISIC Fondements des systèmes numériques 88


2008-2009 D. Etiemble

44
Conception d’additionneur
Temps de propagation de la retenue
@0 A @1 @N+1
@0 B
Dernier @N R Rs
signal e
@N+2
arrivant @0 A
@0 B
@1 2 temps ET/OU
pour calculer Rs

Temps de propagation de la somme

A
B 2 temps XOR pour calculer S depuis
S A ou B
Re 1 temps XOR pour calculer S depuis
Re

M2 ISIC Fondements des systèmes numériques 89


2008-2009 D. Etiemble

Additionneur n bits à propagation simple de retenue

R0
A0 S0 @2 XOR
0
B0 R1 @2 portes
Additionneur A1 S1 @2 portes + 1 XOR
à 4 étages B1
1
R2 @4 portes
A2 S2 @4 portes + 1 XOR
2
B2 R3 @6 portes
A3 S3 @6 portes + 1 XOR
B3 3
R4 @8 portes

Le temps de propagation est proportionnel au nombre d’étages

M2 ISIC Fondements des systèmes numériques 90


2008-2009 D. Etiemble

45
Additionneur à retenue anticipée
Fonction génération Gi = Ai Bi doit générer une retenue

Fonction propagation Pi = Ai xor Bi Rs = Re

S et R en terme de fonctions Gi et Pi:

Si = Ai xor Bi xor Ri = Pi xor Ri

Ri+1 = Ai Bi + Ai Ri + Bi Ri

= Ai Bi + Ri (Ai + Bi)

= Ai Bi + Ri (Ai xor Bi)

= Gi + Ri Pi
M2 ISIC Fondements des systèmes numériques 91
2008-2009 D. Etiemble

Additionneur à retenue anticipée


Expressions des retenues

R1 = G0 + P0 R0
R2 = G1 + P1 R1 = G1 + P1 G0 + P1 P0 R0
R3 = G2 + P2 R2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 R0
R4 = G3 + P3 R3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0
+ P3 P2 P1 P0 R0

Chaque équation de retenue peut être implantée comme un


réseau logique à deux niveaux
Les variables sont les entrées de l’additionneur et la
retenue de l’étage 0
M2 ISIC Fondements des systèmes numériques 92
2008-2009 D. Etiemble

46
Additionneur à retenue anticipée
Ai
Bi Pi @ 1 retard XOR
Sorties
Ri Si @ 2 retards XOR Génération
Propagation
Gi @ 1 retard ET
Complexité croissante
R0 R1 R0 R0
P0 P P0
G0 P1 0 P1
P2 P2
P3
G
R0 P1 0 G0
P P2 P1
P2
P1 0 R2 G 1 R3 P 3
G P2 G1
P1 0 P2
G2 P3
G1 G2 R4
P3
M2 ISIC Fondements des systèmes numériques G3 93
2008-2009 D. Etiemble

Additionneur à retenue anticipée


R0
Délai critique
A0 S0
B0 @2XOR

La logique de retenues R1 @TGP + 2 Tporte


anticipées génère plus A1 S1
vite les retenues @ TGP + 2 Tporte
B1
+ 1 XOR
Les sommes sont donc R2 @ TGP + 2 Tporte
calculées plus vite
A2 S2
B2 @ TGP + 2 Tporte
+ 1 XOR
TGP = max (tpET, tpXOR)
R3 @ TGP + 2 Tporte
Tporte=tp (ET, OU) A3 S3
B3 @ TGP + 2 Tporte
+ 1 XOR
R4
@TGP + 2 Tporte
M2 ISIC Fondements des systèmes numériques 94
2008-2009 D. Etiemble

47
Additionneur à retenue anticipée : hiérarchisation
4 4 4 4 4 4 4 4

R16 A[15-12] B R12 A[11-8] B [11-8] R8 A [7-4] B[7-4] R4 A[3-0] B [3-0] R0


[15-12]
P G P G P G P G
4 4 4 4
S[15-12] S[11-8] S[7-4] S[3-0]

P G R3 P G R2 P G P G R1
R16 3 3 2 2 1 1 0 0
R0
R4 Unité de calcul de retenue anticipée R0
P3-0 G3-0

Additionneurs 4 bits avec calcul anticipé de retenue


R4 = G3 + P3 R3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0
+ P3 P2 P1 P0 R0 G
M2 ISIC
2008-2009 PFondements des systèmes numériques
D. Etiemble
95

Additionneur à sélection de retenue


Matériel supplémentaire pour accélérer le calcul de la retenue
R8 0 Add. “0”
Add. 4 bits
[7:4]

R4
R8 1
Add. 4 bits Add. “1”
[7:4]

1 0 1 0 1 0 1 0 R4 Add. 4 bits R0
Mux 2:1 [3:0]

S7 S6 S5 S4 S3 S2 S1 S0
R8
Calcul des sommes de poids fort en parallèle
-Une addition avec retenue entrée = 0
-Une addition avec retenue entrée = 1
M2 ISIC Fondements des systèmes numériques 96
2008-2009 D. Etiemble

48
Additionneur à saut de retenue
• Saut de retenue par groupe de n bits
– Calcul de la propagation sur n bits

A16:13 B16:13 A12:9 B12:9 A8:5 B8:5 A4:1 B4:1

P16:13 P12:9 P8:5 P4:1


1 C12 1 C8 1 C4 1
Cout Cin
0 + 0 + 0 + 0 +

S16:13 S12:9 S8:5 S4:1

M2 ISIC Fondements des systèmes numériques 97


2008-2009 D. Etiemble

Exemples d’additionneurs à saut de retenue

Saut constant

Saut variable

M2 ISIC Fondements des systèmes numériques 98


2008-2009 D. Etiemble

49
Puissance et délai (additionneurs) FA

• D’après Callaway et Swartzlander*:

Energie
(pJ) Délai (ns)
Ripple Carry 117 54.27
Constant Width Carry Skip 109 28.38
Variable Width Carry Skip 126 21.84
Carry Lookahead 171 17.13
Carry Select 216 19.56
Conditional Sum 304 20.05

 En ne choisissant qu’
qu’un critè
critère :
– Puissance – utiliser “constant width carry skip”
skip”
– Délai – utiliser “carry look-
look-ahead”
ahead”

* “Estimating the power consumption of CMOS adders”


adders” - Callaway,
Callaway, T.K.; Swartzlander,
Swartzlander, E.E., Jr.
Jr.
11th Symposium on Computer Arithmetic,
Arithmetic, 1993. Proceedings.
Proceedings.

M2 ISIC Fondements des systèmes numériques 99


2008-2009 D. Etiemble

Additionneur BCD
A3 B3 A2 B2 A1 B1 A0 B0

Rs Re Rs Re Rs Re Rs Re R0
S S S S

A1 11XX

A2 1X1X
Rs Re Rs Re 0
S S

Rs S3 S2 S1 S0
Ajouter 0110 à la somme quand elle dépasse 9 (11XX or 1X1X)
M2 ISIC Fondements des systèmes numériques 100
2008-2009 D. Etiemble

50

Vous aimerez peut-être aussi