66
Composants logiques et opérateurs matériels

Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

Composants logiques et

opérateurs matériels

par Daniel ETIEMBLE

Professeur à l’Université Paris Sud

1 INTRODUCTION ............................................................................................................................................ 1

2 INFORMATION .............................................................................................................................................. 2

2.1 Dualité état et temps ................................................................................................................. 2

2.2 Quantité d'information et codage de l'information ...................................................................... 2

2.3 Représentation des nombres ...................................................................................................... 2

3 ALGÈBRE DE BOOLE ET FONCTIONS BOOLÉENNES............................................................................... 6 3.1 PROPRIÉTÉS........................................................................................................................... 6

3.2 OPÉRATEURS NAND ET NOR............................................................................................... 7 3.3 FONCTIONS BOOLÉENNES................................................................................................... 7

4 SYNTHÈSE DE FONCTIONS COMBINATOIRES........................................................................................ 12

4.1 LA LOGIQUE “ANARCHIQUE”............................................................................................ 12 4.2 LA LOGIQUE “STRUCTURÉE” ............................................................................................ 14 4.3 LA LOGIQUE EN TRANCHES .............................................................................................. 17

5 LES OPÉRATEURS ARITHMÉTIQUES........................................................................................................ 18

5.1 LES ADDITIONNEURS ......................................................................................................... 18 5.2 UNITÉ ARITHMÉTIQUE ET LOGIQUE................................................................................ 22

5.3 LES MULTIPLIEURS............................................................................................................. 25 6 BASCULES ................................................................................................................................................... 30

6.1 BISTABLE ............................................................................................................................. 30

6.2 BASCULE RS ........................................................................................................................ 30

6.3 BASCULE LATCH................................................................................................................. 32

6.4 REGISTRES. .......................................................................................................................... 33

6.5 BASCULE D .......................................................................................................................... 34

6.6 BASCULES DÉRIVÉES DE LA BASCULE D........................................................................ 39

7 COMPTEURS ET AUTOMATES SYNCHRONES ........................................................................................ 41

7.1 LES COMPTEURS................................................................................................................. 41

7.2 LES AUTOMATES ................................................................................................................ 44 7.3 UN EXEMPLE D’AUTOMATE SYNCHRONE ..................................................................... 46

8 TECHNOLOGIE ET CIRCUITS LOGIQUES ................................................................................................. 50

8.1 INTRODUCTION................................................................................................................... 50

8.2 TECHNOLOGIES MOS ......................................................................................................... 50 9 IMPLANTATION MATÉRIELLE DES OPÉRATEURS ................................................................................. 55

9.1 LES TYPES DE RÉALISATION............................................................................................. 55 9.2 LES RÉSEAUX LOGIQUES PROGRAMMABLES ................................................................ 56

10 POINTS MÉMOIRE ET MÉMOIRE RAM..................................................................................................... 60

10.1 LOGIQUE STATIQUE ET LOGIQUE DYNAMIQUE............................................................. 60 10.2 POINTS MÉMOIRE ............................................................................................................... 60 10.3 MÉMOIRES RAM.................................................................................................................. 61

11 RÉFÉRENCES............................................................................................................................................... 64

Page 2: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente
Page 3: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

1 Janvier 2004

1 INTRODUCTION

Le cours “Composants logiques et opérateurs matériels” présente les différents opérateurs de calcul et de

mémorisation que l’on trouve dans les systèmes électroniques complexes, et notamment dans les

ordinateurs. La caractéristique essentielle de ces opérateurs est de travailler sur des données quantifiées

(numériques ou digitales) n’utilisant que les valeurs 0 ou 1, par opposition aux circuits et opérateurs

analogiques qui travaillent sur des données continues.

Les éléments d’algèbre de Boole que nous présentons constituent les fondements mathématiques

nécessaires au traitement des informations quantifiées, et à la réalisation des différents opérateurs

matériels qui réalisent ce traitement. Les portes logiques (composants logiques de base) sont associées

aux différents opérateurs de l’algèbre de Boole. Les méthodes de synthèse de fonctions combinatoires

permettent de réaliser des opérateurs de traitement plus complexes, comme les décodeurs, les

multiplexeurs, les additionneurs, les unités arithmétiques et logiques, les multiplieurs... à partir des

opérateurs matériels fondamentaux, qui vont des portes logiques aux opérateurs universels comme les

ROM, les réseaux logiques programmables (PLA, PAL...).

Les bascules, réalisées à partir des portes logiques élémentaires, sont les éléments fondamentaux

permettant de mémoriser et de modifier l’information. Ils permettent de constituer les registres d’une

part, et de réaliser les automates nécessaire au contrôle des processeurs et d’un grand nombre de

structures matérielles. Les compteurs ne sont qu’un cas particulier de ces automates.

La connaissance des techniques de réalisation des mémoires à accès aléatoire (RAM) permet de

comprendre certaines caractéristiques, notamment les temps d’accès et la capacité de mémorisation. Les

mémoires statiques utilisent un principe de mémorisation logique, identique à celui des bascules

utilisées pour les registres. Les mémoires dynamiques utilisent un principe de mémorisation fondé sur

des principes électriques (charge et décharge de condensateurs), qui nécessitent moins de place pour

stocker chaque bit, mais impliquent un rafraîchissement périodique de l’information et un temps de

cycle au moins double du temps d’accès.

Si les circuits logiques ne connaissent que les valeurs 0 et 1, ils sont néanmoins implantés avec des

circuits électroniques utilisant des courants et des tensions qui sont des grandeurs continues. Le

paragraphe technologie et circuits logiques montre comment les composants logiques sont implantés

avec des transistors MOS. Si le fonctionnement de ces transistors est n’est que grossièrement modélisé

sous forme d’interrupteurs, la présentation permet cependant au lecteur de faire la transition entre le

monde logique des 0 et des 1, et le monde de la technologie des circuits intégrés. Nous soulignons

l’importance croissante des réseaux logiques programmables, qui offrent une technique rapide et

relativement peu coûteuse de réalisation de circuits intégrés à côté des méthodes plus traditionnelles

(optimisés à la demande).

Les techniques présentées dans ce chapitre ont pour but de permettre au lecteur de concevoir des

opérateurs matériels d’une part, et de comprendre pour les utiliser au mieux les logiciels de CAO pour

la conception logique qui sont associées maintenant à toutes les méthodes de conception de circuits

intégrés.

Page 4: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

2 Janvier 2004

2 INFORMATION

2.1 Dualité état et temps

La notion d'information correspond à la connaissance d'un état donné parmi plusieurs possibles à un instant donné. La Figure 1 illustre cette notion avec un signal électrique.

Référence hauteRéférence basse

temps

Tension

BAS

HAUT

t1 t2

Figure 1.- Information : état et temps.

Elle montre qu’il y a deux états significatifs, l’état bas lorsque la tension est inférieure à une référence basse, et un état haut lorsque la tension est supérieure à une référence haute. Le troisième état, situé entre les références basse et haute, ne peut être utilisé comme support d’information. Pour qu’il y ait information, il faut préciser l’instant auquel on regarde l’état du signal. : par exemple, en t1 le signal est haut et en t2, le signal est bas.

2.2 Quantité d'information et codage de l'information

L’information est mesurable, avec une unité qui s’appelle le bit. La formule I (bits) = log2(N) où N est le nombre d'états possibles donne la quantité d'information. Un bit correspond donc à la connaissance d’un état parmi deux. Par exemple, la connaissance d’un état parmi 8 correspond à une quantité d’information de I = log2 (8) = 3 bits. Les 8 états possibles sont repérés à l'aide de 3 chiffres binaires (ayant l'un des deux états possibles 0 ou 1), comme le montre la Table 1 : Représentation de huit états différents. La quantité d’information exprimée en bits étant égale au nombre de chiffres binaires correspondants, les chiffres binaires sont appelés bits.

État X2 X1 X0

0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1

Table 1 : Représentation de huit états différents

Un mot de n bits correspond à n bits d'information, puisqu'il correspond à une configuration parmi 2n.

Mais, il faut préciser à quoi correspondent les 2n configurations. En effet, le mot de n bits peut représenter une instruction machine ou un opérande, qui peut être un nombre ou un caractère. Nous présentons brièvement le codage ou représentation des nombres et des caractères. Avant d’introduire les codages des nombres et des caractères, il est utile d'introduire la notation hexadécimale, qui n'est pas un codage de l'information, mais une manière simplifiée d'écrire des nombres binaires. Un nombre binaire de n bits peut être écrit à l'aide de n/4 chiffres hexadécimaux si n est multiple de 4 (ou n/4 +1 sinon) en remplaçant chaque groupe de 4 chiffres binaires, en partant des poids faibles, par le chiffre hexadécimal correspondant (Table 2).

2.3 Représentation des nombres

La Figure 2 représente un mot de n bits.

Page 5: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

3 Janvier 2004

n-1 n-2 i 0

Figure 2 .- Mot de n bits

Chiffre

hexadécimal

d3 d2 d1 d0

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

A 1 0 1 0

B 1 0 1 1

C 1 1 0 0

D 1 1 0 1

E 1 1 1 0

F 1 1 1 1

Table 2 : Notation hexadécimale

2.3.1 Les entiers positifs

Un mot de n bits peut représenter tous les nombres positifs compris entre 0 et 2n-1. di étant le chiffre

binaire de rang i, un mot de n bits correspond au nombre entier décimal N =

idi =0

n − 1

∑i

2 . Avec un octet,

on peut donc représenter tous les entiers positifs entre 0 et 255. Un mot de 32 bits permet de représenter

tous les entiers positifs entre 0 et 4 294 967 295.

2.3.2 Les entiers signés

La représentation des entiers signés pose un problème lié au zéro. En effet, il y a un nombre pair de

configurations associées à n bits, à répartir entre nombres positifs, nombres négatifs et la valeur 0. Il y a

plusieurs représentations possibles des entiers signés. Dans toutes les configurations, les nombres

positifs sont représentés de la même manière, correspondant à la représentation des entiers positifs sur

n-1 bits, avec dn-1 = 0. Le bit de poids fort dn-1 est appelé le bit de signe : il est à 0 pour les nombres

positifs.

a) Valeur absolue et signe

Dans cette représentation, le bit n-1 est le bit de signe, et les bits 0 à n-2 donnent la valeur absolue. Un

mot de n bits correspond au nombre entier décimal signé N =

n−1d(−1) . idi=0

n − 2

∑i

2 , soit N =

−1 idi= 0

n− 2

∑i

2 quand

le bit de signe est à 1 et

idi =0

n − 2

∑i

2 lorsque le bit de signe est à zéro.

Un octet permet de représenter les entiers signés compris entre -127 et + 127. Il y a deux représentations

possibles du zéro, qui sont 000000002 (+0) et 100000002 (-0). Un mot de 32 bits permet de représenter

tous les entiers signés compris entre -(231-1) et 231-1, avec toujours deux zéros.

b) Entiers signés en complément à 1

Dans la représentation en complément à 1, le nombre négatif -N est obtenu en remplaçant chaque

chiffre binaire di du nombre positif N par le complément

id . (cf. l'opération complément de l'algèbre de

Boole en 3.1) : les bits 1 sont remplacés par des 0 et réciproquement. Un octet permet de représenter

tous les entiers signés compris entre -127 (10000002) et +127 (011111112), avec deux zéros qui sont

000000002 (+0) et 111111112 (-0).

c) Entiers signés en complément à 2

Page 6: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

4 Janvier 2004

Dans la représentation en complément à 2, un nombre est représenté par N = - an-12n-1 +

iai

2

i = 0

n − 2

∑ .

L’écriture en complément à 2 correspond donc à la situation où le bit de poids fort est de poids négatif.

La Table 3 donne l'ensemble des nombres en complément à 2 avec des mots de 3 bits

d2 d1 d0 N

0 0 0 0

0 0 1 1

0 1 0 2

0 1 1 3

1 0 0 -4

1 0 1 -3

1 1 0 -2

1 1 1 -1

Table 3 : Nombres en complément à 2 sur 3 bits

Un mot de n bits permet de représenter tous les entiers signés compris entre -2n-1 et 2n-1 - 1. Il y a

maintenant une seule représentation de 0 (qui est le 0 positif). Avec un octet, on représente les entiers

signés entre -128 (100000002) et +127 (011111112). La représentation en complément à 2 d'un nombre

négatif peut être obtenue à partir de la représentation en complément à 1, à laquelle on ajoute +1.

d) la représentation excès N.

L’excès N est choisi de manière à ce que la somme de l’excès et du nombre ne soit jamais négative.

Cette somme est représentée comme un nombre positif normal.

La représentation en complément à 2 est la plus couramment utilisée pour l’arithmétique sur les

nombres entiers. Elle a l’avantage de ne pas introduire de traitement particulier pour le signe dans le cas

des additions et des soustractions, et de permettre une détection facile des cas de débordement.

Les représentations en signe-valeur absolue et en complément à un ont des opérations arithmétiques

plus complexes. Elles ont aussi l’inconvénient d’avoir deux représentations de zéro. La représentation

signe-valeur absolue est utilisée pour la multiplication des mantisses des nombres flottants. La

représentation excès N est utilisée pour les exposants des nombres flottants. Elle permet de ramener la

comparaison d’exposants de signe contraire à des comparaisons d’entiers positifs.

2.3.3 Représentation dite « flottante »

La représentation dite "flottante" a pour but de permettre de représenter une approximation des nombres

réels, en permettant une différence non constante entre deux nombres représentés successifs. Dans cette

représentation, un nombre est caractérisé par son signe, sa mantisse et son exposant qui est associé à

une base : +/- m.Be. En numération décimale, 1,5 x 1015 est un exemple de nombre "flottant". En

machine, la base B utilisée est 2. Dans la norme IEEE 754 qui est la plus utilisée maintenant, la

mantisse, exprimée en signe et valeur absolue, est 1,f où 1 est implicite et f est la partie fractionnaire,

correspondant aux puissances successives de 2-i. L’exposant est exprimé en code excès N. La Figure 3

présente la représentation flottante double précision, sur 64 bits, qui est la plus couramment utilisée. La

partie exposant donne sur 11 bits la valeur de l’exposant en code excès 1023. La partie fractionnaire a

52 bits. Le bit 63 donne le signe de la partie fractionnaire. Le nombre flottant double précision

correspond à

(-1)signe x (1,f1f2...f52) x 2 (E-1023)

La norme flottante IEEE 754 permet de représenter les nombres normalisés (bits de E différents de tous

à 0 ou tous à 1), les nombres dénormalisés (E tous à 0 et partie fractionnaire non nulle), la valeur zéro

(E tous à 0 et partie fractionnaire nulle), l’infini (E tous à 1 et partie fractionnaire nulle) et des

caractères spéciaux (Not a number lorsque les bits de E sont tous à 1 et la partie fractionnaire est

différente de 0).

En représentation double précision, la mantisse m est comprise entre 1 lorsque tous les bits f1 à f52 sont

à 0 et 2 - 2-52 lorsque tous les bits f1 à f52 sont à 1. Le champ exposant E est compris entre 1 et 2046

pour les nombres normalisés. Compte tenu de l'excès 1023, l'exposant réel est donc compris entre -1022

et + 1023. Le plus petit nombre positif normalisé représentable est donc 2-1022 et le plus grand est

voisin de 2 x 21023 soit 21024.

Page 7: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

5 Janvier 2004

051

partie fractionnaire

63 5262

exposant

S f1 f52E

signe

Figure 3 .- Format flottant double précision.

La représentation simple précision sur 32 bits a 1 bit de signe, 8 bits de partie exposant (avec excès

+127) et 23 bits pour la partie fractionnaire.

2.3.4 Représentation des nombres décimaux

Un certain nombre d'applications, notamment en gestion, exigent des calculs décimaux exacts, sans

arrondis, ce qui implique de travailler avec des nombres décimaux. En effet, avec un nombre fixé de

bits, il est impossible de convertir de manière exacte des nombres binaires en nombres décimaux et

réciproquement. On utilise alors la représentation décimale codée binaire, dans laquelle chaque chiffre

décimal est codé avec 4 chiffres binaires, selon la Table 4. Cette représentation utilise uniquement les

chiffres décimaux de la notation hexadécimale.

2.4 Représentation des caractères

La représentation des caractères est fondamentale. Les lettres de l'alphabet latin et un certain nombre de

caractères usuels sont représentés par un octet, selon un code qui est le plus souvent le code ASCII . Par

exemple, dans ce code, la lettre “a” est représentée par 010000002 et le chiffre “9” par 001110012.

Chiffre décimal d3 d2 d1 d0

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

Table 4 .- Décimal codé binaire

Page 8: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

6 Janvier 2004

3 ALGÈBRE DE BOOLE ET FONCTIONS BOOLÉENNES

3.1 PROPRIÉTÉS

L’algèbre de Boole est définie sur l'ensemble E2 constitué des éléments 0,1. Il existe une relation d'ordre 0 < 1, et trois opérations de base. La complémentation, définie en Table 5 est une application de E2 sur E2. Les opérations union (Table 6, gauche) appelée encore ou, max et qui est notée +, et intersection (Table 6, droite) appelée encore et, min, qui est notée . sont des applications de E2 X E2 ->

E2

x

x 0 1 1 0

