Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Notes de cours.
1
D. Etiemble
La synthse de fonctions combinatoires consiste, partir d'une table de vrit ou d'une expression boolenne,
spcifier les oprateurs matriels permettant l'implmentation de la table ou de l'expression correspondante. Il
existe 3 grandes mthodes de synthses de fonctions combinatoires, correspondant au niveau de complexit des
oprateurs logiques utiliss comme lments de base.
1.1 LA LOGIQUE ANARCHIQUE
La logique dite "anarchique" consiste "implanter" la fonction boolenne l'aide d'un ensemble minimum de
portes de base : Et, Ou, inverseurs, ou NAND ou NOR....Cette mthode a t dveloppe l'poque des circuits
logiques faible niveau ou moyen niveau d'intgration (circuit SSI et MSI).
On commence par simplifier l'expression complte dduite de la forme disjonctive normale pour obtenir un
nombre minimum de portes, avec un nombre minimum d'entres pour ces portes.
Pour un nombre rduit dentres, on peut utiliser le diagramme de Karnaugh (voir cours prcdent). Au-del de
4 entres, la reprsentation graphique devient complexe, il est difficile de mettre en vidence les symtries, et la
mthode devient inutilisable. Dans ce cas, il fait utiliser des mthodes plus labores, comme celle de Quine Mc Cluskey, qui est la base des heuristiques utilises dans un certain nombre de logiciels spcialiss (Espresso,
Mc Boole). D'autres logiciels utilisent des mthodes de rcriture d'expressions.
Il faut souligner que le problme de simplification d'expressions boolennes se pose, soit pour des expressions
trs simples trs peu de variables pour lesquelles le diagramme de Karnaugh est amplement suffisant, soit pour
des expressions complexes grand nombre de variables pour lesquelles les logiciels spcialiss sont invitables.
1.2 LA LOGIQUE STRUCTURE
Toute fonction boolenne, aussi complique soit-elle, peut s'exprimer sous la forme d'une union de termes
produit. Il est donc possible de spcifier une structure universelle, capable de raliser toutes les unions possibles
de tous les termes produit ncessaires.
La logique structure consiste donc "implanter" la fonction dans une structure rgulire, prdfinie l'avance,
et dont la surface ne dpendra pas de la configuration particulire des 0 et des 1 propre une fonction, mais
uniquement du nombre de variables d'entres (structure ROM), ou du nombre de variables d'entre et de termes
produit de la fonction (structure PLA ou PAL).
Contrairement la logique alatoire, qui est caractristique des circuits intgrs trs faible niveau d'intgration
(SSI ou MSI), la logique structure est caractristiques des circuits intgrs trs forte densit d'intgration
(VLSI). Pour ces circuits, le critres essentiel est la surface minimale : pour un nombre donn d'entres et de
sorties, la surface dpend essentiellement des facilits de connexions globales entre les diffrents points du
circuits. C'est donc le nombre de connexions d'entre et de sortie utilisables qui est le facteur essentiel, et non le
nombre de termes produit et le nombre de variables par terme produit.
1.2.1
Structure ROM.
Elle se dcompose en 2 parties :
- un dcodeur (ou gnrateur complet de termes produit) dont le schma fonctionnel est donn en Figure 1. La
Figure 2 montre l'implantation d'un dcodeur deux entres quatre sorties avec des portes lmentaires.
- un Ou logique des termes produit pour lesquels la fonction a pour valeur 1.
Dcodeur
sorties
n entres
1 active
autres inactives
Figure 1 : Schma fonctionnel du dcodeur
1/9
S4 CLM
Notes de cours.
D. Etiemble
x
y
m0
m1
m2
m3
Multiplexeurs
2/9
S4 CLM
Notes de cours.
D. Etiemble
Un multiplexeur est un oprateur logique 2n entres et une sortie contrl par n fils de commande. Lentre n i
est relie la sortie si la commande correspond i cod sur n bits. Les schmas logiques des multiplexeurs 2 et
4 entres sont montrs en Figure 4.
Les quations logiques des multiplexeurs 2 entres et 4 entres sont respectivement
s = e0 .c + e1 .c
s = e0 .c1 .c0 + e1 .c1 .c0 + e2 .c1 .c0 + e3 .c1 .c0
(F1)
e0
e1
e2
e3
e0
e1
c1 c0
e3
c0
s
e1 e0
e0
e2 e1
1.2.4
3/9
S4 CLM
Notes de cours.
D. Etiemble
Les tables prprogrammes (LUT pour Look-up Tables) sont des blocs logiques de base implantant laide de
mmoires SRAM des tables de vrit de 2, 3 ou 4 variables. Un LUT-2 (table de recherche 2 entres) peut donc
implanter nimporte laquelle des 16 diffrentes fonctions logiques de 2 entres. La Figure 8 montre
limplmentation dune table de recherche pour une fonction trois entres. La mmoire SRAM implante une
table de vrit trois entres, o chaque cellule mmoire contient la valeur de la fonction pour un des termes
produit.
Les LUT sont utiliss dans les rseaux de portes programmables, (FPGA pour Field Programmable Gate Arrays),
qui sont la seconde grande classes de rseaux logiques programmables. Dans les FPGA, les LUT sont
interconnects par des connexions programmables verticales et horizontales.
A
B
F(A,B,C)
A = e3 .e2 .e1.e0 + e3 .e2 .e1.e0 + e3 .e2 .e1.e0 = (e3 .e2 .e1 + e3 .e2 .e1 + e3 .e2 .e1 ).e0 = a.e0
B = e3 .e2 .e1.e0 + e3 .e2 .e1.e0 + e3 .e2 .e1.e0 = (e3 .e2 .e1 + e3 .e2 .e1 + e3 .e2 .e1 ).e0 = b.e0
C = e3 .e2 .e1.e0 + e3 .e2 .e1.e0 + e3 .e2 .e1.e0 + e3 .e2 .e1.e0 = (e3 .e2 .e1 + e3 .e2 .e1 + e3 .e2 .e1 + e3 .e2 .e1 ).e0 = c.e0
f = A + B = a.e0 + b.e0
g = A + C = a.e0 + c.e0
Limplantation est montre en Figure 9
1.3 LA LOGIQUE EN TRANCHES
Elle consiste raliser des oprateurs n bits l'aide d'oprateurs 1 bit en dfinissant les rgles d'assemblage.
Un cas typique est celui des oprateurs arithmtiques. Leur caractristique essentielle est le traitement par bit (ou
bloc de bits) et la propagation des retenues. Ils sont le domaine type d'utilisation de la logique en tranches.
Nous traitons le cas des additionneurs.
1.3.1
Le traitement d'une tranche de 1 bit
L'addition de deux bits ai et bi avec la retenue entrante ri-1 fournit une somme Si et une retenue ri, selon la Table
1. Le schma logique de l'additionneur correspondant, appel additionneur 1 bit, est donn en Figure 10.
4/9
S4 CLM
Notes de cours.
D. Etiemble
ri-1
0
0
0
0
1
1
1
1
ai
0
0
1
1
0
0
1
1
bi
0
1
0
1
0
1
0
1
ri
0
0
0
1
0
1
1
1
Si
0
1
1
0
1
0
0
1
ai
ri
bi
Additionneur
1 bit
ri-1
Si
Figure 10 : Additionneur 1 bit
L'additionneur 1 bit peut tre implant avec des portes logiques, par exemple de type NAND. D'aprs la Table 1,
on a les relations :
5/9
S4 CLM
Notes de cours.
D. Etiemble
ri-1
ri-1
ai
ai
bi
bi
Si
ri
S i = ri 1 .a i .bi + ri 1 .a i .bi + ri 1 .ai .bi + ri 1 .a i .bi = ri 1 .(ai .bi + ai .bi ) + ri 1 (.a i .bi + .ai .bi )
S i = ri 1 .(ai bi ) + ri 1 (a i bi ) = ri 1 ai bi )
ri = a i .bi + ri 1 .ai + ri 1 .bi = a i .bi + ri 1 (.ai + bi ) = a i .bi + ri 1 (.a i bi )
ri = a i .bi + ri 1 (.a i bi )
Limplantation est donne par la figure Figure 12
6/9
S4 CLM
Notes de cours.
D. Etiemble
Porte complexe
ai
bi
ri
ri
ri-1
Si
Si
Porte complexe
Figure 13 : Implmentation de l'additionneur 1 bit avec portes complexes
La manire de raliser des portes complexes avec la technologie CMOS sera vue dans un cours ultrieur.
L'additionneur 1 bit est la brique de base pour la constitution d'un additionneur n bits. Les diffrentes ralisations
diffrent selon la manire de propager la retenue.
1.3.2
L'additionneur n bits propagation simple de retenue.
L'additionneur n bits peut tre ralis par juxtaposition de n additionneurs 1 bit (Figure 11), avec propagation
simple de la retenue, comme le montre la Figure 14. Pour le calcul de la retenue de sortie, il ny a pas dinverseur
entre les entres et la sortie et le temps de calcul de la retenue est 2tp si tp est le temps de traverse dun NAND.
Le temps de propagation de la retenue est 2n tp pour n tages. La sortie Sn-1 est obtenue (2n + 1) tp aprs
l'arrive de la retenue d'entre r-1.
an-1
rn-1
Add
1 bit
bn-1
ai
ri
Add
1 bit
rn-2
Sn-1
a0
bi
r0
ri-1
Si
b0
Add
1 bit
r-1
S0
(F2)
7/9
S4 CLM
Notes de cours.
ai
0
0
1
1
bi
0
1
0
1
Gi
0
0
0
1
Pi
0
1
1
1
D. Etiemble
ai b i
0
1
1
0
Gi P i
0
1
1
0
Table 2
Dans le cas o Pi = ai + bi, on constate que ai bi = G i .Pi = Gi Pi. Les fonctions Gi et Pi, utilises pour
calculer la retenue ri, peuvent galement tre utilises pour calculer la somme Si
Si = ai bi ri-1 = Gi Pi ri-1 = G i .Pi ri-1
1.3.3.2
Circuits anticipateurs de retenue.
L'application de la formule F2 permet de calculer en 2 couches logiques (2 tp) la retenue sortant de n tages
d'additionneurs 1 bit. En effet, on peut calculer la retenue de sortie en fonction des retenues gnres et
propages par chaque tage. Si l'on considre la retenue sortant d'un bloc de quatre bits, constitus d'indice i
i+3, on obtient la formule suivante, qui exprime la condition pour que l'tage i+3 gnre une retenue, ou que
l'tage i+2 gnre une retenue propage par l'tage i+3, etc.
ri+3 = Gi+3 + Pi+3Gi+2 + Pi+3Pi+2Gi+1 + Pi+3Pi+2Pi+1Gi + Pi+3Pi+2Pi+1Piri-1. (F4)
On peut galement dterminer les fonctions gnration et propagation pour un bloc de quatre tages, qui
traduisent les conditions pour que le bloc de quatre tages gnre une retenue (c'est la fonction Gi+3,i) ou
propage une retenue prsente l'entre du bloc (c'est la fonction Pi+3,i). Ces fonctions sont respectivement
Gi+3,i = Gi+3 + Pi+3Gi+2 + Pi+3Pi+2Gi+1 + Pi+3Pi+2Pi+1Gi (F5)
Pi+3,i = Pi+3Pi+2Pi+1Pi (F6)
Le circuit anticipateur de retenues pour un bloc de 4 tages est donn en Figure 15.
La limitation du nombre n d'tages pouvant constituer un bloc est li au nombre maximal d'entre (encore appel
entrance) des portes utilises. Pour une anticipation sur n bits, l'entrance maximale est n + 1.
Le mcanisme d'anticipation de retenue peut s'appliquer par blocs de bits.
La formule F4 peut se rcrire en utilisant les fonctions Gi+3,i et Pi+3 dfinies en F5 et F6.
ri+3 = Gi+3,i + Pi+3,iri-1 (F7)
Les fonctions Gi+3,i et Pi+3,i permettent de calculer la retenue sur un bloc de 16 tages en 4 couches logiques
selon la formule F8
ri+15 = Gi+15,i+12 + Pi+15,i+12 Gi+11,i+8 + Pi+15,i+12 Pi+11,i+8 Gi+7,i+4 + Pi+15,i+12 Pi+11,i+8 Pi+7,i+4 Gi+3,i + Pi+15,i+12 Pi+11,i+8
Pi+7,i+4 Pi+3,i ri-1
ai+3 bi+3
ai+2 bi+2
ai+1 bi+1
Etage
i+3
Etage
i+2
Etage
i+1
Gi+3
ri+3
(F 8)
ai
bi
Etage
i
Gi
Pi
ri-1
Gi+3,i
Pi+3,i
8/9
S4 CLM
Notes de cours.
D. Etiemble
En gnralisant, on constate qu'il faut 2 (p+1) tp pour obtenir la retenue d'une addition de 4p bits avec des
circuits anticipateurs sur 4 bits. Avec cette approche, le temps ncessaire pour obtenir la retenue de sortie varie
de manire logarithmique avec le nombre de bits.
Les sorties Si sont obtenues en utilisant la formule Si = G i .Pi ri-1
ce qui implique de gnrer l'ensemble des retenues ri-1, en utilisant des circuits d'anticipation ou de propagation
simple de retenue en fonction des contraintes temporelles.
1.3.3.3
La slection de retenue
Pour une addition de deux nombres de n bits, l'additionneur slection de retenue (Figure 16) utilise un
additionneur de p bits pour les poids faibles, et deux additionneurs de q bits pour les poids forts avec n = p + q.
L'un des additionneurs de q bits a une retenue d'entre 0 et l'autre 1. Les sorties et la retenue de poids fort
sont obtenues par multiplexage des sorties et de la retenue des deux additionneurs de q bits ds que la retenue
sortante de l'additionneur des poids faibles est connue. Chacun des additionneurs sur p ou q bits peut utiliser des
mcanismes de propagation rapide de retenue.
B n-1,p
r n-1
A n-1,p
Additionneur
q bits
Bn-1,p
1 r n-1 Additionneur
q bits
S n-1,p
S n-1,p
Mux
r n-1
An-1,p
B p-1,0
rp-1
A p-1,0
Additionneur
p bits
re
S p-1,0
Multiplexeur
S n-1,p
Figure 16 : Principe de l'additionneur slection de retenue
1.3.4
Les comparateurs
La logique en tranche utilise pour ladditionneur peut galement tre utilise pour dautres oprateurs comme
les comparateurs (exemple en TD).
9/9