Table 5 : complémentation

x y S x y S 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1

Table 6 : Union, +, ou, max Intersection, ., et, min

Pour tout a, b, c ∈E2, les propriétés suivantes sont vérifiées : 1) 0 est l'élément minimum, 1 est l'élément maximum a.1 = a car min (a,1) = a a+0 = a car max (a,0) = a a.0 = 0 a+1 = 1 2) complément :

a. a = 0 car min (0,1) = 0

a +a = 1 car max (0,1) = 1 3) Commutativité a.b = b.a a+b = b+a car les fonctions min et max sont commutatives 4) Associativité a.(b.c) = (a.b).c= a.b.c a+(b+c) = (a+b)+c= a+b+c car les fonctions min et max sont associatives 5) Distributivité

a.(b+c) = a.b+a.c a+(b.c) = (a+b).(a+c)

6) THÉORÈME DE MORGAN

a.b = a + b

a +b = a .b La Table 7 constitue une démonstration de ce théorème.

a b a

b a.b a.b a+b

a + b

a.b

a +b 0 0 1 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0

Table 7 : théorème de Morgan

Page 9: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

7 Janvier 2004

3.2 OPÉRATEURS NAND ET NOR

Les opérateurs NAND et NOR ont la définition suivante.

NAND (a, b) =

a.b = a + b

NOR (a,b) = a +b = a .b

Ces opérateurs sont fonctionnellement complets : avec un de ces opérateurs, on peut implanter les fonctions complément, min et max de l’algèbre de Boole. La démonstration pour l’opérateur NAND est la suivante :

x = x.1 = x.x

x. y = 1.x. y

x +y = 1.x.1. y La Figure 4 donne la représentation symbolique des différents opérateurs, sous forme de portes logiques. L’inverseur (NOT) correspond à la fonction complémentation. Les autres portes ont le même nom que les fonctions logiques correspondantes.

NOT ET OU NAND NOR

Figure 4 : Opérateurs logiques.

La Figure 5 donne les deux représentations graphiques du théorème de Morgan.

Figure 5 : Représentation graphique du théorème de Morgan

Les portes logiques que nous avons présentées travaillent sur les valeurs logiques 0 et 1. Elles supposent un fonctionnement instantané, c’est à dire un retard nul entre entrée et sorties. Ces portes sont implantées avec des circuits électriques, qui travaillent sur des variables continues. Il y a toujours un retard entre entrée et sortie. Nous présentons en 7 (Technologie et circuits logiques) la manière de réaliser les différentes portes avec des transistors. Il est important de souligner que toutes les propriétés

de l’algèbre de Boole ne sont pas toujours vérifiées avec les circuits réels. Les deux propriétés

a. a = 0

et

a +a = 1 ne sont pas toujours vérifiées. La Figure 6 montre qu’à cause des temps de retard entre l’entrée et la sortie d’un inverseur, il y a deux périodes pendant lesquelles les deux relations ne sont pas vérifiées : c’est le cas lorsque E =

E. Cette situation correspond à ce que l’on appelle un aléa. Les signaux des circuits physiques ne sont donc valides que lorsque les lois de l’algèbre de Boole sont vérifiées, c’est à dire en dehors des aléas.

E S=E

E

S=E

E=E

E=E

Figure 6 : Les aléas liés aux temps de retard dans un inverseur

3.3 FONCTIONS BOOLÉENNES

Dans le cas général, les fonctions booléennes sont une application de Ei x Ej x Ek ..x Ep -> E2 où Ei= 0, 1, 2,...,i-1. Les variables d’entrée ont un nombre fini de valeurs entières. La Table 8 donne la table

Page 10: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

8 Janvier 2004

de vérité d’une fonction booléenne pour laquelle la variable x est binaire et la variable y est ternaire (3

états possibles).

x y S

0 0 1

0 1 0

0 2 1

1 0 0

1 1 0

1 2 1

Table 8 : Exemple de fonction booléenne

Comme les fonctions utilisées pratiquement ont des variables d’entrée de même nature que les variables

de sortie, on se restreint au cas particulier des fonctions booléennes applications de E2 x E2 x E2...x E2

-> E2. La Table 9 donne l’exemple d’une telle fonction de deux variables x et y. Cette manière de

représenter une fonction booléenne est appelée table de vérité. Les tables de vérité illustrent les deux

problèmes rencontrés lors du traitement d’une fonction booléenne : il faut être capable de repérer une

entrée de la table, et il faut être capable d’associer une valeur de la fonction à chaque entrée de la table.

x y S

m0 0 0 0

m1 0 1 1

m2 1 0 1

m3 1 1 0

Table 9 : Exemple de fonction booléenne de deux variables.

Il existe différentes manières d'exprimer une fonction booléenne.

3.3.1 Forme disjonctive normale

A chaque entrée de la table, on associe une variable binaire mi appelée terme produit (minterm).. m0 est

associé à la ligne 0, m1 est associé à la ligne 1, etc.

m0 = 1 si x = 0 ET y = 0, soit

x = 1 ET

y = 1 , soit

x. y = 1 et

m0

= x. y

On repère de cette manière chaque ligne de la Table 10.

x y m0 m1 m2 m3

0 0 1 0 0 0

0 1 0 1 0 0

1 0 0 0 1 0

1 1 0 0 0 1

Table 10 : Termes produit

Pour une table de vérité à deux entrées, les termes produit sont :

m0= x. y

m1

= x. y

m2= x. y

m3

= x. y

Un terme produit est donc constitué de l'intersection (et) de toutes les variables d'entrées,

complémentées si leur valeur est 0, non complémentées si leur valeur est 1. Puis, à chaque terme produit

mi, on associe la valeur Si de la fonction booléenne S (Table 11).

Ceci peut être réalisé sous la forme d’une union de produits, de la manière suivante : S = m0.S0 +

m1.S1 + m2.S2 + m3.S3.

Pour une configuration d’entrée, un seul terme mi est égal à 1 et tous les autres sont à 0. On a donc

automatiquement S = mi.Si = Si pour le terme produit mi à 1.

0n peut remarquer que les valeurs 0 de la fonction (Si=0) ne contribuent pas à l’expression de S (car mi.

0 = 0, et 0 est absorbé dans l’union logique). On remarque d’autre part que lorsque Si=1, on a mi.Si =

Page 11: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

9 Janvier 2004

mi. On peut en déduire la règle pratique suivante, qui donne la forme disjonctive normale d’une

fonction booléenne : la forme disjonctive normale d’une fonction booléenne est obtenue par union

logique des termes produits pour lesquels la fonction a pour valeur 1.

x y S

m0 0 0 S0

m1 0 1 S1

m2 1 0 S2

m3 1 1 S3

Table 11 : Termes produit et sorties

x y m0 m1 m2 m3 m1+m2 S

0 0 1 0 0 0 0 0

0 1 0 1 0 0 1 1

1 0 0 0 1 0 1 1

1 1 0 0 0 1 0 0

Table 12 : Exemple de fonction

S = 1 si m1 = 1 ou si m2 = 1, soit m1 + m2 = 1 ==> S = m1 + m2

soit

S = x. y + x. y

On peut utiliser cette propriété de la forme disjonctive normale pour remplacer la table de vérité par une

forme plus condensée de représentation. Une fonction peut être représentée sous la forme

f=∑m(liste des termes produit pour lesquels la fontion est égale à 1).

Par exemple, la fonction de la Table 9 s’écrira f=∑m(1,2).

Soit l’exemple de la Table 12, qui utilise la fonction de la Table 9:

La fonction particulière que nous avons prise comme exemple s'appelle OU exclusif et se note ⊕. Son

schéma logique est donné en Figure 7.

Figure 7 : Porte logique Ou exclusif

L’implémentation de la fonction Ou exclusif sous forme de Ou de Et qui résulte de la forme disjonctive

normale est présentée en Figure 8.

x

y

S

Figure 8 : Ou exclusif résultant de la forme disjonctive

3.3.2 Forme NAND de NAND.

La forme disjonctive normale peut se transformer en forme NAND de NAND, par application du

théorème de Morgan. La Figure 9 l’illustre graphiquement. La forme disjonctive normale se transforme

automatiquement1 en forme NAND de NAND en remplaçant les portes Et par des portes NAND et les

portes Ou par des portes NAND.

3.3.3 Forme conjonctive normale

1 Attention : Lorsqu’une variable d’entrée entre directement sur la porte Ou, on doit considérer qu’elle

traverse une porte Et à une entrée, qui se transforme en un inverseur (porte Nand à une entrée).

Page 12: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

10 Janvier 2004

Il existe une autre forme de représentation : la forme conjonctive normale. On définit des termes somme

(maxtermes), dont on fait l'intersection. La Table 13 présente les termes somme pour une fonction à

deux entrées.

x y M0 M1 M2 M3

0 0 0 1 1 1

0 1 1 0 1 1

1 0 1 1 0 1

1 1 1 1 1 0

Table 13 : Termes somme

x

y

S

x

y

S

x

y

S

Figure 9 : Exemple de transformation de forme Ou de Et en forme NAND de NAND.

Pour une table de vérité à deux entrées, les termes somme sont :

M0 = x + y

M1 = x +

y

M2 =

x + y

M3 = x + y

Un terme somme est donc constitué de l’union (ou) de toutes les variables d'entrée, non complémentées

si leur valeur est 0, complémentées si leur valeur est 1.

A chaque terme somme Mi, on associe la valeur Si de la fonction (Table 14).

x y S

M0 0 0 S0

M1 0 1 S1

M2 1 0 S2

M3 1 1 S3

Table 14

Ceci peut être réalisé sous la forme d’une intersection de sommes, de la manière suivante :

S = (M0+S0) . (M1+S1) . (M2+S2) . (M3+S3)

Pour une configuration d’entrée, un seul terme Mi est égal à 0 et tous les autres sont à 1. On a donc

automatiquement S = Mi+Si = Si pour le terme produit Mi à 0. En effet, pour j≠i, on a Mj = 1 et donc

Mj+Sj = 1, qui sont des termes neutres pour l’intersection.

0n peut remarquer que les valeurs 1 de la fonction (Si=1) ne contribuent pas à l’expression de S (car Mi

+ 1 = 1, et 1 est absorbé dans le produit logique). On remarque d’autre part que lorsque Si=0, on a

Mi+Si = Mi. On peut en déduire la règle pratique suivante, qui donne la forme conjonctive normale

d’une fonction booléenne : la forme conjonctive normale d’une fonction booléenne est obtenue par

produit logique des termes somme pour lesquels la fonction a pour valeur 0.

Soit l’exemple de la Table 15, qui utilise la même fonction que la Table 9 :

Page 13: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

11 Janvier 2004

x y M0 M1 M2 M3 M0.M3 S

0 0 0 1 1 1 0 0

0 1 1 0 1 1 1 1

1 0 1 1 0 1 1 1

1 1 1 1 1 0 0 0

Table 15

S = 0 si M0 = 0 et si M3 = 0, soit M0.M3 = 0 ==> S = M0.M3

soit S = (x+y) ( x+

y )

On peut montrer que cette forme est équivalente à celle qui résulte de la forme disjonctive normale.

3.3.4 Forme NOR de NOR

On montre de la même manière que toute fonction booléenne peut s'exprimer uniquement sous forme

NOR de NOR. La forme NOR de NOR s'obtient application du théorème de Morgan sur la forme

conjonctive normale : on remplace les portes Ou et les portes Et par des portes NOR2.

2 Attention : Lorsqu’une variable d’entrée entre directement sur la porte Et, on doit considérer qu’elle

traverse une porte Ou à une entrée, qui se transforme en un inverseur (porte Nor à une entrée).

Page 14: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

12 Janvier 2004

4 SYNTHÈSE DE FONCTIONS COMBINATOIRES

La synthèse de fonctions combinatoires consiste, à partir d'une table de vérité ou d'une expression booléenne, à spécifier les opérateurs matériels permettant l'implémentation de la table ou de l'expression correspondante. Il existe 3 grandes méthodes de synthèses de fonctions combinatoires, correspondant au niveau de complexité des opérateurs logiques utilisés comme éléments de base.

4.1 LA LOGIQUE “ANARCHIQUE”

La logique dite "anarchique" consiste à "implanter" la fonction booléenne à l'aide d'un ensemble minimum de portes de base : Et, Ou, inverseurs, ou NAND ou NOR....Cette méthode a été développée à l'époque des circuits logiques à faible niveau ou moyen niveau d'intégration (circuit SSI et MSI). On commence par simplifier l'expression complète déduite de la forme disjonctive normale pour obtenir un nombre minimum de portes, avec un nombre minimum d'entrées pour ces portes.

4.1.1 Simplification des expressions booléennes. Elles découlent de l'application des propriétés de l'algèbre de Boole définie en début de chapitre. Soit l'exemple de la fonction de 2 variables (Table 16)

x y S

m0 0 0 0 m1 0 1 1 m2 1 0 1 m3 1 1 1

Table 16

La forme non simplifiée s'écrit S =

x. y + x. y + x.y

L'application successives des règles conduit aux transformations suivantes :

S = x. y +

x. y + x.y + x.y car x.y = x.y + x.y puisque x.y + x.y =x.y (absorption)

S = x. y + x.y +

x. y + x.y par commutativité.

S = (

x+x).y + x.(

y +y) par distributivité S= 1.y + x.1 par absorption S = y + x = x + y Ces simplifications peuvent être réalisées graphiquement à l'aide de la méthode du diagramme de

Karnaugh. Cette méthode se fonde sur une manière de représenter la table de vérité qui fait apparaître les symétries sur les variables. La Figure 10 présente l'exemple du diagramme de Karnaugh pour la fonction à 2 entrées de la table. Les quatre cases correspondent aux quatre termes produit m0 à m3. Les symétries selon x et y sont mises en évidence. Un regroupement de 2 éléments symétriques se traduit par la suppression d'une variable dans un terme. Un regroupement de 4 éléments pour lesquels existent 2 symétries se traduit par la suppression de 2 variables dans un terme, etc. Nous présentons le diagramme de Karnaugh (Figure 11) dans le cas d'une fonction de 4 variables, avec les numéros de case correspondant aux numéros de mintermes dans l'hypothèse d'une numération binaire pour les bits e3e2e1e0 où e0 est le bit de poids faible. Les règles pour la simplification des fonctions booléennes avec le diagramme de Karnaugh sont les suivantes : - tous les termes produit pour lesquels la fonction est à 1 devront être pris au moins une fois dans un regroupement, ou seuls si aucun regroupement n'est possible. - faire les regroupements de taille maximale, de manière à éliminer le plus grand nombre possible de variables dans les termes de l'expression. - ne prendre que les regroupements ou termes produit nécessaires pour avoir au moins une fois chaque 1, sans redondance. La méthode du diagramme de Karnaugh est efficace pour les expressions booléennes ayant au plus 4 entrées. Au delà, la représentation graphique devient complexe, il est difficile de mettre en évidence les symétries, et la méthode devient inutilisable. Dans ce cas, il fait utiliser des méthodes plus élaborées, comme celle de Quine - Mc Cluskey, qui est la base des heuristiques utilisées dans un certain nombre de logiciels spécialisés (Espresso, Mc Boole). D'autres logiciels utilisent des méthodes de réécriture d'expressions.

Page 15: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

13 Janvier 2004

Il faut souligner que le problème de simplification d'expressions booléennes se pose, soit pour des

expressions très simples à très 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 spécialisés sont inévitables.

x

y

y

x.y x.y

x.y x.y

01

11

y+y=1

x+x =1xy = xy+xy

symétrie/ y

symétrie/ xx

Figure 10 : Diagramme de Karnaugh pour fonction à 2 entrées.

e0e0

e1

e1

e2e2

e2

e3

e3

e3

0 1

2 3

4 5

6 7

8 912

10 11

13

14 15

Figure 11 : Diagramme de Karnaugh pour une fonction à quatre entrées

4.1.2 Cas des fonctions booléennes incomplètement spécifiées. Il existe des fonctions booléennes pour lesquelles il n'y a pas de valeurs associées à certains termes

produit. Ceux-ci ne sont jamais "sélectionnés", et la valeur qui leur est associée peut être indifféremment

0 ou 1. On note d (don't care) ou Ø ce cas indifférent. L'afficheur 7 segments (Figure 12) est un exemple

particulier de fonction booléenne incomplètement spécifiée. On veut afficher les 10 chiffres décimaux à

l'aide de 7 segments, notés de a à g, qui peuvent être à 0 (éteint) ou 1 (allumé). Le codage des 10

chiffres décimaux nécessite 4 bits, que l'on peut noter e3 à e0. La Table 17 donne les 7 fonctions

booléennes traduisant l'allumage des 7 segments a à g en fonction des bits e3 à e0.

a

b

c

d

e

f

g

Figure 12 : Afficheur 7 segments

Page 16: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

14 Janvier 2004

e3 e2 e1 e0 a b c d e f g

0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 2 1 0 1 1 0 1 1 0 0 1 1 3 1 0 1 1 0 1 1 0 1 0 0 4 0 1 0 0 1 1 1 0 1 0 1 5 1 1 0 1 1 0 1 0 1 1 0 6 1 1 1 1 1 0 1 0 1 1 1 7 1 0 0 0 1 1 0 1 0 0 0 8 1 1 1 1 1 1 1 1 0 0 1 9 1 1 1 1 0 1 1 1 0 1 0 10 Ø Ø Ø Ø Ø Ø Ø 1 0 1 1 11 Ø Ø Ø Ø Ø Ø Ø 1 1 0 0 12 Ø Ø Ø Ø Ø Ø Ø 1 1 0 1 13 Ø Ø Ø Ø Ø Ø Ø 1 1 1 0 14 Ø Ø Ø Ø Ø Ø Ø 1 1 1 1 15 Ø Ø Ø Ø Ø Ø Ø

Table 17 : afficheur 7 segments

Pour simplifier de telles fonctions, on peut indifféremment associer à Ø la valeur 0 ou 1, pour simplifier au maximum. La Figure 13 montre le diagramme de Karnaugh associé à la fonction a de la Table 16.

La valeur simplifiée de la fonction est a = e1 + e3 + e0.e2 +

e0. e

2

e0e0

e1

e1

e2e2

e2

e3

e3

e3

0 1

2 3

4 5

6 7

8 912

10 11

13

14 15

Ø Ø Ø

Ø

Ø

Ø

001

1

1 1 1 1

1

1

Figure 13 : Diagramme de Karnaugh avec cas indifférents

4.2 LA LOGIQUE “STRUCTURÉE”

Toute fonction booléenne, aussi compliquée soit-elle, peut s'exprimer sous la forme d'une union de termes produit. Il est donc possible de spécifier une structure universelle, capable de réaliser toutes les unions possibles de tous les termes produit nécessaires. La logique structurée consiste donc à "implanter" la fonction dans une structure régulière, prédéfinie à l'avance, et dont la surface ne dépendra pas de la configuration particulière des 0 et des 1 propre à une fonction, mais uniquement du nombre de variables d'entrées (structure ROM), ou du nombre de variables d'entrée et de termes produit de la fonction (structure PLA ou PAL). Contrairement à la logique aléatoire, qui est caractéristique des circuits intégrés à très faible niveau d'intégration (SSI ou MSI), la logique structurée est caractéristiques des circuits intégrés à très forte densité d'intégration (VLSI). Pour ces circuits, le critèrs essentiel est la surface minimale : pour un nombre donné d'entrées et de sorties, la surface dépend essentiellement des facilités de connexions

Page 17: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

15 Janvier 2004

globales entre les différents points du circuits. C'est donc le nombre de connexions d'entrée et de sortie

utilisables qui est le facteur essentiel, et non le nombre de termes produit et le nombre de variables par

terme produit.

4.2.1 Structure ROM.

Elle se décompose en 2 parties :

- un décodeur (ou générateur complet de termes produit) dont le schéma fonctionnel est donné en Figure

14. La Figure 15 montre l'implantation d'un décodeur deux entrées quatre sorties avec des portes

élémentaires.

- un Ou logique des termes produit pour lesquels la fonction a pour valeur 1.

n entrées

2

n

sortiesDécodeur

1 active

autres inactives

Figure 14 : Schéma fonctionnel du décodeur

x

y

m0 m1 m2 m3

Figure 15 : Réalisation du décodeur 2 entrées 4 sorties avec des portes logiques

La ROM est connue généralement comme une mémoire à lecture seulement. C'est en fait un opérateur

combinatoire. Le nombre de bits en sortie correspond au nombre de fonctions logiques différentes

implantées. Le nombre de bits d'adresse correspond au nombre de variables des fonctions logiques.

Pour l'implantation de fonctions logiques, la ROM présente l'inconvénient d'utiliser un décodeur

complet alors que les fonctions logiques à grand nombre d'entrées n’utilisent généralement qu'un

nombre réduit de termes produit : en d'autres termes, la fonction a beaucoup plus de 0 que de 1. Il est

possible d'utiliser uniquement un décodeur partiel, ce qui est fait dans les réseaux logiques

programmables (ou PLA)

4.2.2 Structures PLA et PAL.

Un PLA est constitué de 2 demi-PLA

- Le demi-PLA Et qui est un générateur partiel de termes produit. On ne génère que ceux qui sont

nécessaires pour implanter la fonction.

- Le demi-PLA Ou qui réalise le Ou logique des termes produit pour lesquels la fonction a pour valeur 1.

Un PLA est donc caractérisé par son nombre d'entrées, son nombre de sorties et le nombre de termes

produit utilisables. Les demi-PLA Et et Ou sont programmables.

La structure appelée PAL est un PLA simplifié, pour lequel seul la partie Et est programmable (choix

des termes produit) alors que le Ou logique des termes produit est précâblé.

PLA et PAL sont largement utilisés dans les composants logiques programmables complexes (CPLD

pour Complex Programmable Logic Devices) qui sont l’une des classes de composants logiques

programmables (cf chapitre 9)

Page 18: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

16 Janvier 2004

4.2.3 Les tables préprogrammées

Les tables préprogrammées (LUT pour Look-up Tables) sont des blocs logiques de base implantant à

l’aide de mémoires SRAM (cf chapitre 9) des tables de vérité de 2, 3 ou 4 variables. Un LUT-2 (table de

recherche à 2 entrées) peut donc implanter n’importe laquelle des 16 différentes fonctions logiques de 2

entrées. La Figure 16 montre l’implémentation d’une table de recherche pour une fonction à trois

entrées. La mémoire SRAM implante une table de vérité à trois entrées, où chaque cellule mémoire

contient la valeur de la fonction pour un des termes produit.

Les LUT sont utilisés dans les réseaux de portes programmables, (FPGA pour Field Programmable Gate

Arrays), qui sont la seconde grande classes de réseaux logiques programmables. Dans les FPGA, les

LUT sont interconnectés par des connexions programmables verticales et horizontales (cf chapitre 9).

A

B

CF(A,B,C)

A

B

CF(A,B,C)

A

B

CF(A,B,C)

A

B

CF(A,B,C)

Figure 16 : Implémentation d’un LUT-3

La synthèse avec LUT introduit différents critères d’optimisation. Alors qu’avec la logique

«anarchique», l’objectif est de minimiser le nombre de portes et le nombre d’entrées, dans la synthèse

avec LUT, l’objectif est de minimiser le nombre de LUT. Il faut souligner qu’avec des LUT-n (à n

entrées), toutes les fonctions logiques à n entrées sont équivalentes et s’implantent avec un seul LUT.

Notamment, les fonctions de type Ou exclusif, difficiles à implanter sous forme ET-OU ou sous forme

NAND-NAND sont strictement équivalentes à toutes les autres fonctions avec des LUT.

4.2.4 Multiplexeurs

Un multiplexeur est un opérateur logique à 2n entrées et une sortie contrôlé par n fils de commande.

L’entrée n° i est reliée à la sortie si la commande correspond à i codé sur n bits. Les schémas logiques

des multiplexeurs à 2 et 4 entrées sont montrés en Figure 17.

Les équations logiques des multiplexeurs 2 entrées et 4 entrées sont respectivement

0 1

0 1 0 1 1 0 2 1 0 3 1 0

. .

. . . . . . . .

s e c e c

s e c c e c c e c c e c c

= +

= + + +(F1)

s

e0

e1

c

e0e1

c1

e2e3

c0

ss

e0

e1

c

e0

e1

c

e0e1

c1

e2e3

c0

s

e0e1

c1

e2e3

c0

s

Figure 17 : Schémas logiques des multiplexeurs 2 et 4 entrées

Un multiplexeur 4 entrées peut être implanté directement à l’aide de portes ET-OU-INV ou NAND en

utilisant l’équation ci-dessus ou àvec des portes multiplexeurs 2 entrées comme indiqué en Figure 18.

Ceci peut bien évidemment être étendu à 8, 16… 2N entrées.

e0

e1

e2

e3

c0

c1

S

e0

e1

e0

e1

e2

e3

c0

c1

S

Page 19: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

17 Janvier 2004

Figure 18 : Multipleur 4 entrées à partir de mux 2 entrées

Un multiplexeur N entrées peut être utilisé comme un LUT-N. En utilisant les entrées de commande

comme entrées de la table de vérité, et les entrées du multiplexeur comme les valeurs de la fonction pour

chaque terme produit, on peut implanter n’importe quelle table de vérité. Par exemple, la Figure 19

montre l’implémentation de la fonction Ou exclusif avec un multiplexeur 4 entrées.

01

e1

10

e0

s

01

e1

10

e0

s

Figure 19 : Ou exclusif implanté avec un multiplexeur

On peut des fonctions logiques quelconques en utilisant des multiplexeurs et des portes logiques de base.

Par exemple, la fonction f(e2,e1,e0) = ∑m(3,5,6) peut être implémentée avec un multiplexeur 4 entrées et

un inverseur, comme le montre la Figure 20.

0

e2 e1

se0

0

e2 e1

se0

Figure 20 : Implémentation de f(e2,e1,e0) = ∑m(3,5,6)

4.3 LA LOGIQUE EN TRANCHES

Elle consiste à réaliser des opérateurs n bits à l'aide d'opérateurs 1 bit en définissant les règles

d'assemblage. Cette partie sera traitée avec les opérateurs arithmétiques..

Page 20: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

18 Janvier 2004

5 LES OPÉRATEURS ARITHMÉTIQUES

Les opérateurs arithmétiques sont fondamentaux pour de nombreuses applications. Associés aux opérateurs logiques, ils constituent l'unité arithmétique et logique (UAL) qui est le coeur de la partie calcul des unités centrales des ordinateurs. Qu'ils travaillent sur des nombres entiers (opérateurs entiers) ou sur des nombres en représentation flottante (opérateurs flottants), ils sont utilisés largement en traitement numérique, en traitement du signal, etc. La caractéristique essentielle des opérateurs arithmétiques 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 examinerons les techniques fondamentales de réalisation des additionneurs, puis des multiplieurs, pour nombres entiers et flottants.

5.1 LES ADDITIONNEURS

L'opération typique d'addition de deux nombres de n bits implique d'une part le traitement d'une tranche de 1 bit, et d'autre part le traitement des retenues.

5.1.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 18. Le schéma logique de l'additionneur correspondant, appelé additionneur 1 bit, est donné en Figure 21.

ri-1 ai bi ri Si

0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1

Table 18 : additionneur 1 bit

ai bi

Si

Additionneur

1 bit

ri-1ri

Figure 21 : Additionneur 1 bit

L'additionneur 1 bit peut être implanté avec des portes logiques, par exemple de type NAND. D'après la Table 18, on a les relations :

Si = ri-1.ai.bi +ri-1.ai.bi + ri-1.ai.bi + ri-1.ai.bi ri = ai.bi + ri-1.ai + ri-1.bi Un schéma d'implantation avec portes NAND est donné en Figure 22. Si le temps de propagation de la porte NAND est tp, les temps de retard sont respectivement 3 tp pour Si et 2 tp pour ri.

Page 21: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

19 Janvier 2004

ri-1

ai

bi

ri-1

ai

bi

Si ri

Figure 22 : Réalisation de l'additionneur 1 bit avec des portes NAND

Le schéma de la Figure 22 correspond à l'implémentation directe de la table de vérité de l'additionneur 1

bit. D'autres implémentations sont possibles, qui utilisent moins de portes, mais qui ont des temps de

retard supérieurs. Certaines implémentations tiennent compte de la manière de réaliser des portes

complexes en technologie MOS, notamment des portes Et-NOR, Ou-Et-NOR, etc. (7-3.2).

Par exemple, le complément de la retenue peut s’écrire

ir = ia ib + i−1r ia + i−1r ib

D'autre part, d'après la table IV-1, on constate que

Si = ir (ai+bi+ri-1) + aibiri-1

L'implémentation correspondante est donnée en Figure 23.

ai

ri-1

biri

ri

Si Si

Porte complexe

Porte complexe

Figure 23 : Implémentation de l'additionneur 1 bit avec portes complexes

L'additionneur 1 bit est la brique de base pour la constitution d'un additionneur n bits. Les différentes

réalisations diffèrent selon la manière de propager la retenue.

5.1.2 L'additionneur n bits à propagation simple de retenue.

L'additionneur n bits peut être réalisé par juxtaposition de n additionneurs 1 bit (Figure 21), avec

propagation simple de la retenue, comme le montre la Figure 24. Le temps de propagation de la retenue

est 2n tp pour n étages. La sortie Sn-1 est obtenue (2n + 1) tp après l'arrivée de la retenue d'entrée r-1.

Page 22: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

20 Janvier 2004

an-1bn-1 ai bi

a0 b0

r-1

rn-1

Sn-1 Si S0

r0

ri-1

ri

rn-2

Add

1 bit

Add

1 bit

Add

1 bit

Figure 24 : Additionneur à propagation de retenue

5.1.3 Les propagations rapides de retenue.

La propagation de retenue constituant le chemin critique pour obtenir la retenue de sortie et les sorties

de poids fort, des techniques permettant d'obtenir plus rapidement les retenues sont indispensables pour

réaliser des additionneurs rapides

5.1.3.1 Le mécanisme de retenue anticipée

D'après la Table 18, l'expression de ri en fonction de ri-1 peut être réécrite sous l'une des deux formes :

ri = ai.bi + ri-1 (ai+bi) (F2)

ri = ai.bi + ri-1 (ai ⊕ bi) (F3)

En posant Gi = ai.bi et Pi = ai+bi ou Pi = ai ⊕ bi où Gi et Pi sont respectivement les fonctions

génération et propagation de retenue, la retenue de sortie peut être réécrite sous la forme ri = Gi + ri-

1.Pi. Cette formule a une interprétation immédiate : il y a une retenue en sortie si l'étage d'additionneur

génère une retenue (Gi = 1) ou si l'étage propage la retenue d'entrée égale à 1 (ri-1.Pi = 1). La Table 19

donne les fonctions Gi et Pi en fonction des entrées ai et bi, et montre la relation entre Gi, Pi et ai ⊕ bi.

ai bi Gi Pi ai ⊕ bi Gi ⊕ Pi

0 0 0 0 0 0

0 1 0 1 1 1

1 0 0 1 1 1

1 1 1 1 0 0

Table 19

Dans le cas où Pi = ai + bi, on constate que ai ⊕ bi =

Gi .Pi = Gi ⊕ Pi. Les fonctions Gi et Pi, utilisées

pour calculer la retenue ri, peuvent également être utilisées pour calculer la somme Si

Si = ai ⊕ bi ⊕ ri-1 = Gi ⊕ Pi ⊕ ri-1 = G

i.Pi ⊕ ri-1

5.1.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

générées et propagées par chaque étage. Si l'on considère la retenue sortant d'un bloc de quatre bits,

constitués d'indice i à i+3, on obtient la formule suivante, qui exprime la condition pour que l'étage i+3

génère une retenue, ou que l'étage i+2 génère une retenue propagée 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 déterminer les fonctions génération et propagation pour un bloc de quatre étages, qui

traduisent les conditions pour que le bloc de quatre étages génère une retenue (c'est la fonction Gi+3,i)

ou propage une retenue présente à l'entrée 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 25.

Page 23: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

21 Janvier 2004

La limitation du nombre n d'étages pouvant constituer un bloc est lié au nombre maximal d'entrée

(encore appelé entrance) des portes utilisées. Pour une anticipation sur n bits, l'entrance maximale est n

+ 1.

Le mécanisme d'anticipation de retenue peut s'appliquer par blocs de bits.

La formule F4 peut se réécrire en utilisant les fonctions Gi+3,i et Pi+3 définies 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 (F 8)

ai+3 bi+3 ai+2 bi+2 ai+1 bi+1 ai bi

Pi+3 Pi+2 Pi+1 PiGi+3 Gi+2 Gi+1 Gi

Gi+3,i Pi+3,i

Circuit anticipateur

ri-1ri+3

Etage i

Etage i+1

Etage i+2

Etage i+3

Figure 25 : Circuit d'anticipation de retenue

Avec des portes NAND, 2 tp sont nécessaires pour obtenir les fonctions Gi et Pi, 2 tp sont nécessaires

pour obtenir les fonctions Gi+3,i et Pi+3,i et 2 tp sont nécessaires pour obtenir ri+15 en fonction des

Gi+3,i et Pi+3,i.

En généralisant, 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 nécessaire pour obtenir la retenue de

sortie varie de manière logarithmique avec le nombre de bits.

Les sorties Si sont obtenues en utilisant la formule Si =

Gi.Pi ⊕ ri-1

ce qui implique de générer l'ensemble des retenues ri-1, en utilisant des circuits d'anticipation ou de

propagation simple de retenue en fonction des contraintes temporelles.

5.1.3.3 La sélection de retenue

Pour une addition de deux nombres de n bits, l'additionneur à sélection de retenue (Figure 26) 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'entrée à 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

dès que la retenue sortante de l'additionneur des poids faibles est connue. Chacun des additionneurs sur

p ou q bits peut utiliser des mécanismes de propagation rapide de retenue.

Page 24: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

22 Janvier 2004

Additionneur p bits

Additionneur q bits

Ap-1,0B p-1,0

S p-1,0

AB

re0Additionneur q bits

AB

1 r n-1

Multiplexeur

S n-1,p

rp-1

rn-1

Mux

r n-1

S n-1,p S n-1,p

n-1,p n-1,p n-1,p n-1,p

Figure 26 : Principe de l'additionneur à sélection de retenue

5.2 UNITÉ ARITHMÉTIQUE ET LOGIQUE

L'unité arithmétique et logique (UAL) est un opérateur capable de fournir le résultat des opérations arithmétiques (addition, soustraction) et logiques élémentaires (et, ou, complément, ou exclusif, etc.)

5.2.1 La soustraction La réalisation de la soustraction dépend de la représentation utilisée pour les nombres négatifs. En représentation en complément à 2, on a

A - B = A +

B + 1

La soustraction peut donc être réalisée avec un additionneur normal, pour lequel on entre B au lieu de

B avec une retenue d'entrée re = 1. Le complément B est obtenu avec un ensemble de portes Ou exclusif

qui délivrent le complément bit à bit de l'entrée B selon la relation

Bi = Bi ⊕ 1.

Un bit de contrôle P / M égal à 0 (Plus) pour l'addition et 1 (Moins) pour la soustraction est suffisant pour contrôler l'additionneur/soustracteur.

Bi ou B

i = Bi ⊕ P / M

re = P / M .

5.2.2 Un exemple d'UAL Nous présentons un exemple d'UAL, inspirée du circuit 74181 du TTL Data Book. L'UAL travaille sur 4 bits. Les retenue d'entrée re, de sortie rs et les fonctions G3,0 et P3,0 sur 4 bits sont sous forme complémentée. L'entrée de commande M sert à distinguer les opérations logiques (M=0) des opérations arithmétiques (M=1). Les quatre entrées de commande f3 f2 f1 f0 codent 16 opérations distinctes. Son schéma fonctionnel (Figure 27) se décompose en deux parties : - Un générateur de fonctions Gi et Pi (sous forme complémentée)

- Un additionneur rapide avec calcul anticipé de retenue.

Page 25: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

23 Janvier 2004

f3 f2 f1 f0

a0

a1

b0

b1

a2b2

a3b3

Générateur de

Fonctions Gi et Pi

Additionneur à Retenue Anticipée

G0

G1

G2

G3

P0

P1

P2

P3

reM

S0

S1

S2

S3

rs

G3,0

P3,0

Figure 27 : Structure d'une UAL

5.2.2.1 Le générateur de fonctions Gi et Pi

Il est constitué de quatre tranches identiques avec deux entrées ai et bi, quatre commandes f3 f2 f1 f0 et

deux sorties

Gi et

Pi (Figure 28)

Les équations correspondant au circuit sont les suivantes

Gi = f3.ai.bi + f2.ai. b i

Pi = ai + f0.bi +f1. b i

La Table 20 donne les valeurs de Gi, Pi et de Pi. G i

ai

bi

f0

f1

f2

f3

Gi

Pi

Figure 28 : Générateur de G

i et Pi

5.2.2.2 L'additionneur rapide

Les sorties sont obtenues comme précédemment par l'une des formules suivantes :

Si = G

i.Pi ⊕ ri-1 ou Si = Gi ⊕ Pi ⊕ ri-1

En mode logique, ri = 1 ∀ i. La Table 20 donne les 16 fonctions logiques des entrées que l'on obtient

avec M = 0. En mode arithmétique, ri-1 est la retenue provenant de l'étage précédent. La Figure 29

donne les sorties Si

Page 26: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

24 Janvier 2004

Gi

PiSi

ri-1

Figure 29 : Sortie Si

Les fonctions ri, sous forme complémentées, sont les suivantes

r 0 = M(

P0 +

r e .G0 )

r1 = M.(

P1 +

P0 .G1 +

r e .G0G1 )

r 2 = M.(

P2 +

P1 G2 +

P0G1G2 +

r e .G0G1G2 )

r 3 = M.(

P3 +

P2 .G3 +

P1G2G3 +

P0G1G2G3 +

r e .G0G1G2G3 )

Les sorties r0, r1, r2 et r3 s'obtiennent par complémentation de

r 0 , r1 ,

r 2 et

r 3 , ce qui donne des

implantations sous forme de Et-NOR. La Figure 30 donne le schéma logique pour la retenue r0.

f3 f2 f1 f0 Gi Pi

Gi.Pi Si = Gi +

Pi

0 0 0 0 0 ai ai

ai

0 0 0 1 0 ai+bi ai+bi

ai+ b

i

0 0 1 0 0 ai+

bi ai+ b i

ai.bi

0 0 1 1 0 1 1 0

0 1 0 0 ai. b i ai ai.bi

a i.b

i

0 1 0 1 ai. b i ai+bi bi

b i

0 1 1 0 ai. b i ai+ b i

ai=bi ai ⊕ bi

0 1 1 1 ai. b i 1

a

i+bi ai. b i

1 0 0 0 ai.bi ai ai. b i

a

i +bi

1 0 0 1 ai.bi ai+bi ai ⊕ b ai=bi

1 0 1 0 ai.bi ai+ b i b i

bi

1 0 1 1 ai.bi 1 a

i+ b i

ai.bi

1 1 0 0 ai ai 0 1

1 1 0 1 ai ai+bi a

i.bi ai+ b i

1 1 1 0 ai ai+ b i

a

i. b i

ai+bi

1 1 1 1 ai 1 a

i ai

Table 20

r0

P0

G0

re

M

Figure 30 : Retenue r0

Nous examinons maintenant deux exemples d'opérations arithmétiques que l'on peut obtenir avec l'UAL

considérée.

4-3.5.1. Exemple 1 : f3 = 1 f2 = 1 f1 = 0 f0 = 0 M = 1

D'après la table IV-3, on a

Gi =

a i et

Pi = a i , soit

Gi.Pi = 0

Page 27: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

25 Janvier 2004

les différentes retenues sont alors

r 0 = M(

a 0 + r e . a 0 ) = M. a 0

r1 = M( a1 +

a 0 a1 + r e . a 0 a1 ) = M.

a1

r 2 = M( a 2 +

a1 a 2 + a 0 a1 a 2 + r e .

a 0 a1 a 2 ) = M.

a 2

r 3 = M( a 3 +

a 2 a 3 +

a1 a 2 a 3 + a 0 a1 a 2 a 3

+ r e . a 0 a1 a 2 a 3 ) = M.

a 3

Lorsque M = 1 alors ri = ai et Si =

Gi .Pi ⊕ ri-1 = ri-1

Soit Si = ai-1 La fonction obtenue est donc S = 2 A si re = 0 et S = 2 A + 1 si re = 1

4-3.5.2. Exemple 2 : f3 = 1 f2 = 0 f1 = 0 f0 = 1 M = 1

D'après la Table 20, on a Gi = ai bi et Pi = ai + bi

Les fonctions Gi et Pi sont les fonctions générations et propagation définies pour l'addition. L'opération

arithmétique est donc l'addition avec retenue

re,S = A + B + re

5.3 LES MULTIPLIEURS

5.3.1 Multiplieurs pour nombres entiers Nous présentons les schémas de principe de la multiplication réalisée à l’aide d’opérateurs

combinatoires, puis nous introduisons les techniques utilisées pour obtenir des multiplieurs rapides.

5.3.1.1 Le multiplieur combinatoire trivial

La Table 21 présente le schéma de principe de la multiplication de deux entiers non signés de 8 bits. Le

multiplicande est le nombre X et le multiplicateur le nombre Y. L’opération de multiplication fait

intervenir deux types d’opérations élémentaires : des produits de bits et des additions de sommes

partielles. Chaque produit XiYj est réalisé par une simple porte Et. Le produit du bit Yj du

multiplicateur par le multiplicande X donne une somme partielle constituée des bits X7Yj à X0Yj, de la

gauche vers la droite (des poids forts aux poids faibles). Il faut ensuite additionner ces sommes partielles

pour obtenir la somme finale.

X7 X6 X5 X4 X3 X2 X1 X0

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

X7Y0 X6Y0 X5Y0 X4Y0 X3Y0 X2Y0 X1Y0 X0Y0

X7Y1 X6Y1 X5Y1 X4Y1 X3Y1 X2Y1 X1Y1 X0Y1

X7Y2 X6Y2 X5Y2 X4Y2 X3Y2 X2Y2 X1Y2 X0Y2

X7Y3 X6Y3 X5Y3 X4Y3 X3Y3 X2Y3 X1Y3 X0Y3

X7Y4 X6Y4 X5Y4 X4Y4 X3Y4 X2Y4 X1Y4 X0Y4

X7Y5 X6Y5 X5Y5 X4Y5 X3Y5 X2Y5 X1Y5 X0Y5

X7Y6 X6Y6 X5Y6 X4Y6 X3Y6 X2Y6 X1Y6 X0Y6

X7Y7 X6Y7 X5Y7 X4Y7 X3Y7 X2Y7 X1Y7 X0Y7

S15 S14 S13 S12 S11 S10 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0

Table 21 : Multiplication de deux nombres non signés de huit bits.

La version la plus simple de multiplieur câblé pour réaliser l’opération de la Table 21 utilise un

additionneur 1 bit avec une porte Et sur l’une des deux entrées. La Figure 31 donne la représentation

symbolique utilisée dans la Figure 32 (partie a) et le schéma explicite (partie b).

Page 28: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

26 Janvier 2004

S

E

ReRsi-j Additionneur

1 bit

a) b)

YjXi

Figure 31 : Additionneur 1 bit utilisé dans le multiplieur combinatoire. a) représentation

symbolique ; b) schéma complet

La Figure 32 présente le multiplieur combinatoire utilisant l’additionneur 1 bit modifié présenté en

Figure 31. C’est la traduction directe du schéma de la multiplication de la Table 21. Le résultat de la

multiplication est obtenu après propagation de toutes les sommes et les retenues à travers tous les

additionneurs 1 bit. Si l’on appelle ts le temps de retard entre une entrée (ou la retenue d’entrée) et la

sortie de l’additionneur 1 bit et tr le temps de retard entre une entrée (ou la retenue d’entrée) et la

retenue de sortie de l’additionneur, on constate que l’on obtient la sortie S15 après un temps 14 tr + 5 ts

et S14 après un temps 13 tr + 6 ts. Le premier temps correspond au chemin horizontal depuis X1Y0

jusqu’à la retenue de sortie de l’additionneur noté 7-1, puis au chemin vertical jusqu’à la sortie de

l’additionneur noté 2-6, puis au chemin horizontal jusqu’à la retenue de sortie de l’additionneur 7-7.

Pour le second temps, il y a un temps ts en plus et un temps tr en moins. Pour un additionneur n bits x n

bits, ces temps sont respectivement (2n-2) tr + (n-3) ts et (2n-3) tr + (n-2) ts. Ce type de multiplieur

correspond pour les multiplieurs à l’additionneur à propagation simple de retenue pour les

additionneurs. Le temps de calcul est proportionnel à la taille des deux opérandes.

0

1-12-13-14-15-16-17-1

0-21-22-23-24-25-26-27-2

0-31-32-33-34-35-36-37-3

0-41-42-43-44-45-46-47-4

0-51-52-53-54-55-56-57-5

0-61-62-63-64-65-66-67-6

0-71-72-73-74-75-76-77-7

S0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15

0

0

0

0

0

0

0

X0Y0

0-1

X1Y0X2Y0X3Y0X4Y0X5Y0X6Y0X7Y0

Figure 32 : Multiplieur combinatoire 8 x 8 (version triviale)

Améliorer la vitesse d’un multiplieur combinatoire peut se faire en utilisant deux types de techniques.

La première technique consiste à diminuer le nombre de sommes partielles générées. La seconde

consiste à éviter au maximum la propagation de retenues.

5.3.1.2 Les algorithmes de Booth.

L’algorithme de Booth originel correspond à l’observation suivante.

Soit à multiplier un multiplicande X par un multiplicateur Y = 011111112, X et Y étant des entiers non

signés sur 8 bits. Dans ce cas particulier, Y = 12710. On peut remarquer que Y = 128 - 1. L’addition de

7 sommes partielles peut donc être remplacée par une seule soustraction de deux sommes partielles.

Cette méthode présente l’inconvénient suivant : le nombre d’additions ou soustractions à effectuer

dépend de la configuration des bits du multiplicateur.

Page 29: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

27 Janvier 2004

On peut utiliser l’observation précédente en conservant un temps de calcul constant en utilisant

l’algorithme de Booth modifié. Celui-ci examine deux bits du multiplicateur à la fois (et le bit de poids

immédiatement inférieur), et détermine la valeur correspondante de la somme partielle en fonction du

multiplicande. De cette manière, un multiplicateur de n bits ne génère que n/2 sommes partielles. Les

valeurs de la somme partielle en fonction des bits mi+1, mi et mi-1 du multiplicateur sont données par

la Table 22.

mi+1 mi mi-1 somme partielle Opération

0 0 0 0 + 0 (pas de chaîne)

0 0 1 X +X (fin de chaîne)

0 1 0 X + X

0 1 1 2X + 2X (fin de chaîne)

1 0 0 - 2X -2X (début de chaîne)

1 0 1 -X -X

1 1 0 -X -X (début de chaîne)

1 1 1 0 - 0 (milieu de chaîne)

Table 22 : Algorithme de Booth modifié.

5.3.1.3 Les arbres de Wallace.

Une multiplication de n bits par n bits produit n sommes partielles (sans utiliser l’algorithme de Booth

modifié), que nous appelons par la suite sommandes. Le principe des arbres de Wallace consiste à

réduire ces n sommandes en deux sommandes en utilisant des additionneurs à conservation de retenue

(CSA), puis à ajouter ces deux sommandes en utilisant un additionneur à propagation rapide de retenue

(additionneur à calcul de retenue anticipée, par exemple). La Figure 33 présente l’additionneur à

conservation de retenue. La partie a) montre qu’il s’agit d’un additionneur 1 bit classique, qui a trois

entrées et deux sorties : somme et retenue. La partie b) montre la manière dont il est utilisé dans le

multiplieur avec arbre de Wallace. Trois bits de rang i sont additionné dans une étape d’addition de

sommandes, et produisent pour l’étape suivante d’addition de sommandes un bit somme pour le rang i

et un bit retenue pour le rang i+1.

X X X

XX

(somme)(retenue)

Additionneur 1-bit

retenue somme

a) b)

Figure 33 : Additionneur à conservation de retenue. a) additionneur 1 bit utilisé ; b)

symbolisme utilisé pour l’arbre de Wallace

La Figure 34 montre la manière dont les additionneurs CSA sont utilisés pour passer de huit

sommandes aux deux sommandes finaux. La première étape d’addition permet de passer de huit

sommandes à six sommandes en un temps qui est la traversée d’un additionneur CSA. La seconde étape

permet de passer de six sommandes à quatre sommandes. La troisième étape permet de passer de quatre

à trois sommandes, et la quatrième de trois à deux. Pour n sommandes, le nombre d’étapes d’addition

est égal à log3/2 (n). Le terme 3/2 provient de l’additionneur CSA, qui à trois entrées fait

correspondre deux sorties. L’addition finale utilise un additionneur à propagation rapide de retenue,

comme l’additionneur à retenue anticipée. On peut remarquer que les premières étapes de réduction de

n sommandes à deux permettent d’obtenir un certain nombre de bits du résultat final, permettant de

réduire le nombre de bits sur lequel opère l’additionneur rapide final.

Page 30: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

28 Janvier 2004

X X X X X X X X

X X X X X X X X

X X X X X X X X

X X X X X X X XX X X X X X X X

X X X X X X X XX X X X X X X X

X X X X X X X XX X X X X X X X

X X X X X X X X

X X X X X X X X X X XX X X X X X X X X X XX X X X X X X X X X X

X X X X X X X X X X XX X X X X

X

1ère étape d'addition

2ème étape d'addition

X X X X X X X X X X X X X X XX X X X X X X X X X X

X X X X X X X

X X X X

3ème étape d'addition

X X X X X X X X X X X X X X X

X X X X X X X X X X X X X X X

4ème étape d'addition

Addition finale X X X X X X X X X X X X X X XX X X X X X X X X X

X X X X X X X X X X X X X X X XProduit

Figure 34 : Multiplication non signée 8 bits x 8 bits par la méthode de Wallace

5.3.1.4 Traitement des nombres signés

Les multiplieurs pour nombres signés tiennent compte de la représentation utilisée pour les nombres

négatifs. Pour la multiplication 8 x 8 de deux nombres X et Y en représentation complément à deux, les

deux nombres X et Y sont respectivement

X = -27 X7 +

iXi= 0

i= 6

∑i

2

Y = -27 Y7 +

jYj= 0

j= 6

∑j

2

Le produit est alors X.Y = 214 X7.Y7 -27X7

jYj= 0

j= 6

∑j

2 - 27Y7

iXi= 0

i= 6

∑i

2 +

iXi= 0

i= 6

∑i

2

jYj= 0

j= 6

∑j

2

Le dernier produit correspond à une multiplication non signée sur les six bits de poids faible de X et Y.

Les trois premiers termes prennent en compte les caractéristiques de la représentation en complément à

deux. De légères modifications apportées au multiplieur pour entiers non signés permettent donc de

traiter les nombres en complément à deux.

5.3.2 Multiplieurs pour nombres en représentation flottante

5.3.2.1 La représentation flottante

Page 31: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

29 Janvier 2004

En représentation flottante, un nombre est caractérisé par son signe, sa mantisse et son exposant qui est

associé à une base : +/- m.2e. La base utilisée est 2. Dans la norme IEEE qui est la plus utilisée

maintenant, la mantisse, exprimée en signe et valeur absolue, est 1,f où 1 est implicite et f est la partie

fractionnaire, correspondant aux puissances successives de 2-i. L’exposant est exprimé en code excès N.

La Figure 35 montre la représentation flottante double précision, sur 64 bits, qui est la plus couramment

utilisée. La partie exposant donne sur 11 bits la valeur de l’exposant en code excès 1023. La partie

fractionnaire a 52 bits. Le bit 63 donne le signe de la partie fractionnaire. Le nombre flottant double

précision correspond à

(-1)signe x (1,f1f2...f52) x 2 (E-1023)

051

partie fractionnaire

63 5262

exposant

S f1 f52E

signe

Figure 35 : Format flottant double précision.

La norme flottante IEEE permet de représenter les nombres normalisés (bits de E différents de tous à 0

ou tous à 1), les nombres dénormalisés (E tous à 0 et partie fractionnaire non nulle), la valeur zéro (E

tous à 0 et partie fractionnaire nulle), l’infini (E tous à 1 et partie fractionnaire nulle) et des caractères

spéciaux (Not a number lorsque les bits de E sont tous à 1 et la partie fractionnaire est différente de 0).

La représentation simple précision sur 32 bits a 1 bit de signe, 8 bits de partie exposant et 23 bits pour la

partie fractionnaire.

5.3.2.2 Multiplication flottante.

Les opérations flottantes impliquent un traitement simultané des mantisses (c’est à dire des parties

fractionnaires) et des exposants.

Soit m = (-1)signe x (1,f1f2...f52) la mantisse signée et e = (E-1023) l’exposant. Soit deux nombres

flottants N1 = m1 x 2 e1 et N2 = m2 x 2 e2.

La multiplication N1 x N2 est donnée par m1 x m2 x 2e1+e

2. Il y a multiplication des mantisses, ce qui

correspond à une multiplication entière, où l’on arrondit pour obtenir un résultat correspondant au

nombre de bits de la partie fractionnaire. Compte tenu du codage en excès 1023, l’addition des

exposants correspond à l’opération E1 + E2 -1023.

La multiplication des mantisses utilise un multiplieur pour nombres entiers, travaillant sur n = 52 bits

(double précision) ou n = 23 bits (simple précision).

5.3.3 Opérateurs pour autres opérations.

La division est une opération plus complexe, qui ne peut être implantée par un opérateur combinatoire

simple. Les divisions sont implantées avec des opérateurs séquentiels, qui opèrent en plusieurs cycles

d’horloge, comme ceux présentés dans le paragraphe 6 (compteurs et automates) de ce chapitre. Le

lecteur intéressé trouver dans l’annexe A de [1] une description détaillée des algorithmes de division les

plus couramment utilisés dans les diviseurs câblés (notamment l’algorithme SRT).

Page 32: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

30 Janvier 2004

6 BASCULES

Les bascules sont les opérateurs élémentaires de mémorisation. Leur état présent, déterminé par l'état des sorties, est fonction des entrées et de l'état précédent des sorties. Nous présentons les différentes bascules réalisées à partir de portes logiques. Ces bascules, qui opèrent uniquement selon des principes logiques, sont appelées statiques.

6.1 BISTABLE

E S1 S2

Figure 36 : Inverseurs en série

Le circuit présenté en Figure 36 est constitué de 2 inverseurs en série. La Figure 37 donne les caractéristiques statiques S1(E) et S2(E) des sorties S1 et S2 des inverseurs réalisés avec des circuits

électriques réels. Lorsqu'on reboucle la sortie S2 sur l'entrée E1 du premier inverseur, on obtient 3 points de fonctionnement qui correspondent aux intersections de la courbe S2(E) et de la première bissectrice (S2 = E). - 2 états stables qui correspondent aux états haut et bas - 1 état instable, qui constitue la frontière entre l'état haut et l'état bas. Les 2 états stables sont représentés Figure 38. L'élément obtenu est le bistable, représenté d'une autre manière en Figure 39. Étant dans un état parmi les deux possibles, il mémorise 1 bit. il n'y a aucun moyen de contrôler l'état du bistable. Il reste dans un état donné, et il n'y a aucun moyen de le positionner dans l'autre état.

S1S2

E

Figure 37 : Caractéristique physique d'inverseurs en série.

0 11 0 1 0

Figure 38 : États stables du bistable

Q

Q

Figure 39 : Représentation traditionnelle du bistable.

6.2 BASCULE RS

Page 33: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

31 Janvier 2004

La bascule RS ajoute à la capacité de mémorisation du bistable la possibilité de le fixer dans un état

donné, par l'opération d'écriture. il y a deux types de bascule RS, selon la porte élémentaire utilisée :

NAND ou NOR

6.2.1 Bascule RS NAND

Soit le circuit de la Figure 40 constitué de 2 NAND dont chaque sortie est rebouclée sur une entrée de

l'autre NAND et qui a 2 entrées R et S.

Q

Q

S

R

Figure 40 : Bascule RS NAND

Le fonctionnement d'une porte NAND est résumée par les expressions NAND(x,y) = x si y = 1 et

NAND(x,y) = 1 si y = 0

Le fonctionnement de la bascule RS peut donc être exprimé de la manière suivante :

6.2.1.1 Cas R=S=1

NAND (S,

Q ) = Q et NAND (R, Q) = Q : la bascule RS est équivalente au bistable de la Figure 39.

C'est l'état mémoire.

6.2.1.2 Cas S = 0 et R = 1.

La Figure 41 décrit les différentes étapes de l'écriture d'un 1 dans la bascule RS.

a) NAND (0, Q ) = 1 écrit un 1 sur la sortie Q

b) NAND (1, 1) = 0 écrit un 0 sur la sortie Q

c) Le 0 de la sortie Q vient confirmer le 0 de l'entrée S et verrouille la sortie Q dans l'état 1. L'entrée S

= 0 n'est plus nécessaire. Le temps minimum à l'état bas de l'entrée S est donc de 2 tp, où tp est le temps

de propagation dans la porte NAND.

d) Compte tenu du verrouillage effectué dans la phase précédente, l'entrée S peut repasser à 1 et la

bascule repasse dans l'état mémoire.

6.2.1.3 Cas S = 1 et R = 0

Ce cas, symétrique du précédent, force Q = 0 et Q = 1

6.2.1.4 Cas S = 0 et R = 0

C'est un cas interdit car Q = Q = 1 et les 2 sorties ne sont plus complémentaires.

La bascule RS (Reset et Set) a donc 2 modes de fonctionnement : un état mémoire lorsque R = S = 1 et

un état écriture lorsque R =

S . On a alors Q = R = S . La bascule RS ne distingue pas les entrées d'état

et les commandes. Chacune des entrées est à la fois une entrée d'état et de commande : lorsque

(commande) S est à 0 (état), la sortie Q passe à 1. Ceci peut être un inconvénient dans un système

synchrone, où il est important de distinguer les signaux d'état des signaux de commande.

a)

0

1

1 0

1

b)

1

0

1

1

0

1

d)

1

0

1

1

0

0

c)

1

Figure 41 : Écriture d'un 1 dans une bascule RS NAND

6.2.2 Bascule RS NOR (Figure 42)

Page 34: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

32 Janvier 2004

Q

QS

R

Figure 42 : Bascule RS NOR

C'est la bascule duale de la bascule RS NAND. Elle a deux modes de fonctionnement : un état mémoire

lorsque R = S = 0 et un état écriture lorsque

R = S. On a alors Q = S = R. L'état R = S = 1 est interdit.

6.3 BASCULE LATCH

La bascule latch distingue une entrée d'état (D) et une entrée de commande (C). Sa représentation

symbolique est donnée en Figure 43.

D

C

Q

Q(Etat)

(commande)

Bascule latch

Figure 43 : Bascule latch

La Figure 44 donne un schéma possible de bascule latch de type NAND.

Q

Q

S

RC

D

Figure 44 : Bascule latch NAND

Lorsque C = 0, on a S = R = 1 et la bascule RS est dans l'état mémoire (Figure 45)

Q

Q

S

RC=0

D 1

1

0

0

Figure 45 : Bascule latch en état mémoire

Lorsque C = 1, on a R =

S = D, ce qui correspond à l'état écriture de la bascule RS et Q = D (Figure

46).

L'écriture d'un 1 correspond à S = 0. L'écriture d'un 0 correspond à R = 0. Dans les 2 cas, la redescente

de l'horloge C de 1 --> 0 provoque la remontée de S (resp. R) de 0 --> 1, ce qui est inefficace sur la

bascule RS de sortie à cause de la phase de verrouillage.

De la même manière, on définit la bascule latch NOR qui est dans l'état mémoire lorsque C = 1 et dans

l'état écriture lorsque C = 0.

Page 35: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

33 Janvier 2004

Les bascules latch sont dites transparentes parce qu'il y a une liaison directe Q = D (à travers 2

inverseurs) lors de l'écriture. Toute variation de l'entrée est transmise directement à la sortie.

Q

Q

S

RC=1

D D

D

1

1

Figure 46 : Bascule latch en état écriture

6.4 REGISTRES.

On appelle registre un ensemble de bascules avec une même commande d'horloge (Figure 47).

Dn-1Di D0

C

Qn-1 Qi Q0

..................

Figure 47 : Registre

Les registres ont la propriété des bascules qui les composent : un registre constitué de bascules latch sera

un registre transparent.

La transparence des registres et des bascules interdit un certain nombre d'utilisations que nous

examinons maintenant.

6.4.1 Transparence et registre à décalage

Un registre à décalage est constitué de bascules telles que la sortie de l'une est reliée à l'entrée de la

bascule suivante. La Figure 48 donne un exemple d'un tel registre.

D0D1 D2

C

Q0 Q1 Q2

Figure 48 : Exemple de registre à décalage

D'après la définition de la bascule latch NAND, on a Qi = Di lorsque C = 1 et d'après les connexions, on

a Di = Qi-1. Lorsque C = 1, on a donc Qi = Qi-1 pour tout i. il y a décalage d'un bout à l'autre de la

chaîne de bascules de la valeur D0. il n'est donc pas possible de décaler chaque bit d'une position vers la

droite à chaque coup d'horloge.

6.4.2 Connexion d'une sortie sur une entrée

La Figure 49 illustre le cas où l'on relie une sortie d'une bascule sur l'entrée de la même bascule.

Page 36: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

34 Janvier 2004

D

C

Q

Q

Bascule latch

Figure 49 : Liaison

Q à D sur une bascule latch

D'après la connexion, on a D = Q , et lorsque C = 1 (latch NAND), on a Q = D, ce qui conduit à Q =

Q . Cette situation anormale conduit soit à des oscillations, soit à des problèmes autour du point

d'équilibre instable de la Figure 37. Le rebouclage des sorties d'un registre vers les entrées d'un même

registre à travers des étages de logique combinatoire est une configuration inévitable. Un exemple

typique est l'opération d'incrémentation du compteur de programme (CP) d'un processeur : CP := CP +

n. Des bascules non transparentes sont donc indispensables.

6.5 BASCULE D

La bascule D est une bascule non transparente (ou opaque) qui permet de recopier l'état de l'entrée D

vers la sortie Q sans qu'il y ait jamais de liaison directe entre entrée et sortie. La représentation

symbolique est donnée par la Figure 50. L'opacité peut être réalisée de différentes manières.

D

C

Q

Q(Etat)

(commande)

Bascule D

Figure 50 : Bascule D

6.5.1 Les bascules D maître esclave.

Elles fonctionnent selon le principe des écluses (Figure 51). On utilise 2 bascules transparentes, dont

l'une est en état mémoire pendant que l'autre est en état écriture et réciproquement. De cette manière, il

n'y a jamais de liaison directe entre entrée et sortie.

D

C1

QmBascule latch

C2

QsBascule latch

Figure 51 : Principe du maître esclave

Si les 2 signaux d'horloge C1 et C2 sont sans recouvrement, c'est à dire tels qu'ils suivent la séquence

suivante : C1C2 = 00 puis 10 puis 00 puis 01 puis 00 puis ..., alors il y a fonctionnement correct. Il y a

d'abord recopie de l'entrée D dans Qm lorsque C1 = 1, puis recopie du maître dans l'esclave lorsque C2

= 1

Page 37: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

35 Janvier 2004

Si l'on veut utiliser une seule horloge C avec son complément

C , il y a problème à cause de l'aléa lié au

retard introduit par l'inverseur, comme le montre la Figure 52.

C

C

C = CC = C

Figure 52 : Recouvrement C- C des commandes de bascule.

Si on utilise les signaux avec recouvrement, comme ceux de la Figure 52, pour commander le maître et

l'esclave, il y a obligatoirement le cas où les 2 latchs sont transparents simultanément et le cas où les 2

sont en état mémoire simultanément. Ce problème peut être résolu en utilisant un maître NAND et un

esclave NOR, ce qui compte tenu de la dualité des bascules latch NAND et NOR supprime la nécessité

de complémenter C. La bascule D maître esclave correspondante est présentée en Figure 53.

Qm

C

Qs

Qs

D

Qm

Figure 53 : Bascule D maître esclave NAND NOR

Pour avoir un fonctionnement correct même en cas de dispersion des niveaux de seuil des portes, il faut

que le niveau de seuil du maître (frontière entre 0 et 1) soit supérieur au niveau de seuil de l'esclave,

comme le montre la Figure 54. Dans ce cas de figure, la bascule maître esclave fonctionne correctement,

quelle que soit la fréquence d'horloge C.

seuil esclave

seuil maitre

maitre et esclave opaques

maitre transparent

esclave opaque

maitre et esclave opaques

maitre opaque

esclave transparentesclave transparent

Figure 54 : Seuils du maître et de l'esclave

6.5.2 Les bascules D à commande par flanc (edge triggered)

Elles fonctionnent sur la transition montante (ou descendante) du signal d'horloge (Figure 55). Le signal

D doit être positionné un certain temps (appelé temps d'établissement ou set up time tsu) avant la

transition du signal de commande C, et rester positionné un certain temps (appelé temps de maintien ou

hold time th) après la transition du signal de commande. C'est la valeur de D qui est fixe lors de la

transition du signal de commande C qui est recopiée à la sortie. Hors de la période déterminé par tsu +

th, l'état de D est indifférent et peut varier.

Page 38: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

36 Janvier 2004

temps établissement

temps maintien

D est fixe D quelconqueD quelconque

C

Figure 55 : Fonctionnement de la bascule D à commande par flanc

La bascule D à commande par flanc est réalisée avec 6 portes NAND ou 6 portes NOR selon le schéma

Figure 56.

D

Q

Q

C

Figure 56 : Bascule D à 6 portes NAND

Lorsque C = 0, la bascule RS de sortie est en état mémoire. La Figure 57 (gauche) illustre l'écriture d'un

0, et la Figure 57 (droite) montre le verrouillage des sorties après l'écriture du 0, lorsque D varie alors

que C est toujours à l'état 1. La Figure 57 (gauche) illustre l'écriture d'un 1, et la Figure 58 (droite)

montre le verrouillage des sorties après l'écriture du 1, lorsque D varie alors que C est toujours à l'état 1.

D=0

Q = 0

Q=1

C=1

1

1

1

1

1

0

1

1

0

D varie

Q = 0

Q=1

C=1

11

1

1

10

1

1

0

Verrouillage

Figure 57 : Écriture d'un 0 Verrouillage lorsque C = 1

Page 39: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

37 Janvier 2004

C=1

D=1

Q=1

Q=0

0

1

0

0

0

1

1

0

1

D varie

Q=1

Q=0

C=1

1

0

0

0

11

0

1

D varie

D

Figure 58 : Écriture d'un 1 Verrouillage lorsque C=1 après écriture d'un 1

La bascule D à 6 portes NOR a un fonctionnement dual de celle à 6 portes NAND. L'écriture se fait lors

de la transition descendante de l'horloge.

6.5.3 Bascules D et opacité

Nous avons vu en 5-4-2 et 5-4-3 que les registres à décalage et la liaison d’une sortie sur une entrée de

la bascule D ne sont pas possibles avec les bascules latch. Nous montrons maintenant que les bascules D

résolvent le problème. La seule hypothèse est celle illustrée en Figure 55, c’est à dire que l’entrée D est

fixe un temps tsu avant la transition d’horloge, et jusqu’à un temps th après la transition d’horloge. La

Figure 59 donne le schéma d’un registre à décalage 2 bits, avec l’état initial suivant : D0 = 1, Q0 = 0 et

Q1 = 0. Lors de la première transition 0-1 de C, D0 = 1 est recopié en Q0, qui passe à 1 avec un retard

tpd. Comme tpd est supérieur à th (ce qui est toujours le cas dans la pratique), le passage de D1 (=Q0) à

1 intervient trop tard pour être pris en compte par la première transition de C. C’est cette situation qui

assure l’opacité. Ce n’est que sur la transition suivante de C de 0 à 1 que D1 = 1 sera recopié à la sortie

Q1, avec un temps de retard tpd par rapport à cette transition. Le registre à décalage fonctionne

correctement.

D0=1

C

Q0

Bascule D

C

Q1

Bascule D

D1

C

Q0 = D1

tpd

tpd

Tctsu

tsu

Q1

th th

Figure 59 : Registre à décalage 2 bits et diagramme temporel des signaux associés.

Le diagramme temporel de la Figure 59 permet de déterminer la condition de fonctionnement du

registre à décalage. Le signal D1 devant être stable un temps tsu avant la deuxième transition 0-1 de

l’horloge, la condition s’écrit :

Page 40: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

38 Janvier 2004

tpd bascule + tsu ≤ Tc où tp bascule est le temps de retard entre la transition d’horloge et la transition à

la sortie de la bascule, tsu est le temps d’établissement et Tc est la période d’horloge. La fréquence

maximale de fonctionnement est

maxF =1

c minT=

1

pd( bascule )t + sut.

Le rebouclage de la sortie

Q d’une bascule D sur l’entrée D (Figure 60) n’est qu’un cas particulier du

registre à décalage. Le circuit correspondant est appelé compteur par deux, car il a deux états et change

d’état à chaque transition 0-1 de l’horloge.

D

Q

QBascule D

C

Figure 60 : Compteur par deux

En fait, le registre à décalage ou le compteur par deux n’est qu’un cas particulier des opérateurs

synchrones. Le cas général est illustré par la Figure 61. Entre la sortie d’une bascule D et l’entrée de la

bascule suivante, on trouve des opérateurs combinatoires. La condition de fonctionnement correct est

alors tpd (bascule) + tpd (combinatoire) + tsu ≤ Tc. La fréquence maximale de fonctionnement du

système est alors

maxF =1

cminT=

1

pd(bascule)t +supd ( combinatoire)t + t

D0

C

Q0

Bascule D

C

Q1

Bascule D

D1Logique combinatoire

tpdcombtpdbasc

tsu

Tc

Figure 61 : Structure typique de la logique synchrone

6.5.4 Utilisation de la bascule D

Du fonctionnement de la bascule D se déduit aisément la manière de l'utiliser. La sortie Q de la bascule

représente son état présent. Lors de la prochaine transition d'horloge, l'entrée D sera recopiée sur la

sortie Q. L'entrée D représente donc l'état futur de la bascule D. Alors que la sortie représente l'état

présent, l'entrée représente l'état futur (Figure 62)

Page 41: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

39 Janvier 2004

D

C

Q

ETAT FUTUR

Bascule DETAT PRESENT

Figure 62 : Utilisation de la bascule D

Cette propriété sera utilisée pour la réalisation des compteurs et des automates.

6.6 BASCULES DÉRIVÉES DE LA BASCULE D

Un certain nombre de variantes de la bascule D ont été introduites, comme les bascules T et JK.

6.6.1 Bascule T Le schéma fonctionnel de la bascule T est donné en Figure 63.

T

C

Q

Q(Etat)

(commande)

Bascule T

Figure 63 : Bascule T

La bascule T change d'état si T =1 et ne change pas d’état si T = 0. La Table 23 résume son fonctionnement. Elle peut être réalisée à partir d’une bascule D de deux manières différentes.

T Qprésent Qfutur

0 0 0 0 1 1 1 0 1 1 1 0

Table 23 : Fonctionnement de la bascule T.

La Table 24 montre l’entrée T de la bascule T pour obtenir les différentes transitions entre l’état présent et l’état futur.

Qprésent Qfutur T

0 0 0 0 1 1 1 0 1 1 1 0

Table 24 : Utilisation de la bascule T

6.6.1.1 Bascule T asynchrone

La partie gauche de la Figure 64 présente la version asynchrone : la bascule D, montée en compteur par 2, change d’état sur chaque coup d’horloge. La porte Et ne laisse passer l’horloge de la bascule T que si T=1. La bascule T ne peut donc changer d’état que si T = 1. Lorsque T = 0, la bascule D ne voit pas la transition d’horloge. Cette méthode présente l'inconvénient d'utiliser des portes logiques pour traiter des signaux de commande. Toutes les bascules d’un montage ne recevront pas les signaux de commande au même moment : des aléas temporels importants peuvent en résulter.

6.6.1.2 Bascule T synchrone

Page 42: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

40 Janvier 2004

La partie droite de la Figure 64 présente la version synchrone. La Table 23 donne l’état futur de la

bascule (qui est l'entrée D de la bascule D utilisée) en fonction de l’entrée T et de la sortie présente (qui

est la sortie Q de la bascule D). D’après la Table 23, on constate que D = T ⊕ Q.

Les deux réalisations montrent que la bascule T est réalisée à partir d’une bascule D.

C (bascule D)

Q

Q

Bascule D

C

T

Q

Q

Bascule D

C

T

Figure 64: Bascule T asynchrone Bascule T synchrone

6.6.1.3 Bascule JK

La Figure 65 donne le schéma fonctionnel de la bascule JK. Son fonctionnement est résumé par la

Table 25.

C

Q

QBascule JK

J

K

Figure 65 : Bascule JK

J K Qprésent Qfutur

0 0 Qp Qp

0 1 Qp 0

1 0 Qp 1

1 1 Qp

Qp

Table 25 : Fonctionnement de la bascule JK.

Lorsque J=K, la bascule JK fonctionne comme une bascule T. Par contre, lorsque J≠K, la sortie est

positionné dans un état donné : Q = J. La bascule JK est donc une bascule T initialisable.

La Table 26 montre les entrées J et K à appliquer sur les entrées d’une bascule JK pour que obtenir les

différentes transitions entre l’état présent et l’état futur. Ø représente l’état indifférent

Qprésent Qfutur J K

0 0 0 Ø

0 1 1 Ø

1 0 Ø 1

1 1 Ø 0

Table 26 : Utilisation de la bascule JK.

Page 43: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

41 Janvier 2004

7 COMPTEURS ET AUTOMATES SYNCHRONES

Nous examinons maintenant la manière de réaliser des opérateurs séquentiels, dont les sorties à un

instant donné sont fonction des entrées et de l'état précédent des sorties. Ces opérateurs séquentiels sont

constitués des bascules présentées (D, T ou JK) et de portes logiques.

Nous traitons successivement les compteurs, qui sont un cas particulier d'automates sans entrées, puis le

cas général des automates, que nous illustrons avec l'exemple d'un contrôleur de feux pour carrefour.

Nous considérons uniquement les automates synchrones, pour lesquels toutes les bascules sont

commandées par le même signal d'horloge. Ceux-ci sont les plus largement utilisés car la condition de

fonctionnement se ramène à satisfaire l'inégalité fondamentale qui caractérise la logique synchrone (5-

5.3).

7.1 LES COMPTEURS

Les compteurs sont des opérateurs séquentiels qui comportent N états et qui passent d'un état i à l'état

i+1 (modulo N) à chaque coup d'horloge.

7.1.1 Exemple : le compteur par 4

Ce compteur a 4 états, notés 0, 1, 2 et 3. Son graphe des états est donné en Figure 66. Ces états doivent

être codés avec deux chiffres binaires x et y. Il y a 12 manières différentes de coder 4 états (3 sont

fondamentales et les autres s'en déduisent par permutation sur les x et les y). Sur les 3 codes

fondamentaux, seuls le code naturel et le code de Gray, pour lequel seul 1 bit change à la fois, sont

intéressants.

La table VI-1 donne les trois codes fondamentaux

7.1.1.1 Implantation avec des bascules D.

Le compteur est implanté avec des bascules D, dont la fonctionnalité est rappelée en Figure 67. La sortie

d’une bascule D représente l'état présent. Sur le prochain coup d'horloge, la valeur de l'entrée D sera

recopiée à la sortie. D représente donc l'état futur de la bascule. Pour implanter le compteur, il faut donc

écrire la table donnant l'état présent (sorties Q des bascules) et l'état futur (entrées D des bascules) et

réaliser la synthèse combinatoire des entrées D en fonction des sorties Q.

La Table 27 donne la table de transition du compteur par 4 en utilisant le code naturel. Les entrées D1

et D0 des bascules D sont respectivement

D1 = Q1 ⊕ Q0

D0 =

Q0

Le schéma correspondant du compteur par 4 est donné en Figure 68.

0

1

2

31

Figure 66 : Graphes des états

N Naturel Gray 3ème codage

i y x y x y x

0 0 0 0 0 0 0

1 0 1 0 1 1 1

2 1 0 1 1 0 1

3 1 1 1 0 1 0

Table 27 : Codage des états

Page 44: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

42 Janvier 2004

Bascule D

D Q

C

EtatEtat

Futur

Figure 67 : Bascule D

État présent État futur Q1 Q0 D1 D0

0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0

Table 28 : compteur par 4 (code naturel)

La Table 28 donne la table de transition du compteur par 4 en utilisant le code de Gray. Les entrées D1 et D0 des bascules D sont alors D1 = Q0

D0 =

Q1

Le schéma correspondant du compteur par 4 est donné en Figure 69.

Q0

Q0

D1

Q1

Q1Bascule D Bascule D

CC

Figure 68 : Compteur par 4 (code naturel)

État présent État futur

Q1 Q0 D1 D0

0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 0

Table 29 : table de transitions

Page 45: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

43 Janvier 2004

Bascule D Bascule D

C

D0Q0 D1 Q1

Q1

Figure 69 : Compteur par 4 ( Code de Gray )

Les deux implantations précédentes correspondent à l’approche synchrone, dans laquelle toutes les bascules reçoivent le même signal d’horloge. Il est également possible de définir un compteur par 4 asynchrone, qui est présenté en Figure 70. Il utilise deux bascules D montées en compteur par 2 : chaque sortie Q est reliée à l’entrée D correspondante, et chaque bascule change d’état lorsque l’entrée d’horloge est activée (transition de 0 à 1). La bascule pour le bit 0 change d’état à chaque transition 0 à

1 de l’horloge C. La bascule pour le bit 1 change d’état à chaque transition 0 à 1 de la sortie

0Q , c’est à

dire à chaque transition 1 à 0 de Q0. D’après la Table 29, la sortie Q1 change effectivement d’état à chaque fois que la sortie Q0 passe de 1 à 0. La réalisation asynchrone des compteurs présente l’inconvénient suivant : comme les sorties des bascules ne changent pas d’état en même temps, sur la transition 0-1 de l’horloge, mais successivement, les aléas (cf. 3.1) qui résultent d’opérations logiques sur les sorties de bascules asynchrones sont de durée variable et peuvent avoir une largeur significative alors qu’ils sont courts et de durée constante avec l’approche synchrone. L’approche asynchrone, populaire il y a une trentaine d’année, est très peu utilisée maintenant. C’est la raison pour laquelle nous ne traiterons dans la suite du chapitre que les compteurs et automates synchrones, pour lesquels toutes les bascules reçoivent la même commande d’horloge.

Q0

Q0

D1

Q1

Q1Bascule D Bascule D

C

Figure 70 : Compteur par 4 asynchrone.

Le compteur par 4 synchrone peut également être implanté avec des bascules T ou des bascules JK. On utilise alors la Table 24 et la Table 26 qui donnent les entrées Ti ou Ji et Ki à appliquer sur les entrées des bascules utilisées. La Table 30 donne les entrées correspondant aux bascules T et la Table 31 celles correspondant aux bascules JK. Dans les deux cas, on utilise le code binaire naturel.

État présent État futur Q1 Q0 Q1 Q0 T1 T0

0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1

Table 30 : Compteur par 4 avec des bascules T

Page 46: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

44 Janvier 2004

De la Table 30, on déduit T0 = 1 et T1 = Q0

État présent État futur Q1 Q0 Q1 Q0 J1 K1 J0 K0

0 0 0 1 0 Ø 1 Ø 0 1 1 1 1 Ø Ø 1 1 1 1 0 Ø 0 1 Ø 1 0 0 0 Ø 1 Ø 1

Table 31 :Compteur par 4 avec des bascules JK

De la Table 31, on déduit J0 = K0 = 1 et J1 = K1 = Q0

7.1.2 Compteur avec RAZ En ajoutant des entrées de contrôle, on transforme les compteurs (automates sans entrées) en véritables automates. A titre d’exemple, nous ajoutons au compteur par 4 une rentrée RAZ pour Remise à Zéro. La variable booléenne RAZ est à 1 pour une remise à zéro du compteur et à 0 lors du fonctionnement normal du compteur. Le graphe des états du compteur avec RAZ est présenté en Figure 71.

.

0

1

2

31

RAZ

RAZ

RAZ RAZ

RAZ

RAZ + RAZ

Figure 71 : Graphe des états d’un compteur par 4 avec RAZ.

La Table 32donne les entrées D1 et D0 des bascules D en fonction des sorties Q1 et Q0 et de l’entrée RAZ de l’automate obtenu.

RAZ Q1 Q0 D1 D0

0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0

Table 32 : Compteur par 4 avec RAZ

D0 = RAZ.Q

0

D1 =

RAZ . (Q1 ⊕ Q0)

7.2 LES AUTOMATES

7.2.1 Définition On appelle automate un opérateur séquentiel dont l'état et les sorties futurs sont fonction des entrées et de l'état présent de l'automate (Figure 72). Un automate utilise des bascules non transparentes pour mémoriser l'état présent et des opérateurs combinatoires pour générer les sorties et l'état futur. L'utilisation de bascules non transparentes est nécessaire à cause du rebouclage des sorties des bascules sur les entrées à travers des circuits combinatoires.

Page 47: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

45 Janvier 2004

Entrées

C

Sorties

Automate

Figure 72 : Automate synchrone

Les automates sont dits synchrones lorsque le passage d'un état (état présent) à l'état suivant (état futur)

a lieu sur une transition d'un signal appelé horloge commun à toutes les bascules de l'automate.

Il y a 2 types d'automates :

- Automate de Moore (Figure 73) : l’état futur est fonction de l’état présent et des entrées. Les sorties

sont fonction de l’état présent.

- Automate de Mealy (Figure 74) : l’état futur est fonction de l’état présent et des entrées. Les sorties

sont fonction de l’état présent et des entrées.

PARTIE COMBINATOIRE

PARTIE

COMBINA

TOIRE

REGIS

TRE D

C

ENTREES EF EP

SORTIES

Figure 73 : Automate de Moore

PARTIE

COMBINA

TOIRE

PARTIE

COMBINA

TOIRE

REGIS

TRE D

C

ENTREES

EF EP SORTIES

Figure 74 : Automate de Mealy

Il y a équivalence entre les deux types d'automates : tout automate de Moore peut être transformé en

automate de Mealy et réciproquement. L'automate de Mealy a toujours moins d'états que l'automate de

Moore correspondant.

Page 48: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

46 Janvier 2004

7.3 UN EXEMPLE D’AUTOMATE SYNCHRONE

7.3.1 .Énoncé du problème L'automate synchrone contrôle les feux à un carrefour (Figure 75) entre une grande route et un chemin. Sur le chemin, des détecteurs repèrent la présence ou non d’une automobile en attente du feu vert.

ROUTE

CheminDétecteurs

Figure 75 : Carrefour contrôlé par automate

Soit A la variable booléenne associée à la présence d'une automobile (A = 1 si présence, et A = 0 sinon). Le feu ne peut passer au rouge sur la route que s’il s’est écoulé au moins un temps appelé "temps long" pendant lequel un véhicule attend sur le chemin. Le feu ne peut être rouge sur la route plus longtemps que cette durée "temps long", même si des véhicules sont présents sur le chemin. Il y a un temps appelé "temps court" qui correspond à la durée du feu orange. Soit TC la variable booléenne associé au temps court, telle que TC = 1 si le temps écoulé depuis la dernière remise à zéro du compteur est supérieur à "temps court" et TC = 0 sinon. Soit TL la variable booléenne associé au temps long, telle que TL = 1 si le temps écoulé depuis la dernière remise à zéro du compteur est supérieur à "temps long" et TL = 0 sinon. Avec la version Moore de l'automate pour laquelle les états internes sont associés aux sorties, les états internes sont RV (Feux Route Verts et Feux Chemin Rouges) RO (Feux Route Oranges et Feux Chemin Rouges) CV (Feux Route Rouges et Feux Chemin Verts) CO (Feux Route Rouges et Feux Chemin Oranges)

7.3.2 Graphe de transition et diagramme d’état. Le graphe de transition est donné en Figure 76.

RV

CO

CV

RO

A.TL

TC

A +

TL

TC

A.TL

TC

TC

A.TL

Figure 76 : Graphe de transition

La table de transition est donnée en Table 33. Les codes utilisés pour la table de transition et les sorties sont données respectivement par les Table 34 et Table 35. La Table 36 donne la version codée de la table de transition.

Page 49: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

47 Janvier 2004

État présent Entrées État futur Sorties Compteur

FR FC RAZ

Route Vert A Route Vert V R OUI

A et TL=0 Route Vert V R NON

A et TL=1 Route Orange V R OUI

Route Orange TC=0 Route Orange O R NON

TC=1 Chemin Vert O R OUI

Chemin Vert A Chemin Orange R V OUI

A et TL=0 Chemin Vert R V NON

A et TL=1 Chemin Orange R V OUI

Chemin Orange TC=0 Chemin Orange R O NON

TC=1 Route Vert R O OUI

Table 33 : Diagramme de transition

État présent

Q1 Q0

0 0 Route Vert

0 1 Route Orange

1 0 Chemin Vert

1 1 Chemin Orange

Table 34 : Codage des états de l'automate

Couleur des feux

F1 F0

0 0 Vert

0 1 Orange

1 1 Rouge

Table 35 : Codage des sorties de l'automate

7.3.3 Implantation matérielle.

L'automate correspondant au diagramme de transition est implanté avec des bascules et des portes

logiques. L'implantation avec des bascules D donne les expressions suivantes des entrées D0 et D1 des

bascules (état futur) en fonction des termes produit qui dépendent de l'état présent Q1,Q0 et des entrées

A,TC,TL.

D0 = m2 + m3 + m6 + m7 + m8

D1 = m4 + m5 + m6 + m7 + m8

où mi correspond aux termes produit (mint) de la table VI-10.

D1 = Q0.

TC + Q0 .A.TL + Q1. Q0 .

A

D0 = Q1. Q0 + Q1.Q0. TC +

Q1.Q0.TC

FR1 = Q1

FR0 = Q0 + Q1

Page 50: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

48 Janvier 2004

FC1 =

Q1

FC0 = Q0 + Q1

RAZ = m0+m2+m4+m6+m7+m9

RAZ = TC. Q0 + ( A + TL)

Q0

Le schéma global de l’automate est donné en Figure 77. Il combine un aspect Moore (les sorties FR0,

FR1, FC0 et FC1 sont fonction uniquement de l’état présent de l’automate) et un aspect Mealy (la sortie

RAZ est fonction de l’état présent et des entrées de l’automate).

Entrées EP EF Sorties Mint.

A TC TL Q1 Q0 D1 D0 RAZ FR1 FR0 FC1 FC0

0 Ø Ø 0 0 0 0 1 0 0 1 1 0

1 Ø 0 0 0 0 0 0 0 0 1 1 1

1 Ø 1 0 0 0 1 1 0 0 1 1 2

Ø 0 Ø 0 1 0 1 0 0 1 1 1 3

Ø 1 Ø 0 1 1 0 1 0 1 1 1 4

1 Ø 0 1 0 1 0 0 1 1 0 0 5

1 Ø 1 1 0 1 1 1 1 1 0 0 6

0 Ø Ø 1 0 1 1 1 1 1 0 0 7

Ø 0 Ø 1 1 1 1 0 1 1 0 1 8

Ø 1 Ø 1 1 0 0 1 1 1 0 1 9

Table 36 : Diagramme de transition après codage des états et des sorties

COMBINATOIRE

COMBINATOIRE

COMBINATOIRE

BASCULE D

BASCULE D

D0

D1

Q1

Q0

RAZ

FR0

FR1

FC0

FC1

A

TC

TL

Figure 77 : Automate pour le contrôleur de feux

Les entrées TC et TL sont des sorties de comparateurs (Figure 78)

Page 51: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

49 Janvier 2004

RAZ

Compteur

Sorties du compteur (N bits)

Valeur temps court

Valeur temps long

Comparateur Comparateur

TLTC

Clock

Figure 78 : génération de TC et TL

Page 52: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

50 Janvier 2004

8 TECHNOLOGIE ET CIRCUITS LOGIQUES

8.1 INTRODUCTION.

Ce paragraphe a pour but de montrer comment les portes logiques de base sont implantées avec des

circuits électroniques. Nous présenterons la manière de réaliser les inverseurs, les portes NAND, NOR

et certaines portes implantant des fonctions logiques plus complexes avec des transistors MOS (familles

logiques NMOS et CMOS). Nous utilisons une modélisation du fonctionnement des transistors sous

forme d’interrupteurs. Cette modélisation, bien que grossière, permet de comprendre le fonctionnement

logique des circuits électriques.

Dans ce paragraphe, nous adoptons les conventions suivantes : les variables en lettre majuscule (E, S...)

correspondent à des tensions (0V, 5V, états haut ou bas) ; les variables en lettre minuscule (e, s...) sont

les variables booléennes associées.

8.2 TECHNOLOGIES MOS

8.2.1 Transistors et interrupteurs

On utilise des transistors MOS, qui peuvent être modélisés par des interrupteurs. Il y a 2 types de

transistors MOS : le MOS canal N (ou NMOS) et le MOS canal P (ou PMOS). La Figure 79 présente la

modélisation utilisée, et le schéma équivalent à l'interrupteur "fermé" ou "ouvert".

nMOS

D

G

S

V = 5 VG V = 0 V

G"1"

"0"

pMOS

S

G

D

V = 0 VG

"0"

V = 5 VG

"1"

Figure 79 : Modèles des transistors MOS

8.2.2 Réalisation des inverseurs

8.2.2.1 Logique par défaut : NMOS charge déplétée

La logique par défaut était utilisée dans la technologie NMOS appelée à charge déplétée. Elle utilise un

seul type de transistor (NMOS) et une charge passive, qui peut être une résistance ou mieux un

transistor NMOS déplété, qui fonctionne comme une résistance en fonctionnement normal. La Figure

80 modélise le fonctionnement de cette logique. Lorsque l'entrée est à l'état bas, le transistor est

équivalent à un interrupteur ouvert, et la charge passive connecte la sortie au niveau haut. Lorsque

l'entrée est au niveau haut, le transistor est équivalent à un interrupteur fermé, et si la résistance

équivalente à cet interrupteur est négligeable devant la résistance de la charge, la sortie est proche de

0V. L'inconvénient essentiel de cette approche est la consommation statique qui existe lorsque la sortie

est à l'état bas. En effet, lorsque l'interrupteur est fermé, il circule un courant travers la charge passive et

l'interrupteur. La Figure 81 présente le circuit électrique correspondant.

Page 53: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

51 Janvier 2004

R

S

E

5 V

0 V

R

5 V

0 V

5 V

0 V

i = 0 et loi

d'Ohm

R

5 V

0 V

0 V

5 V

i ° 0

Figure 80 : Modèle de l'inverseur NMOS

*

E

S

Transistor déplété <==> résistance : charge passive

Transistor nMOS enrichi

*

E

S

Transistor déplété <==> résistance : charge passive

Transistor nMOS enrichi

Figure 81 : Inverseur NMOS charge déplétée

8.2.2.2 Logique complémentaire : CMOS

La logique complémentaire en technologie MOS utilise les deux types de transistors. La Figure 82

modélise le fonctionnement de l'inverseur CMOS. L'état haut est obtenu en sortie lorsque l'interrupteur

de type p est fermé et l'interrupteur de type n est ouvert. Ceci est obtenu, compte tenu du mode de

fonctionnement des transistors n et p indiqué par le Figure 79, lorsque l'entrée est à l'état bas. L'état bas

est obtenu en sortie lorsque l'interrupteur n est fermé et l'interrupteur p est ouvert (entrée à l'état haut).

Les deux états haut et bas en sortie sont obtenus via un interrupteur fermé. Ils correspondent donc

exactement aux deux tensions 5V et 0V fournies par l'alimentation. On constate également qu'un seul

interrupteur est fermé à la fois, ce qui signifie qu'il n'y a pas de courant circulant entre les deux bornes

de l'alimentation. Contrairement à la logique par défaut, la logique complémentaire ne dissipe pas de

puissance en statique. La Figure 83 donne le schéma électrique de l'inverseur CMOS.

5 V

0 V

ES

5 V

0 V

0 V5 V

5 V

0 V5 V

0 V

Figure 82 : Modèle de l'inverseur CMOS

Page 54: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

52 Janvier 2004

ip

E in S

S haut

Si E Bas 0p

i ≠

S bas

Si E Haut 0

ni ≠

ip

E in S

S haut

Si E Bas 0p

i ≠

S bas

Si E Haut 0

ni ≠

Figure 83 : Inverseur CMOS

8.2.3 RÉALISATION DES FONCTIONS LOGIQUES NOR, NAND.... Avec les technologies MOS, la manière de réaliser les fonctions NAND et NOR découle assez simplement de la manière de réaliser l'inverseur.

8.2.3.1 NMOS

En technologie NMOS, la sortie haute est obtenue lorsqu'aucun courant ne passe à travers la charge passive. Au contraire, la sortie basse correspond au passage d'un courant à travers un interrupteur fermé. Pour l'opérateur NOR, la sortie doit être basse si l'une des entrées est à l'état haut, et haute si toutes les entrées sont à l'état bas. La condition précédente est obtenue par mise en parallèle des interrupteurs de type n. Le schéma électrique de l'opérateur NOR à deux entrées est présenté en Figure 84.

*

E1

S

E2

0i ≠ S bas si

E1 haut ou E2 haut

S haut si

E1 bas et E2 bas0i =

*

E1

S

E2

0i ≠ S bas si

E1 haut ou E2 haut

S haut si

E1 bas et E2 bas0i =

Figure 84 : Circuit NOR NMOS

Pour l'opérateur NAND, la sortie doit être basse si toutes les entrées sont à l'état haut, et haute si l'une

des entrées est à l'état bas. La condition précédente est obtenue par mise en série des interrupteurs de

type n. Le schéma électrique de l'opérateur NAND à deux entrées est présenté en Figure 85.

*

E1

S

E2

0i ≠ S bas si

E1 haut et E2 haut

S haut si

E1 bas ou E2 bas0i =

i

*

E1

S

E2

0i ≠ S bas si

E1 haut et E2 haut

S haut si

E1 bas ou E2 bas0i =

i

Figure 85 : NAND NMOS

La technique de réalisation des fonctions NOR ou NAND peut être utilisée pour la réalisation de

fonctions plus complexes. La sortie est basse s'il existe un chemin entre la sortie et la partie basse de

l'alimentation, à travers des réseaux série ou parallèle d'interrupteurs. Il suffit donc, pour les

configurations des entrées telles que S=0, de réaliser tous les chemins entre S et 0V.

Soit l'exemple 1 (partie gauche de la Figure 86):

S = (E1 + E2 )( E3 + E4 ) S=0 lorsque simultanément E1 ou E2 d'une part et E3 ou E4 d'autre part sont à 1. La condition Ou

correspond à des interrupteurs en parallèles, la condition Et à des interrupteurs en série.

Page 55: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

53 Janvier 2004

Soit l'exemple 2 (partie droite de la Figure 86)::

S = E1E2 + E3E4

En appliquant la même méthode, il y a maintenant mise en parallèle de séries de transistors. La Figure

86 donne les schémas électriques correspondant aux exemples 1 et 2.

*

E2

S

E1

0i ≠ S bas si (E1 haut et E2 haut)

ou (E3 haut et E4 haut)

S haut autrement0i =i

E3

E4

*

E1

S

E3

0i ≠ S bas si (E1 haut ou E2 haut)

ou (E3 haut ou E4 haut)

S haut autrement0i =i

E2

E4

1 2 3 4S E E E E= +

1 2 3 4( )( )S E E E E= + +

*

E2

S

E1

0i ≠ S bas si (E1 haut et E2 haut)

ou (E3 haut et E4 haut)

S haut autrement0i =i

E3

E4

*

E2

S

E1

0i ≠ S bas si (E1 haut et E2 haut)

ou (E3 haut et E4 haut)

S haut autrement0i =i

E3

E4

*

E1

S

E3

0i ≠ S bas si (E1 haut ou E2 haut)

ou (E3 haut ou E4 haut)

S haut autrement0i =i

E2

E4

1 2 3 4S E E E E= +

1 2 3 4( )( )S E E E E= + +

Figure 86 : Exemples de portes complexe NMOS

8.2.3.2 CMOS

Le CMOS utilise une logique complémentaire. La sortie basse est obtenue par connexion entre S et 0V

via des chemins constitués d'interrupteurs de type N. La sortie haute est obtenue par connexion entre S

et 5V via des chemins constitués d'interrupteurs de type P. La partie basse constituée de transistors

NMOS est identique pour les logiques NMOS et CMOS. La partie haute est différente. La charge

passive est remplacée par un réseau série ou parallèle de transistors P. La partie haute est "duale" de la

partie basse. Elle est obtenue en remplaçant les transistors n en série par des transistors p en parallèle, et

réciproquement. Plus généralement, les mises en série de transistors sont remplacées par des mises en

parallèle, et réciproquement.

La Figure 87 donne les schémas électriques des opérateurs NOR et NAND à deux entrées. La Figure 88

donne les schémas électriques CMOS pour les deux mêmes exemples de fonctions complexes déjà

traités en NMOS.

Le CMOS utilise une surface plus importante que le NMOS : pour p entrées, il a 2 p transistors au lieu

de p+1. Mais le CMOS n'a pas de consommation statique : il y a donc beaucoup moins de puissance à

dissiper, ce qui est extrêmement important pour les circuits à très haute densité d'intégration.

E1

in

E2

E1

E2

ipS

E1

E2 in

E2E1

ipS

S haut si

E1 bas et E2 bas

S bas si

E1 haut ou E2 haut

S haut si

E1 bas ou E2 bas

S bas si

E1 haut et E2 haut

0ni ≠ 0

ni ≠

0p

i ≠0

pi ≠

E1

in

E2

E1

E2

ipS

E1

in

E2

E1

E2

ipS

E1

E2 in

E2E1

ipS

E1

E2 in

E2E1

ipS

S haut si

E1 bas et E2 bas

S bas si

E1 haut ou E2 haut

S haut si

E1 bas ou E2 bas

S bas si

E1 haut et E2 haut

0ni ≠ 0

ni ≠

0p

i ≠0

pi ≠

Figure 87 : NOR et NAND CMOS

Page 56: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

54 Janvier 2004

E1

E2

in

E3

E4

E2E1

E3 E4

ip

E1 et E2 en parallèle

E3 et E4 en parallèle

E1 e t E2 en série

E3 e t E4 en série

S = E1 E2+E3 E4

E4

E1

E3

in

E2

S = (E1+ E2).(E3 + E4)

E1

E2

E3

E4

ip

E1 et E2 en série

E3 et E4 en série

E1 et E2 en parallèle

E3 et E4 en parallèle

SS

Figure 88 : Exemples de portes complexes CMOS

Page 57: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

55 Janvier 2004

9 IMPLANTATION MATÉRIELLE DES OPÉRATEURS

Nous avons vu dans le chapitre précédent comment réaliser les portes logiques fondamentales à l’aide de transistors MOS ou de transistors bipolaires. Nous abordons maintenant la manière de réaliser des circuits intégrés permettant d’implanter des traitements complexes, dépendant des fonctionnalités que demande une application donnée. Nous précisons les différentes approches offertes au concepteur qui veut implanter dans un circuit intégré des fonctionnalités données, à l’aide d’opérateurs combinatoires et d’opérateurs séquentiels. Il est important de souligner que depuis l’invention des premiers transistors en 1947, le concepteur de systèmes électroniques est confronté à l’alternative suivante pour réaliser son système : réaliser un circuit ou un système spécifique, ou utiliser des circuits universels qui sont particularisés ou programmés pour le besoin spécifique. Il est curieux de remarquer que selon les périodes, la tendance est d’utiliser tantôt une approche spécifique, tantôt une approche universelle, en fonction des progrès des développements technologiques.

1947 1957 1967 1977 1987 1997 2007

Spécifiques

Universels

Tout est nouveau

Composants discrets standard

Circuits spécifiques

pour montres, calculatrices

Mémoires, Microprocesseurs

Circuits spécifiques (ASICs)

programmables par masques

Programmation externe

Figure 89 : L’onde de Makimoto

L’onde de Makimoto, présenté en Figure 89 illustre ce phénomène périodique, avec alternance tous les dix ans. A partir de 1947, l’invention des transistors a conduit au développement de circuits particuliers, tout circuit étant nouveau. Puis ont été développés les composants discrets standards, permettant par assemblage de ces composants la réalisation de circuits ou de systèmes spécifiques. La période suivante a vu la réalisation des circuits intégrés spécifiques utilisés dans les produits grand public comme les montres, les calculatrices, etc. La deuxième moitié des années 70 a vu l’émergence des premiers microprocesseurs et le développement des mémoires statiques et dynamiques, conduisant aux micro-ordinateurs et microcontrôleurs et mettant l’accent sur la programmation des applications utilisant cette approche. Les progrès des outils de conception des circuits intégrés a ensuite rendu populaire l’approche conception de circuits intégrés spécifiques (ASICs). La fin des années 80 a vu l’émergence des réseaux logiques programmables de l’extérieur, permettant à l’utilisateur d'employer un même composant matériel pour des applications extrêmement variées. En 1993, certaines prédictions assurent que ne subsisteront dans un futur proche que trois types de circuits intégrés : les microprocesseurs, les mémoires et les réseaux logiques programmables. Après avoir rappelé brièvement les caractéristiques fondamentales des différentes méthodes de conception des circuits intégrés, nous illustrons les caractéristiques essentielles des différents types de réseaux logiques programmables que l’on trouve sur le marché en 1993.

9.1 LES TYPES DE RÉALISATION

9.1.1 Circuits ASIC La conception de circuits intégrés spécifiques (ASIC) consiste à définir les différents niveaux de masques qui seront utilisés pour contrôler les différentes étapes de la fabrication du circuit chez un fondeur. La caractéristique fondamentale de ce circuit est le caractère figé de sa fonction et de ses performances, qui ne peuvent être changées par l’utilisateur. Les différentes méthodes de conception

Page 58: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

56 Janvier 2004

correspondent à des degrés divers de programmabilité de ces circuits. Mais, dans tous les cas, la particularisation (ou programmation) du circuit pour une application se fait au niveau des masques et est irréversible. Les réseaux prédiffusés sont conçus comme un arrangement matriciel de cellules élémentaires (composants de base ou portes) et de canaux de routage permettant à deux ou trois niveaux métalliques d’interconnecter les cellules élémentaires pour constituer des opérateurs. C’est la programmation des interconnexions qui particularise les réseaux prédiffusés pour une application donnée. Les mers de portes sont un cas particulier où il n’y a pas de canaux de routage. Les interconnexions passent au dessus de portes qui sont alors inutilisées. A ces réseaux sont associés des bibliothèques de cellules et de macrocellules fonctionnelles, qui contiennent les fichiers des connexions associées à chaque cellule. A l’opposé, la conception de circuits intégrés optimisés à la demande (full custom) ne présuppose aucune cellule élémentaire, mais va chercher à optimiser le dessin de l’ensemble des niveaux de masques, en utilisant les particularités des différents types de structures : structures régulières pour les RAM et les ROM, logique en tranche pour les opérateurs arithmétiques, etc. Les réseaux précaractérisés ne présupposent pas de cellules élémentaires, mais l’utilisation de cellules de bibliothèques définies et optimisées à la demande, qui sont placées et dont les connexions sont routées par des logiciels de placement et routage.

9.1.2 Les réseaux logiques programmables Les réseaux logiques programmables permettent de programmer de l’extérieur les connexions internes du circuit. A l’approche réseaux prédiffusés des circuits ASIC, elle ajoute donc la reconfigurabilité. Le schéma conceptuel est présenté en figure VIII-2. La programmation des connexions internes au plan actif est réalisée depuis l’extérieur, en chargeant une mémoire de configuration.

Plan de configuration

Plan actif

Dispositif de configuration externe

Figure 90 : Schéma conceptuel des réseaux logiques programmables

9.1.3 Conditions d’utilisation Les performances des circuits intégrés, en terme de vitesse et de nombre de composants utilisables par circuit, décroissent des circuits intégrés spécifiques optimisés à la demande aux réseaux logiques programmables (en passant par les réseaux précaractérisés et les réseaux prédiffusés). Les réseaux logiques programmables offrent l’avantage certain de la reconfigurabilité et des performances acceptables à faible coût qui en font les circuits type pour le prototypage rapide. La figure VIII-3 donne au débit des années 90 la répartition des types d’approche en fonction du nombre de portes et du nombre d’exemplaires voulus du circuit.

9.2 LES RÉSEAUX LOGIQUES PROGRAMMABLES

Les circuits logiques programmables vont se distinguer par la nature des cellules élémentaires d’une part, et par la manière de les interconnecter d’autres part. Une description exhaustive des réseaux logiques programmables sort du cadre de ce chapitre. Nous présentons uniquement trois types de réseaux, assez représentatifs de ce que l’on peut trouver en 1993. Les réseaux de Crosspoint sont assez typiques de l’approche composants logiques programmables (PLD). La cellule élémentaire est composée de deux transistors NMOS et PMOS (figure VIII-4). Par interconnexion des différents transistors, on réalise les différentes portes logiques.

Page 59: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

57 Janvier 2004

Les réseaux de portes programmables de l’extérieur (FPGA) d’Actel sont constitués à partir de

multiplexeurs. La figure VIII-5 donne le schéma des cellules élémentaires de la famille ACT2,

constituées de modules combinatoires et de modules séquentiels.

100 1 000 10 000 100 000

100

1 000

5 000

10 000

20 000

Réseaux de portes programmables

depuis l'extérieur (FPGA)

Composants logiques programmables (PLD)

Réseaux prédiffusés

Précaractérisés &

Custom

Nombre de portes par fonction

Quantité par produit

Figure 91 : Utilisation des différents types de réalisations

Paire de transistors

Figure 92 : Cellule élémentaire du réseau Crosspoint

D Q

Clr

Figure 93 : Cellules élémentaires des réseaux Actel (ACT2)

Les réseaux de cellules logiques (LCA) de Xilinx utilisent des cellules logiques relativement complexes.

Le bloc logique configurable (CLB) de la famille 3000 est présenté en figure VIII-6. Il est constitué de

Page 60: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

58 Janvier 2004

circuits combinatoires programmables, permettant d’implanter n’importe quelle table de vérité de 5

variables (ou 2 tables de vérité de 4 variables), de deux bascules D, de multiplexeurs et de signaux de

contrôle (horloge, remise à zéro, autorisation ou inhibition d’horloge). Cette cellule permet donc de

réaliser au choix des opérateurs combinatoires et des opérateurs séquentiels. Les réseaux de cellules

logiques de Xilinx disposent d’un mécanisme élaboré d’interconnexion des cellules, qui est illustré par

la figure VIII-7. Un certain nombre de blocs sont réservés pour les entrées - sorties. L’interconnexion

des cellules internes peut se faire selon trois mécanismes différents.

Fonction

Combinatoire

Enable Clock

Global Reset

"0" Inhibit

Reset Direct

Clock

Rd

Rd

Mux

Mux

"1" Enable

Variables Logiques

Donnée Entrée

Sorties

D

D

Q

Q

Qx

Qy

F

G

Figure 94 : Bloc logique configurable (CLB) de la famille 3000 de Xilinx

Le mécanisme noté 1 dans la figure VIII-7 est un mécanisme général, utilisant des circuits crossbar,

permettant de relier toute entrée du crossbar à toute sortie, et permettant de réaliser la connexion d’une

sortie de n’importe quelle cellule à l’entrée de n’importe quelle cellule. Les liaisons entrée - sortie d’un

crossbar étant réalisé à travers des transistors passants, présentant une résistance équivalente non nulle,

la traversée d’un nombre important de crossbars par un signal conduit à des temps de propagation

relativement longs, réduisant les performances dynamiques globales du système. Le mécanisme noté

deux permet une connexion directe de la sortie d’une cellule à l’entrée des cellules voisines. Il permet

d’exploiter la localité qui existe entre différentes parties d’un circuit. Le mécanisme 3 permet la

transmission directe et rapide de signaux à longue distance, via des connexions horizontales et verticales

spécifiques.

L’utilisation efficace des réseaux logiques programmables implique l'emploi de logiciels de conception

adaptés à ces réseaux, permettant d’implanter directement sur le réseau cible un réseau booléen,

exprimé sous la forme d’un ensemble d’équations logiques, ou d’un réseau de portes logiques. Cette

implantation peut utiliser des bibliothèques de cellules adaptées au réseau logique utilisé, ou des outils

de synthèse logique capable de passer directement du réseau booléen au réseau programmable cible en

prenant en compte les caractéristiques technologiques de ce dernier (par exemple, cellule élémentaire

constituée de multiplexeurs, ou de tables de vérité à nombre maximal d’entrées, etc.).

Page 61: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

59 Janvier 2004

BLOCS D'E/S

Ampl is 3 états

CLBAA AB AC

BA BB BC

1

2

3

Figure 95 : Réseaux d’interconnexion de la famille Xilinx

Page 62: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

60 Janvier 2004

10 POINTS MÉMOIRE ET MÉMOIRE RAM.

10.1 LOGIQUE STATIQUE ET LOGIQUE DYNAMIQUE

Le point mémoire est l’élément de base, capable de mémoriser un bit. Il y a deux approches possibles. L’approche statique est fondée sur la l'utilisation de portes logiques pour conserver un état possible parmi deux. Le bistable défini en V-1 et présenté dans la Figure 39 est l’élément fondamental. La mémorisation est permanente. Pratiquement, la seule contrainte est que les circuits électriques réalisant le bistable soient alimentés. L’approche dynamique est fondée sur un principe de fonctionnement électrique, que l'on peut qualifier d'analogique par rapport au principe de la première approche, fondé sur la logique booléenne. Une certaine quantité de charges électriques est stockée dans un condensateur pour mémoriser un état donné, l'absence de charges correspondant à l'autre état. Comme le condensateur, par nature imparfait, ne peut conserver éternellement les charges stockées, la mémorisation d'un état n'est que temporaire. Il faut réécrire régulièrement la donnée mémorisée pour la conserver.

10.2 POINTS MÉMOIRE

10.2.1 le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 96.

Q Q

Figure 96 : Bistable redessiné

La lecture du bistable est immédiate : l'état du bistable est donné par la valeur de la sortie Q. Pour pouvoir positionner le bistable dans un état donné (écriture) ou transmettre à l’extérieur le contenu du bistable (lecture), on ajoute des interrupteurs permettant de relier les sorties du bistable à l’extérieur, comme le montre la Figure 97 dans le cas de la technologie CMOS. Lorsque les deux interrupteurs sont bloqués, le point mémoire est isolé du reste de la mémoire. En lecture, les deux "interrupteurs" rendus

passant par la commande LM (Ligne de Mot) transmettent l'état Q (resp.

Q ) vers les lignes de bit LB

(resp.

LB). En écriture, l'état des lignes de bits LB et LB est fixé. La fermeture des interrupteurs impose l'état des lignes de bit au bistable. Les "forces" respectives des transistors utilisés dans le bistable et pour commander les lignes de bits sont telles qu'électriquement, ce sont les transistors commandant les lignes de bit qui imposent leur état. La complexité du point mémoire statique en technologie MOS est de six transistors (4 transistors pour les deux inverseurs + 2 interrupteurs).

LB LB

LM

Q Q

Figure 97 : Point mémoire MOS

10.2.2 point mémoire dynamique La mémorisation dynamique utilise la charge et la décharge d'un condensateur à travers une résistance (Figure 98).

Page 63: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

61 Janvier 2004

R

C

E S

Figure 98 : Circuit RC

Nous rappelons qu'un circuit RC attaqué par un signal échelon unité d'amplitude V u(t) à l'instant t=0 a

une sortie qui correspond à l'équation S = V (1 - e

- t

RC) et qu'un circuit RC attaqué par le signal

échelon unité complémentaire V(1 - u(t)) a une sortie qui est donnée par l'équation

S = V .e-

t

RC . Les résistances R correspondent en fait à la résistance équivalente d'un transistor MOS, lorsqu'il est passant (Ron) et lorsqu'il est bloqué (Roff). Ron est de l'ordre de quelques kΩ, et Roff de plusieurs MΩ, soit Ron << Roff. La Figure 99 illustre la mémorisation dynamique d’un état 1 dans une capacité. Lorsqu'on veut mémoriser un état 1 (par exemple), on applique une tension V, via le transistor passant, sur la capacité C, qui se charge avec la constante de temps Ron.C. Puis, on bloque le transistor. La capacité ne peut alors se décharger qu'à travers la résistance Roff (transistor bloqué). Si l'on mémorise l'état haut avec une amplitude V, la sortie reste supérieure à V/2 jusqu’au temps tV/2 dont la valeur est tV/2 = Roff.C ln 2 ≈ 0,7 Roff.C

V

V/2Ron

Roff

tV/2

E(t)

S(t)

Figure 99 : Mémorisation dynamique

Le point mémoire dynamique est constitué d'une capacité et d'un transistor, ce qui donne une surface équivalente à celle de 1,5 transistors MOS.

10.3 MÉMOIRES RAM

Les mémoires à accès aléatoire (RAM) permettent d’accéder à n’important quel mot mémoire dans un temps constant. Une mémoire RAM est fonctionnellement définie par une adresse sur n bits, permettant

d'accéder 2n mots, et le nombre de bits p de chaque mot. Elle est constituée à partir de boîtiers mémoire de capacité plus petite. Au niveau d'un boîtier, le mot mémoire a 1 bit, 4 bits, 8 bits, ... L'organisation mémoire la plus courante utilise des mots de 1 bit. Pour diminuer la complexité du décodage, celui-ci est matriciel : chaque point mémoire est situé à l'intersection d'une ligne et d'une colonne. L'adresse mémoire est divisée en deux parties : l'adresse ligne donne le numéro de la ligne considérée et l'adresse colonne donne le numéro de colonne. Dans le cas d'une mémoire à mots de p bits, le plan mémoire correspondant à la mémoire à mot de 1 bit est dupliqué p fois.

10.3.1 Mémoires statiques La Figure 100 donne le schéma simplifié d'une mémoire 16 mots de 1 bit. Il y a 4 bits d’adresse, soit 2 bits pour sélectionner une ligne parmi 4, et 2 bits pour sélectionner une colonne parmi 4. Le décodeur ligne active une ligne de mots parmi les 4. En lecture, tous les bits correspondant à la ligne de mots sélectionnée sont lus, et les bits correspondant descendent le long des colonnes. Il n'y a qu'un seul des 4 interrupteurs commandant les colonnes qui est activé par le décodeur colonne, ce qui fait qu'un seul bit

est transmis aux lignes LB/ LB reliées à l'organe de lecture écriture. En écriture, l'état des lignes

LB/ LB est forcé par l'organe de lecture écriture et, sous l'action des décodeurs ligne et colonne, un seul

point mémoire a ses sorties reliées aux lignes LB/ LB.

Page 64: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

62 Janvier 2004

Dout Din

Lecture/

Ecriture

0,0

1,0

2,0

3,0

0,1

1,1

2,1

3,1

0,2

1,2

2,2

3,2

0,3

1,3

2,3

3,3

LM0

LM1

LM2

LM3

A0

A1 Décodeur

lignes

Décodeur

colonnes

A2

A3

LC0 LC1 LC2 LC3

LB0 LB1 LB2 LB3

LB

LB0 LB1 LB2 LB3

LB

Figure 100 : Schéma de principe d’une RAM statique de 16 mots de 1 bit.

Il faut souligner qu'avec les points mémoire statique, la lecture n'est pas destructive. Le temps d'accès,

caractérisé pour une opération lecture par le temps entre le moment où les adresses sont fixes et le

moment où la donnée correspondante est disponible, n'est pas fondamentalement différent du temps de

cycle, qui est le temps entre deux opérations lecture successives.

10.3.2 Mémoires dynamiques

Les mémoires dynamiques utilisent des points mémoire constitués d’une capacité et d’un transistor.

Elles utilisent également un décodage matriciel avec lignes et colonnes.

La Figure 101 présente le schéma de principe d’une mémoire dynamique, avec une colonne de 64

cellules de 1 bit.

Un bit est mémorisé dans une capacité, sous forme d’une charge électrique Q présente ou non. La

lecture consiste à savoir si une capacité contient ou non une charge électrique Q, ce qui ne peut se faire

qu’en reliant la capacité au fil vertical connectée à l’amplificateur de lecture. Le problème est que la

capacité Cfil associée au fil est très supérieure à la capacité du point mémoire, ce qui revient à mélanger

Q à une charge électrique Qfil beaucoup plus grande. Sans entrer dans les détails du fonctionnement

électrique, le problème précédent est résolu en utilisant une lecture différentielle. La charge électrique

des points mémoire 0 à 31, sélectionnés par la ligne correspondante, est comparée avec la cellule de

référence située de l’autre côté de l’amplificateur de lecture. La cellule de référence a généralement une

capacité C/2. On est donc ramené à la comparaison entre Q + Qfil ou Qfil selon la charge dans le point

mémoire lu, et Q/2 + Qfil de l’autre côté de l’amplificateur de lecture. Le principe de lecture est

symétrique pour les points mémoire 32 à 63. L’amplificateur de lecture détecte la faible différence de

potentiel associée la différence de charges, et l’amplifie le plus rapidement possible pour délivrer des

états logiques 0/1 ou 1/0 sur les deux fils complémentaires du bus de données lecture/écriture.

Ce principe de fonctionnement décrit très schématiquement permet de souligner une caractéristique très

importante des mémoires dynamiques. La lecture se fait par décharge de la capacité du point mémoire

lorsque celle ci est chargée. La lecture est donc destructive, et toute lecture doit être suivie d’une

réécriture. Alors que les mémoires statiques ont des lectures non destructives qui donnent des temps

d’accès identiques aux temps de cycle, les mémoires dynamiques ont des temps de cycle égaux au moins

au double du temps d’accès. Il y a également nécessité de rafraîchir périodiquement, au plus tard toutes

les 2 ms, les points mémoire par une lecture suivie d’une réécriture.

Page 65: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

63 Janvier 2004

Ampli de lecture

Ligne référence (cellules 32 à 63)

Ligne 0

Ligne 1

Ligne 31

C31

Cref

Bus donnée Lecture/Ecriture vrai

Bus donnée Lecture/Ecriture complémenté

Sortie du décodeur colonne

Ligne 32

Ligne 33

Ligne 63

Ligne référence (cellules 0 à 31)

+5V

+5V

C32

Cref

Figure 101 : Schéma de principe d’une RAM dynamique

Page 66: Composants logiques et opérateurs matérielsde/Poly-CLM-Materiel.pdf · 2004-01-23 · 1 Janvier 2004 1 INTRODUCTION Le cours Composants logiques et opérateurs matériels présente

64 Janvier 2004

11 RÉFÉRENCES

[1] J-L Hennessy, D. Patterson, “Architecture des ordinateurs - une approche quantitative”, Mc Graw-Hill [2] C. Mead, L. Conway, “Introduction aux systèmes VLSI”, InterEditions.