You are on page 1of 54

Chapitre 6

Transistors, amplificateur `
a
transistors.
6.1

Histoire de transistors.

Au cours de la deuxi`eme moitie du XXe`me si`ecle, lElectronique a connu un developpement sans


precedent sur le plan technologique. Le moteur de ce developpement est lapparition des composants
`a semiconducteur et le developpement de leur technologie. Toutefois, lelectronique analogique nest
pas nee avec le transistor bipolaire et lessentiel de ce cours etait connu avant 1940 : on savait filtrer,
amplifier, moduler etc.. mais avec dautres composants.
Les transistors sont des composants comportant 3 electrodes. Il sont constitues de semiconducteurs,
mais aussi de metaux, de polycristaux et disolants (cas des transistors MOS). Le principe de base des
transistors est le suivant. Deux des electrodes forment un dipole `a travers lequel circule un courant I.
Sil sagissait dun dipole ordinaire, ce courant serait uniquement une fonction I(V ) de la tension V
aux bornes du dipoles. Ici il nen est rien : `a laide de la troisi`eme electrode, lelectrode de commande,
on peut agir sur ce courant et la puissance necessaire pour agir sur I est nettement plus faible que la
puissance mise en jeu dans le dipole.
Il existe deux grandes familles de transistors :
i) Les transistors bipolaires (BJT, Bipolar Junction Transistor). Dans ce type de transistors, on
agit sur le courant principal I en faisant varier le courant injecte dans lelectrode de commande. Les
phenom`enes physiques mis en jeu sont la diffusion et la recombinaison des porteurs.
ii) Les transistors `a effet de champ (FET, Field Effect Transistor). Pour ces transistors, lelectrode
de commande sert `a appliquer un champ electrique perpendiculaire aux lignes de courant du dipole
principal et cest ce champ qui, modifiant les proprietes du dipole principal, entrane une variation de I.
Le transistor bipolaire a ete invente `a la fin des annees 1940 (Shockley, Bardeen, Brattain, Bell Telephon Laboratory). Cette invention a cree une veritable revolution en electronique. Leffet fut tel que lon
appelait transistor un poste de radio transportable (fonctionnant sur pile et contenant des transistors
bipolaires). Le principe du transistor `a effet de champ est plus ancien (annees 1930) mais, pour des
raisons de developpement technologique, les premiers transistors `a effet de champ ont ete realises au
debut des annees 1960. Il sagit des JFET (Junction Field Effect Transistor) et des MOSFET (Metal
Oxide Semiconductor Field Effect Transistor), ce qui a cause une nouvelle revolution en electronique,
mais cette fois dans le domaine numerique : apparition des microprocesseurs et des micro-ordinateurs.
Il existe dautres types de transistors `a effet de champ (MESFET, HEMT etc..) de meme quil existe
plusieurs types de transistors bipolaires (HBT, transistor bipolaire `a heterojonction) pour les applications `a tr`es haute frequence (circuits haut debit, circuits microonde). Nous nous contentons simplement
de les mentionner ici.
63

` TRANSISTORS.
CHAPITRE 6. TRANSISTORS, AMPLIFICATEUR A

64

Figure 6.1

Vue en coupe dun transistor MOS `


a canal N `
a enrichissement. Le substrat est de type P.
Lapplication dune tension positive sur la grille permet la formation dune couche delectrons (couche dinversion)
sous la grille.

6.2
6.2.1

Transistor NMOS `
a enrichissement.
Description qualitative

La figure 6.1 represente un transistor MOS `a canal N `a enrichissement (transistor NMOS). Sur une
substrat de silicium de type P (contenant une tr`es faible concentration delectrons) on realise deux
regions fortement dopees N+ (forte concentration delectrons) et munies dun contact ohmique. Lune,
sappelle la source S et lautre sappelle le drain D ( VDS = VD VS 0 dans les applications). Entre le
drain et la source, on fait crotre un mince couche doxyde de silicium SiO2 (aujourdhui on sait realiser
des couches aussi fines que quelques nm). Sur cet oxyde on depose une couche conductrice. Ce contact
sappelle la grille (gate) La grille etant deposee sur un oxyde, aucun courant continu ne peut transiter
par cette electrode. Le signal applique sur la grille est donc une tension, la tension grille VGS . Pour un
transistor NMOS VGS = VG VS 0. La grille est lelectrode de commande du MOSFET. Lapplication
dune tension VGS cree un champ electrique dans loxyde mais aussi dans le semiconducteur situe en
dessous.
Suivant la valeur de VGS et de VDS 0, il peut ou non faire circuler un courant, le courant drain
ID , du drain vers la source. Dans un MOSFET on cherche `a moduler le courant drain ID en faisant
varier la tension VGS . Comme le courant IG entrant dans la grille est nul, la puissance consommee par
le signal de commande est extremement faible.
La distance L entre source et drain sappelle la longueur de grille. Dans la direction perpendiculaire
`a la figure 6.1 le transistor poss`ede une certaine dimension W que lon appelle la largeur de grille et le
plus souvent W est assez nettement superieur `a L (vu de dessus la grille est un rectangle dont la grande
dimension est W ). Suivant les applications, les dimensions dun NMOS peuvent etre tr`es differentes.
Dans les circuits ULSI (Ultra Large Scale Integration) la longueur de grille peut etre aussi faible que 30
nm (avec W de lordre de quelques L). Pour les applications en electronique analogique, les dimensions
sont plus importantes.

6.2.2

Principe de fonctionnement du NMOS

Quand la tension sur la grille est inferieure `a une certaine tension Vt (tension seuil, indice t pour
threshold), la region situee entre le drain et la source est de type P. Si on applique une tension VDS > 0,
aucun courant ne circule (ID = 0) : un transistor NMOS est bloque quand la tension grille est en dessous
du seuil. En effet, la diode PN entre le substrat P et le drain N+ est polarisee en sens inverse, donc
bloquee.
Si VGS > Vt , le champ electrique applique par le signal de commande (dirige de la grille vers le
substrat) est suffisamment fort pour attirer beaucoup delectrons dans le canal (sous la grille). Il en
resulte que dans une certaine region depaisseur xC proche de la surface du substrat, ce dernier se
comporte comme un semiconducteur de type N : la concentration delectrons n y est tr`es grande. Cette

` ENRICHISSEMENT.
6.2. TRANSISTOR NMOS A

65

couche riche en electrons porte le nom de couche dinversion (`a cause du passage du type P au type N).
On dit aussi quil existe un canal conducteur entre le drain et la source. Ce mode de fonctionnement a
donne au type de transistor considere le nom de transistor `
a enrichissement (enhancement).
Gardant VGS > Vt , quand on applique une tension VDS > 0, un flux important de porteurs (ici
les electrons) circule de la source vers le drain. Ces electrons nombreux donnent lieu au passage dun
courant ID comme dans une resistance ordinaire en semiconducteur. Le fait important est donc que
lapplication dune tension ad hoc sur la grille transforme le canal dune resistance quasi infinie en une
resistance finie : on module une resistance (ou une conductance) donc un courant (ID ) par application
dun champ electrique transverse : le transistor NMOS est bien un dispositif `a effet de champ. Nous
allons maintenant examiner de mani`ere plus fine comment varie le courant ID quand on fait varier VGS
et VDS .
a) VDS faible, VGS variable.
Si on augment progressivement VGS (cas VGS > Vt ) la concentration n delectrons augmente dans
le canal. La conductivite du canal (de la forme = nen ) augmente. Les caracteristiques ID (VD ; VG )
sont des droites (voir figure 6.3) dont la pente dID /dVDS augmente quand VGS augmente. Le dispositif
est donc un conductance command
ee par une tension.
b) VGS fixe, VDS variable.

Figure 6.2

Phenom`ene de pincement dans un transistor NMOS `


a enrichissement. Le potentiel VD se
rapprochant du potentiel de grille VG , la couche dinversion disparat au voisinage de la jonction canal-drain.

Ayant un canal conducteur (VGS > Vt ), augmentons progressivement VDS . Pour les faibles
valeurs de VDS nous avons vu que le canal drain-source se comporte comme une simple resistance. Si on
continue daugmenter VDS le potentiel applique sur le drain modifie le potentiel dans toute la structure,
en particulier dans la partie du canal situe proche de la jonction canal-drain qui voit son potentiel
augmenter. Le potentiel du canal se rapprochant de celui de la grille, dans cette region, leffet du champ
transverse impose par la grille est attenue et la concentration delectrons n(x) est moins forte. Il en
resulte une diminution de la conductance du canal : la pente dID /dVDS diminue quand VDS augmente.
Pour une tension particuli`ere VDS = VP (VGS ) appelee tension de pincement (pinch-off voltage), la
couche dinversion disparat compl`etement dans la region du canal situee proche du drain : le canal est
pince (voir figure 6.2 ; on montre que Vp = VGS Vt ). La geometrie du canal evolue peu au del`a du
pincement (quand on augmente VDS ). Il en est donc de meme pour le courant drain. Le calcul montre
que ID augmente tr`es lentement avec VDS pour VDS > VP . On dit que la courbe ID (VDS ; VGS ) presente
une saturation pour VDS > VP (VGS ). Le courant drain quasi constant dans ce regime de saturation
sappelle le courant de saturation, que lon peut noter IDSat .
La discussion precedente conduit aux caracteristiques de sortie de la figure 6.3 : le courant drain est
dautant plus grand que la tension de grille est elevee et, pour une tension grille donnee, la caracteristique
de sortie est non lineaire : conductance constante `a faible VDS , puis diminution de la conductance
dynamique dID /dVD qui sannule pour la tension de pincement VP (VGS ). Pour VDS > VP , il y a
saturation du courant drain, qui augment tr`es leg`erement avec la tension VDS .

` TRANSISTORS.
CHAPITRE 6. TRANSISTORS, AMPLIFICATEUR A

66

Figure 6.3 Caracteristiques de sortie dun transistor MOS. Le courant drain ID est represente en fonction
de la tension entre le drain et la source VDS pour diverses valeurs de la tension de commande VGS .
Un calcul simplifie permet de determiner quantitativement les caracteristiques de sortie avant le
regime de pincement pour les transistor MOS . Dans ce mod`ele ID (VDS ; VGS ) est donne par :

1 2
ID (VDS ; VGS ) ' K (VGS Vt )VDS VDS , VDS < VGS Vt
(6.1)
2
Dans cette expression,

W COx
.
(6.2)
L S
Vt est la tension de seuil du transistor, L est la longueur de grille, W la largeur de grille, n la mobilite
moyenne des electrons dans le canal et COx /S = o Ox /dOx est la capacite par unite de surface associee
`a loxyde de grille (dOx est lepaisseur de loxyde). De lexpression 6.2 il ressort une r`egle simple : si on
fabrique deux transistors MOS pour lesquels seul W diff`ere (pour une technologie donnee, on maintient
L constant et on fait varier la largeur de grille W ), ces transistors ont des caracteristiques semblables :
ID1 (VDS ; VGS ) = ID2 (VDS ; VGS ) W1 /W2 . Cette propriete est utilisee dans les circuits integres.
La conductance gc du canal avant pincement et pour une tensionVGS fixee, est donnee par la pente
de la caracteristique ID = f (VDS ) `a VGS constant :

ID
conductance : gc =
= K [VGS Vt VDS ] , VDS < VGS Vt
(6.3)
VDS VGS
K = n

Cette conductance est maximale et vaut gcM ax = K [VGS Vt ] pour les tr`es faibles valeurs de VDS
(regime lineaire), et diminue quand VDS augmente. La conductance dynamique du canal sannule pour
la tension VDS = VDSSat appelee tension de saturation, qui est aussi la tension de pincement VP (VGS ) :
tension de saturation : VDSSat = VP (VGS ) = VGS Vt

(6.4)

Dans le regime de saturation (VDS > VDSSat ), le courant drain, qui est, dans lapproximation de ce
calcul, independant de VDS , depend de la tension grille suivant une loi parabolique (voir aussi figure
6.4) :
1
(6.5)
IDSat = K(VGS Vt )2 , VDS > VDSSat = VGS Vt
2
Cette loi constitue la caract
eristique de transfert du transistor en regime de saturation. La
transconductance gm du transistor en regime de saturation est donnee par le rapport des variations

6.3. TRANSISTOR PMOS, TECHNOLOGIE CMOS

67

Figure 6.4

Caracteristiques de transfert dun transistor MOS dans la region de saturation des caracteristiques de sortie (voir figure 6.3). Le courant drain ID est represente en fonction de la tension entre
la grille et la source VGS . Quand on fait varier VDS , la caracteristique ID (VGS ) est soit non affectee (mod`ele
simplifie), soit leg`erement modifiee (en raison de la pente positive ID /VDS des caracteristiques de sortie).

du courant drain (courant de sortie) et des variations de la tension grille (tension dentree) `a tension
drain constante :

ID

= K [VGS Vt ]
gm = gmSat = VGS
VDS >VDSSat
Regime sature :
(6.6)
IDsat
IDsat

gmSat = 2
=2
VGS VT
VP
Resumons cette discussion relative au mod`ele simplifie du transistor M OS :

VGS < Vt
regime bloque
ID = 0
0 < VGS Vt < VDS
regime sature (pentode)
1
2
I
u K = n W
L
DSat = 2 K(VGS Vt ) o`
0 < VDS< VGS Vt

regime non sature (triode)


2
ID = K (VGS Vt )VDS 12 VDS

COx
S

(6.7)

o`
u nous avons fait apparatre les noms pentode et triode, que lon utilise parfois par caracteriser les
regimes de fonctionnement du MOSFET.

6.3

Transistor PMOS, technologie CMOS

Il existe des transistors MOS, appeles PMOS, pour lesquels le courant dans le canal est vehicule par
les trous : le substrat est de type N et on fait apparatre une couche dinversion de type P en appliquant
une tension VGS < 0. La notion de trou est fondamentale pour les dispositifs `a semiconducteur. Nous
avons tente le plus possible deviter dy avoir recours, mais nous ne pouvons pas passer totalement cette
notion sous silence.
Un trou est une lacune delectrons sur une liaison covalente. Dans un semiconducteur de type P, la
conduction electrique seffectue par lintermediaire des trous. Ces trous portent la charge +e (charge
elementaire) et ont un comportement voisin (mais non egal) de celui des electrons (masse, mobilite etc...
differentes). En raison du signe des trous, partant dun dispositif base essentiellement sur les electrons,
on passe `a son homologue base sur les trous en changeant tous les signes des courants et des tensions.
Cest cette demarche quil faut utiliser pour passer du NMOS au PMOS. Par exemple, le canal de ce
dernier devient conducteur quand on applique VGS < 0 etc...
Afin de rendre totalement transposable les resultats obtenus sur le transistor NMOS, le drain et la
source dune transistor PMOS sont definis de telle sorte que VDS et ID soient negatifs ou nuls. Il suffit
donc de reprendre les resultats 6.7 en changeant tous les signes des variables (dans la constante K la
mobilite n doit etre remplacee par la mobilite des trous p ).

` TRANSISTORS.
CHAPITRE 6. TRANSISTORS, AMPLIFICATEUR A

68

Figure 6.5

Technologie CMOS : association dun transistor NMOS et dun transistor PMOS dans le
meme susbstrat. Pour fabriquer le transistor PMOS, on realise un puits de type N dans le substrat de type P
du transistor NMOS.

Dans labsolu, il nest pas interessant de remplacer un transistor NMOS par un transistor PMOS
car dans le silicium, la mobilite des trous est environ 4 fois plus faible que celle des electrons. Linteret
des transistors PMOS est par contre evident quand on les couple `a des transistors NMOS pour realiser
certaines fonctions de base. Pour les circuits de logique, cette association est fondamentale car elle permet
de realiser des inverseurs. Une technologie specifique a ete elaboree `a cet effet, la technologie CMOS.
En raison de son importance majeure, nous presentons schematiquement sur la figure 6.5 lassociation
de transistors complementaires NMOS et PMOS. Le drain et la source du PMOS sont dopes P+ (forte
concentration de trous). Dans un inverseur CMOS, le caisson N du transistor PMOS est porte au
potentiel VDD (tension de polarisation du circuit) alors que le bulk de type P (electrode B) est au
potentiel de reference (masse). Cette configuration place la jonction NP entre le caisson et le bulk en
polarisation inverse ce qui assure lindependance du fonctionnement des 2 transistors.
Remarques :
i) Les transistors MOS utilises dans les circuits analogiques sont differents (structure geometrique,
dimension) de ceux utilises dans les circuits numeriques (des courants plus importants peuvent etre
necessaires en analogique).
ii) Pour les applications dans les satellites, il est necessaire de proteger les circuits des radiations.
Une solution consiste `a diminuer au maximum le volume du substrat : le transistor est realise sur un
substrat isolant (technologie dite SOI : Silicon On Insulator).

6.4
6.4.1

Sch
ema
equivalent du MOSFET
Repr
esentation symbolique.

Il existe de nombreuses representations symboliques du transistor NMOS. La figure 6.6 en donne


trois. Dans la representation simplifiee, le bulk napparat pas. La fl`eche sortant de la source permet de
distinguer les NMOS des PMOS (elle indique le sens de circulation de ID et permet de distinguer la
source du drain ; la fl`eche est rentrante pour les PMOS). Dans la seconde representation (au milieu) on
fait apparatre le substrat (body, B). Dans la troisi`eme representation (`a droite), source, grille et body
sont disjoints pour indiquer quau repos le canal N nest pas forme pour un transistor `a enrichissement.
La fl`eche sur lelectrode de body B indique le type de transistor (elle est rentrante pour un NMOS, cest
`a dire pour un substrat de type P, sortante pour un PMOS).

6.4. SCHEMA
EQUIVALENT
DU MOSFET

69

Figure 6.6 Diverses representations dun transistor MOS.

6.4.2

MOSFET en r
egime lin
eaire.

On peut utiliser les transistors MOS en superposant des grandeurs continues (courant, tension) et
des grandeurs variables, de faible amplitude. Les grandeurs continues definissent le point de repos Q du
transistor. Les grandeurs variables font fluctuer le point de fonctionnement autour du point de repos et,
si les amplitudes sont faibles, on peut lin
eariser le comportement du transistor au voisinage du point
de repos.

Figure 6.7

Exemple de polarisation dun transistor MOS. Autour du point de repos Q on peut lineariser
le comportement du transistor vis `
a vis des petites fluctuations de courant et de tension.

Considerons le montage de la figure 6.7. Le point de repos (IDQ , VDSQ ) du transistor est `a lintersection de la droite de charge VDD = RD ID + VDS (loi des mailles ; RD est la resistance de charge)
et de la caracteristique ID (VDS ; VGSQ ) du transistor (VGSQ est fixe par la polarisation). Considerons
maintenant de petites variations de courants et de tensions, vGS , iD , vDS . Vis `a vis de ces signaux,
le transistor NMOS peut etre represente par un schema equivalent lineaire (voir figure 6.8 ). Lentree
du transistor presente une impedance (statique ou dynamique) quasi infinie. La grandeur dentree est
vGS . Cote sortie, les fluctuations du courant drain iD en fonction de vGS sont donnees par la transconductance gm (voir equation 6.6). Dans le schema equivalent ceci se traduit par la presence dune
source ideale de courant gm vGS . En fait, les caracteristiques de sortie ne sont pas horizontales : IDSat
augmente leg`erement quand VDS augmente :(IDSat /VDS )VGS =cste = (iD /vDS )vGS =0 = gd = 1/rd =
conductance de sortie du transistor. En regime de petits signaux, pour tenir compte de cet effet on
ajoute la conductance gd = 1/rd en parall`ele sur la source de courant gm vGS : iD = gm vGS + (1/rd ) vDS ,
formant une source reelle de courant Dans la litterature on ecrit :
1
= gd = IDSat /VA
(6.8)
rd
o`
u VA est la tension de Early. Typiquement, 30 V . VA . 300 V ; pour IDSat 1 mA ceci donne
rd = VA /IDSat 30 `a 300 k. Ces considerations conduisent (voir figure 6.8) au sch
ema
equivalent

70

` TRANSISTORS.
CHAPITRE 6. TRANSISTORS, AMPLIFICATEUR A

Figure 6.8 Schemas equivalent petis signaux dun transistor NMOS correspondant `a plusieurs niveaux de
complexite. Dans le mod`ele simplifie, rd = ..
petits signaux du transistor MOS (NMOS ou PMOS) `a faible frequence, cest `a dire tant que les effets
capacitifs des jonctions sont negligeables. Il est tr`es important de noter que ce schema ne concerne que
les petits signaux (fluctuations) et non pas les courants et tensions continues. Ces derniers apparaissent
indirectement, via la valeur de la transconductance gm .
Exemple numerique : on consid`ere un M OSF ET de taille moyenne avec les caracteristiques suivantes : dOx = 100 nm (couche doxyde epaisse), n = 600 cm2 V 1 s1 (valeur moyenne), fonctionnement en regime de saturation. On deduit la capacite associee `a loxyde de grille (Ox = 3.8) :
COx /S = o Ox /dOx = 3.4 104 F m2 = 0.34 f F m2 . Transconductance en regime de saturaCOx
W
5
tion : gm = W
1 . Courant drain : ID = IDSat =
L n S (VGS Vt ) = 2.1 L (VGS Vt )V 10
2
2
COx
1W
W
erons un transistor de grande dimension
2 L n S [VG Vt ] = 0.0105 L [VGS Vt ]V 2 mA. Consid
avec W = 20 m, L = 5 m, VGS Vt = 5 V , VD > 5 V . On obtient : ID = IDSat = 1.05 mA,
gm = 0.42 103 1 = 0.42 mA/V , COx = (COx /S)LW = 34 f F . La conductance de sortie gd est
nulle dans le mod`ele simplifie du M OSF ET (caracteristiques ID (VG = cste; VD > VDSat ) horizontales).
Sur le plan des composants discrets, citons le NMOS `a enrichissement 2N2222 (utilise en TP ; botier
plastique TO-92) utilisable pour lamplification et la commutation. Vt = 2.3V (mais peut etre nettement
plus faible : forte dispersion des caracteristiques) ; puissance maximum VDS ID = 0.3 W , transconductance pouvant atteindre 200 mA/V `a tr`es fort courant (ID = 500mA, mais pendant un tr`es bref
instant).

6.5
6.5.1

Autres transistors
Le transistor `
a effet de champ `
a jonction (JFET)

Il existe un autre type de transistor `a effet de champ, le JFET (Junction Field Effect Transistors).
Le principe est exactement le meme, mais les moyens utilises sont tr`es differents (voir figure 6.9). La
capacite MOS du MOSFET permettant dinduire un champ dans le canal via une tension sur la grille
est remplace par une jonction PN (une diode) polarisee en sens inverse : le courant grille est tr`es faible
(mais non nul). Les caracteristiques electriques sont voisines de celle du MOS.

6.5.2

Le transistor bipolaire (BJT)

Le transistor bipolaire a ete pendant plusieurs decades le transistor le plus utilise. Historiquement,
les premiers transistors bipolaires utilisaient le germanium ; rapidement ils furent fabriques en silicium,
pour des raisons technologiques. Sur le plan des abreviations, on rencontre le plus souvent labreviation
BJT (Bipolar Jonction Transistor).
Tr`es schematiquement, on peut representer le transistor bipolaire N P N comme sur la figure (6.10) :
successivement une region de type N puis P puis N. Il existe donc deux diodes PN tete beche. On observe
que la structure dun transistor N P N nest pas symetrique. La region de type N la plus dopee sappelle
l
emetteur. Lautre region N , moins dopee et de plus grande dimension sappelle le collecteur. La


` MOSFET
6.6. AMPLIFICATEUR LINEAIRE
A

71

Figure 6.9 Schema en coupe dun transistor `a effet de champ `a jonction (JFET) `a canal N.

Figure 6.10 Representation schematique dun transistor bipolaire N P N , et sa representation symbolique.


Le symbole N + indique un tr`es fort dopage de type N.

region centrale, de faible epaisseur WB et avec un dopage moyen de type P est la base. Il nexiste quune
seule representation symbolique du transistor bipolaire N P N (voir figure (6.10)) : la fl`eche sortant de
lemetteur represente le sens reel de circulation du courant quand le transistor fonctionne en mode actif
(il sagit en fait dun courant delectrons ; ces derniers circulent donc en sens inverse : ils sont emis
de lemetteur vers le collecteur pour un transistor N P N ). Pour le transistor P N P , le symbole est
quasi-identique, la difference portant sur le sens de la fl`eche (le courant rentre dans lemetteur).
Un transistor bipolaire fonctionne en regime actif quand la jonction base-emetteur est polarisee dans
le sens direct, et la jonction base-collecteur dans le sens inverse. Pour un transistor N P N , ceci implique :
VBE > 0 et VCB > 0. En regime actif, le transistor est traverse par des courants importants (IC et IE
grands). On peut faire varier ces courants en agissant sur la tension VBE ou sur le courant base IB :
la base est lelectrode de commande (analogue `a la grille pour les FET). La difference essentielle est
quici le courant de commande nest pas negligeable (contrairement au cas des MOSFET ; on a toutefois
IB IC : la puissance mise en jeu sur lelectrode de commande est faible devant celle mise en jeux
dans le collecteur).

6.6

Amplificateur lin
eaire `
a MOSFET

On peut realiser un amplificateur de tension (mais surtout de courant, donc de puissance) avec un seul
transistor MOS. Reprenons le schema dej`a utilise figure 6.7. Ce montage est un amplificateur. Le signal
dentree est e et le signal de sortie est la tension aux bornes de la resistance de charge. Transformons
leg`erement le montage (voir figure 6.12.a) de mani`ere `a nutiliser quune seule source de tension continue
VDD . Ceci nous am`ene `a introduire deux resistances supplementaires.

` TRANSISTORS.
CHAPITRE 6. TRANSISTORS, AMPLIFICATEUR A

72

Figure 6.11 Transistor NPN en regime actif : la diode base-emetteur est polarisee en sens direct et la diode
base-collecteur en inverse. Avec la convention de signe, toutes les tensions et tous les courants sont positifs.

Figure 6.12 a) Amplificateur `a MOSFET. Il sagit du montage source commune. b) Schema equivalent
petits signaux.

6.6.1

Polarisation

Le pont de resistances RG1 , RG2 forme un diviseur de tension qui permet de fixer le potentiel
continu sur la grille (le courant continu de grille est nul).
VGM = VGSG = VDD

RG1
RG1 + RG2

o`
u M designe le potentiel de reference (la masse), qui est egalement le potentiel de la source dans
ce montage tr`es simple.
Prenons le mod`ele simplifie du MOSFET. Dans la region de saturation des caracteristiques, on a
approximativement IDQ = 12 K(VGSQ Vt )2 . Par un choix judicieux du rapport RG1 /RG2 on peut donc
IDQ
.
imposer une valeur bien choisie du courant drain, et donc de la tranconductance gm = 2
VGSQ Vt
Connaissant le courant drain, le choix de la resistance de charge RD influe sur la tension VDS : VDD =
VDS + RD ID , soit VDSQ = VDD RDQ IDQ .

6.6.2

R
egime de petits signaux

Pour relier la source de tension variable e `a lentree de lamplificateur, nous devons mettre une
capacite de liaison CL . En effet, cette capacite peut laisser passer les signaux variables (impedance
1/C) mais pas les signaux continus, preservant la tension de polarisation VGSG . Si CL est elevee elle
se comporte comme un quasi court-circuit vis `a vis des signaux variables. La tension de sortie Vs , que lon
peut par exemple mesurer avec un oscilloscope, est la tension entre le drain et la masse : Vs = VD VM .


` MOSFET
6.6. AMPLIFICATEUR LINEAIRE
A

73

Comme limpedance de loscilloscope est elevee, il nest pas necessaire de placer un condensateur de
liaison. Une nouvelle difficulte apparat, concernant la source continue VDD . Dans un schema equivalent
petits signaux, on sinteresse uniquement aux fluctuations de tension et de courant autour dun point de
repos. Ainsi, les tensions continues disparaissent (sont remplacees par des court-circuit). Il en resulte
que la tension de sortie est egalement la tension aux bornes de RL (comme si VDD = 0).
Remplacons le MOSFET par son schema equivalent. Le schema equivalent de lamplificateur vis
`a vis des petits signaux est donne sur la figure 6.12.b. Nous notons ve , vs , iD , vGS , vDS (petites
lettres) les fluctuations des tensions et des courants. Le schema nous indique que vGS = ve = e, et
vs = RD iD = RD gm vGS = RD gm e. Lamplification en tension AV du montage est donc :
AV =

vs
= gm RD
ve

(6.9)

Remarque : en grands signaux, on ne peut plus faire lhypoth`ese gm constant. Il en resulte que le
signal de sortie est tr`es distordu : notre amplificateur nest lineaire que pour de petits signaux. Bien
entendu on sait faire beaucoup mieux en electronique (voir les AO).

6.6.3

Exemple num
erique

p
On suppose K = 10 mA/V 2 et Vt = 2V On souhaite IDQ = 20mA. Do`
u, VGS Vt = 2IDQ /K =
2V , soit VGS = 4V . On dispose dune source VDD = 12V . Le pont de resistance doit donc partager VDD
en 4V aux bornes de RG1 et 8V aux bornes de RG2 , soit RG2 = 2RG1 .On souhaite que la resistance
dentree Re de lamplificateur soit 1 M . Le schema equivalent nous indique que Re est donne par la
mise en parall`ele des deux resistances du pont, 1/Re = 1/RG1 + 1/RG2 . Si on choisit RG1 = 1.5M ,
donc RG2 = 3M , on obtient (unite M ), 1/Re = 2/3 + 1/3 = 1, et donc Re = 1M ce qui satisfait
juste la contrainte sur Re . On souhaite avoir le point de repos au milieu de la droite de charge, cest `a
dire VDSQ = VDD /2 = 6V . Ceci assure une valeur maximum de la dynamique de sortie. On en deduit
IDQ
RD IDQ = 6V , soit RD = 300. La transconductance est gm = 2
= 40mA/2V = 20mA/V .
VGSQ Vt
Enfin, lamplification en tension est AV = 0.02 300 = 6. Ce nest pas enorme mais lamplification
en courant est tr`es grande et donc aussi lamplification en puissance.
Remarque : quand on presente le probl`eme en sens inverse en donnant les valeurs des resistances et
que lon cherche le point de repos, on peut etre amene `a resoudre une equation du second degre (en
raison de la loi quadratique ID = 12 K(VGS Vt )2 ).

74

` TRANSISTORS.
CHAPITRE 6. TRANSISTORS, AMPLIFICATEUR A

Chapitre 7

Introduction `
a lElectronique
num
erique
7.1

N
ecessit
e dune Electronique num
erique

Dans les chapitres precedents nous avons entrevu comment on pouvait generer et traiter des signaux
analogiques, mais sans entrer vraiment dans des applications concr`etes. Prenons ici un point de vue
pragmatique. Ces signaux analogiques sont par exemple issus dune experience de physique. Comment
conserver linformation quil contiennent en vue dune analyse ulterieure, dune confrontation `a dautres
resultats dexperiences effectuees dans un autre laboratoire, dun archivage ? Un solution consiste `a
representer les resultats sous forme de courbes, dans le meilleur des cas en reliant lexperience `a une table
tracante. Cette solution a ete utilisee pendant de nombreuses annees (par exemple dans le cas simple
de la mesure de levolution de la temperature en fonction du temps, on placait du papier millimetre sur
un cylindre rotatif et un bras termine par un stylet tracait la courbe en question). Aujourdhui, cette
approche nous semble dater du XIXe`me si`ecle alors quelle etait encore tr`es courante dans la seconde
moitie du XXe`me si`ecle. Aujourdhui, on utilise de plus en plus les ordinateurs pour effectuer les taches
en question. Qui plus est, certaines parties des experiences sont pilotees par un ordinateur (voir par
exemple le logiciel LabView) : le Numerique a pris une place majeure en physique experimentale.
On ne doit bien s
ur pas limiter linteret de lElectronique numerique aux seuls laboratoires de physique. Faisons une liste non exhaustive de linteret de cette discipline.
a) Afin de stocker et de transmettre des signaux analogiques, on peut les echantillonner : la transmission numerique nest pas alterable (en principe) et la numerisation permet le stockage.
b) La numerisation sous forme doctets (8 bits = 8 binary digits) permet deffectuer des operations
arithmetiques (comparaison , addition etc..), dediter et de stocker des documents (traitement de texte
etc...), de classer.
c) LElectronique numerique permet deffectuer des operations logiques. Les applications sont tr`es
nombreuses (gestion du mouvement dun ascenseur par exemple)
d) Elle permet de controler des chanes de production, de prendre des decisions.
e) Elle permet laiguillage de linformation (par exemple, central telephonique).
f ) Elle permet linterfacage (relier des instruments `a un ordinateur, par exemple dans un avion)
g) Les microprocesseurs, les ordinateurs sont des dispositifs tr`es complexes utilisant toutes les potentialites de lElectronique numerique.
h) Les syst`emes de communication, television, telephone mobile, le guidage (GPS..), linstrumentation medicale, et meme lelectromenager et lautomobile utilisent lElectronique numerique.
A titre dillustration, prenons un exemple concret, celui dune chane de production effectuant une
operation repetitive simple. Il sagit par exemple de remplir des flacons avec des comprimes dans une
usine pharmaceutique. Les flacons sont vehicules sur un tapis roulant. Un recipient contenant un grand
nombre de comprimes alimente les flacons. Il est muni dune vanne. Un operateur muni dun ordinateur
peut decider du demarrage de la chane ou de son arret, et egalement du nombre no de comprimes par
flacon. Linformation transite par le clavier de lordinateur. Cette action (frapper des touches sur un
clavier) doit en definitive se retrouver sous forme dun nombre binaire dans un registre. Ceci necessite
75

76

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

des operations complexes via lordinateur, en particulier le codage en binaire de linformation. Au niveau
des flacons et du remplissage, il est necessaire dimpliquer des moyens de detection pour constater la
presence dun flacon, pour compter les comprimes. Supposons qu`a un instant donne un flacon soit en
bonne position et que le remplissage seffectue (vanne dadmission des comprimes ouverte). A laide dune
diode laser et dune photodiode on detecte le passage de chaque comprime (quand un comprime passe, la
photodiode nest pas eclairee). Cette information est transmise `a un compteur qui sincremente dune
unite `a chaque passage. Soit n le contenu du compteur. n est envoye dans un comparateur : tant que
n < no , on laisse le processus continuer. Quand n = no , le comparateur envoie un signal sur la commande
de vanne, laquelle se ferme. De meme, ce signal met en route le tapis roulant qui evacue le flacon plein
et am`ene un flacon vide. Un syst`eme optique detecte la presence du flacon vide et remet en route le
processus (ouverture de la vanne etc..) tout en faisant la remise `a zero (RAZ) du compteur (n = 0). On
peut egalement controler visuellement le deroulement des operations via un afficheur qui peut indiquer
en decimal (diodes electroluminescentes formant 7 segments, ou affichage `a cristaux liquide) le nombre
total de comprimes utilises et le nombre de bouteilles remplies (ces nombres etant calcules `a laide dun
additionneur). Ceci necessite un compteur decimal et un d
ecodeur 7 segments) etc...
Cet exemple nous a permis dintroduire quelques fonctions logique de base. En voici une liste elargie :
a) La comparaison de nombres binaires
b) La realisation doperations arithmetique : +, , , .
c) Le codage (decodage, conversion de code)
d) La selection de donnee (multiplexage, demultiplexage)
e) Le comptage
f ) Le stockage (bascule, registre, ROM, RAM, etc...)
Ces fonctions logiques de base forment lessentiel de cette introduction `a lElectronique numerique.

7.2

Transistors et nombres binaires

Lobjet de ce paragraphe est de montrer comment on peut numeriser linformation avec les composants de lElectronique analogique, pourquoi le syst`eme de numeration binaire est le mode de representation
naturel des nombres en Electronique numerique et comment on peut faire du numerique avec des circuits
analogiques.

7.2.1

Niveaux haut et bas

Lidee est dassocier un nombre entier `a letat dun transistor (nous faisons limpasse sur lepoque
de la logique `a diode). Traditionnellement, on considerait quun transistor pouvait se trouver dans 3
etats possibles : en regime lineaire (cas des amplificateurs `a transistors), en regime bloque (le courant
principal est nul, courant drain ID pour un FET, courant collecteur IC pour un BJT), et en regime
sature (ce regime est particulier au BJT ; il na pas de signification tr`es precise pour un FET). On peut
en fait reduire ce nombre `a 2 avec le point de vue suivant : ou bien le courant principal est negligeable
(transistor bloque), ou bien il ne lest pas (transistor passant). Partant de cette constatation, si on
cherche `a representer letat dun transistor par un nombre, la solution la plus simple est dutiliser les
nombres entiers 0 et 1 (plutot que 1 et 2 ou 1 et -1 etc...). D`es lors il est inutile dutiliser le syst`eme
decimal : le syst`eme `a base 2 (syst`eme binaire) est suffisant.
Ceci ne suffit pas pour faire du numerique. En effet, lidee ci-dessus peut permettre denvisager
le stockage de linformation avec des transistors (on sait faire cela aussi avec des condensateurs, des
materiaux magnetiques etc...) mais pas deffectuer toutes les operations logiques listees dans le 7.1.
Pour aller plus loin il faut definir les signaux electriques qui vont permettre de modifier letat des
transistors. Fort heureusement, la technologie des transistors est telle quil est possible de plonger un
transistor dans letat bloque ou non bloque (passant) avec des signaux de type binaire. Ces signaux sont
des tensions, V . On definit deux niveaux (voir figure 7.1.a), qui sont en fait des intervalles de tension.
Si V > VtH o`
u VtH est une tension de seuil haut, on dit que V est `a letat haut (H). De meme, si
V < VtL o`
u VtL est une tension de seuil bas (L = low), on dit que V est dans letat bas (L). Pour des
raisons technologiques, V est positif et confine dans lintervalle 0 < V < Vmax . Dans la logique dite TTL
(Transistor Transistor Logic), Vmax = 5 V . Pour des raisons de consommation (dissipation denergie) on

7.2. TRANSISTORS ET NOMBRES BINAIRES

77

Figure 7.1 Definition des niveaux haut (H) et bas (L).


a tout interet `a diminuer Vmax et actuellement de nombreux circuits numeriques fonctionnent avec des
tensions sensiblement inferieures `a 5 V (par exemple 3.3 V).
Le fait davoir defini des etats (H ou L) par des intervalles de tension et non pas par des tensions (0 et
5 V par exemple) nest pas anodin. Cest tout dabord un point de vue aux antipodes de la conception
des signaux en electronique analogique (on perd de linformation). De plus, cette definition offre la
possibilite dune tr`es grande immunite des circuits numeriques au bruit (voir figure 7.1.b). Si les valeurs
standards de V dans les circuits numeriques sont tr`es proches de 0 V et Vmax , la probabilite de trouver
VtL < V < VtH (d
u `a la presence dun bruit), cest `a dire ne correspondant ni au niveau H ni au niveau
L est extremement petite.

7.2.2

Linverseur CMOS

Plutot que developper laspect memorisation de linformation avec des transistors (voir chapitre 9),
nous considerons maintenant loperation logique la plus elementaire qui consiste `a transformer un niveau
H en un niveau L et reciproquement. Cette operation sappelle linversion (elle na rien `a voir avec
linversion arithmetique) Ceci va nous permettre `a la fois detudier concr`etement le comportement des
transistors et la nature des signaux (tensions) definissant les niveaux H et L.

Figure 7.2

a) Inverseur CMOS. b) Transistors vus comme des resistances. Si le NMOS est bloque et le
PMOS passant, RN RP et Vs ' VDD . c) Fonction de transfert.

La figure 7.2.a represente un inverseur en technologie dite CMOS. Il est constitue de deux transistors
MOSFET compl
ementaires, un NMOS et un PMOS (noter labsence de toute resistance !). La tension
dalimentation VDD est fournie par une source ideale de tension. Elle est reliee `a la source SP du PMOS,

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

78

de sorte que le courant ID est oriente de la source vers le drain DP . Ce dernier est relie au drain DN du
NMOS et ID est oriente de DN vers la source SN du NMOS. Le sens de circulation de ID est en accord
avec la description donnee dans le chapitre 6 (tous les signes sont changes quand on passe du NMOS au
PMOS). Les deux grilles GN et GP sont reliees et constituent lentree de linverseur : le courant dentree
est negligeable. La sortie de linverseur correspond aux drains relies DN et DP .
On sait quun NMOS est non bloque (passant) si VGSN > VtN (seuil) et que de meme un PMOS est
passant si VGSP < VtP . Faisons varier de mani`ere continue la tension dentree Ve entre 0 et VDD et
cherchons les variations correspondantes de la tension de sortie Vs : la courbe Vs = f (Ve ) sappelle une
caract
eristique de transfert. Si Ve = 0, comme VSN = 0 (le potentiel de reference est donne par la
borne de la source de tension), VGSN = 0 : le NMOS est donc bloque. Pour le PMOS, VGSP = VDD :
le PMOS est non bloque. Nous somme donc en presence de la mise en serie de 2 transistors, lun bloque et
lautre non. Le courant ID est donc negligeable. Quel est alors le potentiel Vs = VDN = VDP ? Supposons
que la sortie du montage soit ouverte (non connectee). Le courant de sortie Is est nul. On est donc en
presence dun probl`eme proche de lelectrostatique. Aussi petit soit ID , le potentiel passe de VDD sur SP
`a 0 sur SN : le potentiel en DN est donc intermediaire entre VDD et 0. On peut representer le canal des
transistors par des resistances (voir figure 7.2.b) : un resistance enorme RN b pour le NMOS (bloque) et
une resistance assez faible RP nb pour le PMOS (non bloque). Ces resistances sont en serie et parcourues
par le meme courant ID . On a donc affaire `a un diviseur de tension et avec une tr`es bonne precision,
Vs = VDD . Si on branche une resistance de charge RL `a la sortie de linverseur, il circule un courant IL
dans cette resistance et comme le NMOS est bloque, la loi des noeuds en DN nous conduit `a un courant
IDP = IL dans le PMOS, et un courant IDN nul dans le NMOS. Si RL est grand devant RP nb (mais
tr`es petit devant RN b ), Vs reste tr`es voisin de VDD (si on relie la sortie de linverseur `a dautres circuits
numeriques, les courants IL seront toujours tr`es petits ; dans le cas contraire il faut prendre quelques
precautions !).
Placons nous maintenant dans la situation inverse : Ve = VDD : le NMOS est non bloque (resistance
RN nb ) et le PMOS est bloque (resistance RP b ). Cette fois le diviseur de tension conduit avec une bonne
precision `a Vs = 0. Si nous revenons maintenant `a laspect purement logique, si lentree est au niveau
bas (L) la sortie est au niveau haut (H) et reciproquement : il y a bien inversion.
Il reste `a determiner ce qui se passe quand Ve passe par toutes les valeurs intermediaires entre 0 V
et VDD . Ce nest pas une question facile et non ne donnerons que le resultat (voir figure 7.2.c). La
tension de sortie passe progressivement de VDD `a 0 mais on note la presence dune transition brutale
pour Ve = Vt . La valeur de cette tension de seuil de basculement Vt de la sortie est voisine de VDD /2
(la technologie permet de choisir Vt ). On comprend mieux la necessite, ici technologique, de definir les
niveaux H et L par des intervalles : il ny a aucune ambigute sur letat de lentree et de la sortie malgre
la forme arrondie de la caracteristique de transfert.

7.3

Codage de linformation

On sait manipuler des 0 et des 1 `a laide de transistors. Il est donc possible de manipuler des nombres
entiers, mais au lieu de les ecrire dans le syst`eme `a base 10, on doit utiliser le syst`eme `a base 2. Nous
allons voir que la question est en fait plus vaste.

7.3.1

Correspondance base 10 - base 2

Le principe de numerotation est exactement le meme dans les deux syst`emes. Voici la correspondance :
N10
N2

7.3.2

0
0

1
1

2
10

3
11

4
5
100 101

6
110

7
111

8
1000

9
1001

10
11
12
13
1010 1011 1100 1101

14
15
16
1110 1111 10000

Code de Gray

Pour des raisons de logique des circuits (voir aussi diagrammes de Karnaugh) on peut etre amene `a
modifier la correspondance naturelle donnee ci-dessus. Le code de Gray consiste comme ci-dessus `a
incrementer lecriture binaire du nombre entier mais avec la contrainte forte suivante : on ne doit pas

7.3. CODAGE DE LINFORMATION

79

changer plus dun bit `a chaque operation. Cela donne le resultat curieux suivant (noter que lon a fait
apparatre un nombre constant de bits pour plus de clarte) :
N10
NGray

0
000

1
2
001 011

3
010

4
110

5
6
111 101

7
100

Clairement, ce code nest pas adapte pour faire des additions !

7.3.3

Entiers n
egatifs

Pour representer un entier negatif, par exemple 6, on peut par exemple representer 6 soit 110 et
rajouter un bit supplementaire, le bit de signe bs , avec un convention arbitraire, par exemple bs = 1 si
le signe est negatif et bs = 0 dans le cas contraire. Cela donnerait +6 = (0)110 et 6 = (1)110. En fait
il existe une representation (donc un code) plus astucieux. Ce code est base dune part sur le fait que
6 + 6 = 0 et dautre part sur le fait que dans les ordinateurs les nombres entiers secrivent `a laide
dun nombre donne de bits, toujours le meme. Supposons pour faire court que ce nombre soit egal `a 4 :
1 bit de signe et 3 bits pour ecrire le nombre. On pourra donc ecrire les entiers positifs N de 0 `a 7 sous
la forme 0000, 0001, ... 0111. Pour les entiers negatifs le code est le suivant :
N10
N2neg

0
0000

1
1111

2
1110

3
1101

4
1100

5
6
1011 1010

7
1001

Il est facile de percer `a jour ce code : pour ecrire N , on ecrit 24 N = 16 N (par exemple 1111
= 15 = 16 -1 etc...). Linteret de ce code est evident. Pour effectuer la difference N N on effectue
laddition N + N2neg . Dans tous les cas le resultat est 10000 = 24 . Comme le bit de poids fort egal `a 1
est en dehors de la representation (cinqui`eme bit), il disparat, et le resultat est simplement 0000, qui
represente bien zero !

7.3.4

Hexad
ecimal

Le syst`eme decimal nest pas du tout adapte au langage des ordinateurs. Le syst`eme binaire sy
prete `a merveille mais le nombre important de bits nuit `a la lisibilite. Le syst`eme hexadecimal est `a
base 24 . Comme les ordinateurs manipulent des octets (2 fois 4 bits), cest un syst`eme tr`es bien adapte.
Par analogie avec le syst`eme decimal, le chiffres de 0 `a 9 secrivent egalement 0, 1...9. Puis les chiffres
correspondants `a 10, 11,..15 secrivent ABCDEF. Cela donne par exemple pour un octet :
N10
NHex

7.3.5

2
02

9
09

10
0A

15
0F

16
10

17
11

33 127
21 F F

Code ASCII

Quand on ecrit un texte en format TXT avec un logiciel elementaire (bloc-note etc..) , on frappe
des caract`ere sur un clavier. A chacun de ces caract`eres correspond un code binaire dans le fichier
resultant. Avec 7 bits on peut ecrire 27 = 128 caract`eres differents. La correspondance est arbitraire.
Cest le code ASCII qui est maintenant universellement utilise (USA bien s
ur ; mais heureusement quil
ny a quun seul code !). Comme lentite elementaire dans les ordinateur est loctet (8 bits) le bit de poids
fort nest pas utilise : il est `a zero. Avec ce bit `a 1, on peut coder 128 caract`eres de plus, correspondant
au code ASCII dit etendu, ce qui permet decrire certaine langues bizarres comme le francais, le grec, les
mathematiques etc.., o`
u il existe des caract`eres comme `a, e, , , ...). Voici quelques exemples (pour
alleger lecriture on utilise lecriture hexadecimale des entiers ; pour eviter des confusion, on termine
cette ecriture par le caract`ere h, comme hexadecimal) :
Caract`
ere
ASCII

0
30h

1
31h

a
61h

b
A
62h 41h

B
42h

espace retour charriot


20h
0Dh

Il importe donc de bien distinguer le caract`ere zero 0 dont le code est 30h du nombre binaire zero
(on dit zero binaire) dont la representation binaire sur 8 bits est 00h = 00000000

80

7.4

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

Portes logiques

Nous avons presente ci-dessus lexemple le plus fondamental de circuit numerique, linverseur CMOS.
Il existe dautres operations considerees comme elementaires en Electronique numerique. Ces fonctions
sont realisees par des circuits numeriques appeles porte (ou porte logique, ou logic gate). Comme
leur nombre est tr`es limite, nous les passons toutes en revue, sans oublier linverseur dej`a etudie. Par
definition, ces portes comportent une seule sortie. Le nombre dentree est par contre variable. Dans
tout ce paragraphe nous nous placons en logique dite positive, chose que nous avons implicitement
faite depuis le debut : le niveau H des circuits correspond au nombre binaire 1 et le niveau L `a 0 (la
convention est inverse en logique negative, mais nous tenterons deviter ce genre de complication).

Figure 7.3 Representation graphique des portes logiques : repesentation ancienne (USA) et representation
suivant la norme IEEE/ANSI. a) Inverseur. b) Porte ET (AND) et NON-ET (NAND). c) Porte OU (OR) et
NON-OU (NOR). d) Porte OU exclusif (XOR)

7.4.1

Inverseur (porte NON ou NOT)

La figure 7.3.a represente un inverseur. Cette porte comporte une seule entree. La grandeur dentree
est notee A. Elle peut prendre seulement deux valeurs 0 ou 1. Par reference au mathematicien Boole,
A est dite variable booleenne. La sortie X est aussi une variable booleenne, qui est linverse de A. On
peut resumer la fonction de la porte `a laide dune table de v
erit
e, qui envisage tous les cas de figure
possibles pour les variables. Voici cette table :
Inverseur
A
0
1

X=A
1
0

7.4. PORTES LOGIQUES

81

Il existe une notation particuli`ere pour representer linversion : on place un barre au dessus de la
variable :
X=A
Pour des raisons de simplicite typographique, on rencontre aussi la convention suivante :
X = A = A0

7.4.2

Porte ET (AND) et NON-ET (NAND)

La figure 7.3.b represente une porte ET (AND) `a deux entrees (variables A et B). La table de verite
est la suivante :
ET (AND)
A B X = A.B
0 0
0
0 1
0
1 0
0
1 1
1
Du point de vue de lalg`ebre de Boole, la porte ET effectue le produit de A par B (0 element neutre
de laddition, 1 element neutre de la multiplication).
Pour des raisons technologiques, on utilise beaucoup les portes NON-ET (NAND). Elle correspondent
`a la mise en cascade dune porte NON (inverseur) `a la sortie dune porte ET (AND). Au lieu de
representer explicitement linverseur on le remplace par un petit cercle place `a la sortie de la porte (voir
fig. 7.3.b). La table de verite est obtenue en inversant A.B :
NAND (NON ET)
A
0
0
1
1

B
0
1
0
1

X = A.B
1
1
1
0

Remarques :
a) il existe des portes AND et NAND `a 3, 4.. entrees. La table de verite se deduit tr`es facilement de
celle correspondant `a 2 entrees, si on analyse ces tables de la mani`ere suivante : la sortie dune porte
AND est `a 1 si toutes les entrees sont `a 1 ; elle est `a 0 dans tous les autres cas. De meme, pour la porte
NAND, la sortie est `a 0 si toutes les entrees sont `a 1 ; elle vaut 1 dans tous le autres cas.
b) Comment faire pour utiliser une porte AND `a 3 entree A, B, C, quand seulement deux entrees
A, B sont necessaires ? La sortie est Y = (A.B).C. Il suffit donc dimposer C = 1, cest `a dire de relier
lentree C `a la tension dalimentation VDD des circuits (niveau H).

7.4.3

Porte OU (OR) et NON-OU (NOR)

La porte NAND correspond `a une multiplication au sens de lalg`ebre de Boole, mais fortuitement,
correspond aussi `a la multiplication arithmetique de 2 bits. La porte OU (OR) correspond `a une addition
au sens de lalg`ebre de Boole, mais cette fois le parall`ele avec laddition arithmetique de 2 bits ne tient
plus. La figure 7.3.c represente une porte OU (OR) `a deux entree. La table de verite est :
A
0
0
1
1

OU (OR)
B X =A+B
0
0
1
1
0
1
1
1

On voit apparatre un particularite de lalg`ebre de Boole : 1+1=1 ! En fait, cela est tout a fait
coherent si on prend un point de vue technologique. 1 veut dire H (niveau haut), cest `a dire (en logique

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

82

positive), V ' VDD . Si , `a laide de transistors etc..., on combine (additionne) deux tensions voisines
de VDD on ne peut en aucun cas obtenir 2VDD puisque la plus grande tension dans les circuits (hors
regimes transitoires) est VDD .
Comme pour les porte NAND, il existe des portes NOR (NON-OU) obtenues en rajoutant un inverseur (cercle) `a la sortie dune porte OU (voir figure 7.3.c), do`
u la table de verite :
NOR (NON OU)
A
0
0
1
1

B
0
1
0
1

X =A+B
1
0
0
0

Il existe egalement des portes NOR `a 3, 4... entrees.

7.4.4

Porte ou exclusif (XOR)

Ces portes (voir figure 7.3.d) permettent en particulier de realiser des additions arithmetiques. La
table de verite est :
XOR (Ou exclusif)
A B X =AB
0 0
0
0 1
1
1 0
1
1 1
0
cest `a dire que la sortie X vaut 1 si les deux entrees ne sont pas egales. Considerons une addition
arithmetique de 2 bits dans le syst`eme `a base 2. On a successivement 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1
et 1 + 1 = 0 et je retiens 1. Cette retenue nest pas presente dans la table de verite mais on realise
facilement linteret de cette porte logique pour effectuer des additions dans les processeurs. Pour ne pas
confondre avec laddition booleenne (porte OU), on utilise le symbole suivant :
X =AB
A partir de la table de verite, on peut exprimer cette fonction `a laide de somme et de produits :
X = AB + AB
Remarque : il existe aussi des portes NON ou exclusif, cest `a dire dont la sortie est X = A B.

7.5
7.5.1

Alg`
ebre de Boole
Addition, multiplication

Nous avons dej`a entrevu en quoi consiste lalg`ebre de Boole qui regit le comportement des variables
booleennes (comme A, B, X). Pour laddition et la multiplication nous avons
A B
0 0
0 1
1 0
1 1

A+B
0
1
1
1

A.B
0
0
0
1

`
7.5. ALGEBRE
DE BOOLE

83

7.5.2

Th
eor`
emes et axiomes

7.5.2.1

Th
eor`
eme de De Morgan

Nous avons vu `a propos des porte NOR et NAND quil est courant de prendre linverse dune somme
ou dun produit. Il existe un theor`eme d
u `a De Morgan (on peut verifier sur tous les cas de figure)
qui permet deffectuer des transformations algebriques dans ce domaine :

A + B = A.B
AB = A + B
Il existe bien dautres axiomes et theor`emes. En voici une liste exhaustive :
Commutativit
e
Associativit
e
Distributivit
e
Element neutre

addition(OR)
A+B =B+A
A + (B + C) = (A + B) + C
A + BC = (A + B)(A + C)
A+0=A

multiplication(AN D)
AB = BA
A(BC) = (AB)C
A(B + C) = AB + AC
A.1 = A

Compl
ement
T heor`
eme
T heor`
eme
T heor`
eme

A+A=1
A+1=1
A+A=A
A + AB = A

AA = 0
A.0 = 0
A.A = A
A(A + B) = A

De M organ

A + B = A.B

AB = A + B

(7.1)

Nous avons considere un nombre limite de variables dans lecriture des theor`emes. On peut sans
difficulte les etendre. Par exemple, pour le theor`eme de De Morgan, grace `a lassociativite,
A + B + C = A.B.C

ABC = A + B + C etc..

Exemple : calculons le complement de F = ABC +ABC par le theor`eme de De Morgan et simplifions


le resultat par lalg`ebre :
F = ABC + ABC = (A + B + C)(A + B + C) = A(A + B + C) + B(A + B + C) + C(A + B + C)
En utilisant lidentite X + XY = X, lexpression se simplifie en
F = A + B.A + B.C + AC + BC = A + B.C + BC
Remarques :
i) Il existe un principe de dualite en alg`ebre de Boole. Si on consid`ere les deux colonnes du tableau
7.1, on remarque que lune se deduit de lautre en faisant les substitutions suivantes : laddition devient
une multiplication, la multiplication devient une addition, 0 devient 1 et 1 devient 0. Ceci est general : si
deux expressions booleennes sont egale, on conserve cette identite en faisant les substitutions indiquees
ci-dessus (mais bien s
ur les deux expressions changent).
iii) Il existe une procedure systematique, basee sur la dualite, pour determiner le complement F dune
expression F (A, B, C, ...). Il suffit de changer les produits en somme (AND en OR) et reciproquement
les sommes en produit (OR en AND, de changer les 0 en 1 et les 1 en 0 et de complementer toutes les
variables. Appliquons ce theor`eme sur lexemple F = A.(BC + BC) :

F = A + (B + C).(B + C) = A + BC + BC = A + B C
7.5.2.2

Ordre d
evaluation des expressions.

Pour completer ces theor`emes, ajoutons la r`egle suivante. Quand on doit evaluer une expression
logiques comprenant des sommes, des produits, des inversion, il importe de ne pas effectuer les operations
dans nimporte quel ordre. Considerons lexemple suivant :

Y = [A + BC.(D + E)] . C + D

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

84

Pour developper lexpression, on effectue en premier les calculs dans les parenth`eses, puis si necessaire
on effectue le complement, les multiplications et enfin les additions. Soit :
Y = [A + BC.D + BCE)] . [CD] = ACD + BCD + BCDE

7.6

Fonctions logiques

7.6.1

D
efinition.

Nous avons jusqu`a present considere des portes logiques. En combinant un grand nombre de portes
logiques mais en faisant toujours transiter linformation dans le sens de lentree vers la sortie, on peut
realiser des fonction logiques complexes (ou fonctions booleennes), dont la forme generale peut secrire :
Y = F (A, B, C, D....)
Ces fonctions sont donc associees `a un circuit pouvant comporter un grand nombres dentrees mais
une seule sortie. De plus, la connaissance de toutes les variables dentree permet de determiner `a coup
s
ur la variable de sortie. Un tel circuit sappelle un circuit combinatoire.
La question est maintenant de savoir comment exprimer cette fonction F (quel est par exemple
lequivalent de y = f (x, , ) = (2 x2 ) cos(t + )). Comme les variables sont discr`etes (0 ou 1) une
solution consiste `a envisager tous les cas de figures possibles (ce qui reviendrait `a representer la courbes
y = f (x, , ) pour un nombre infini de points !). Nous avons dej`a utilise cette approche : on donne la
table de v
erit
e de la fonction. Prenons lexemple dune fonction de 3 variables A, B, C :
N
0
1
2
3
4
5
6
7

A B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1

C
0
1
0
1
0
1
0
1

F (A, B, C)
0
0
1
0
0
1
0
1

(7.2)

Toute linformation y est, mais la representation est un peu lourde. Noter que avec 3 variables
independantes on peut effectuer 23 = 8 combinaisons differentes. Plutot que de les ecrire dans un ordre
arbitraire, on pref`ere les ordonner en fonction de la valeur du nombre entier N10 (syst`eme decimal)
ou de mani`ere equivalente du nombre binaire correspondant (ABC)2 . Dans le tableau, on a place
arbitrairement A en poids fort.
On peut aussi envisager un representation algebrique (an sens de Boole bien s
ur), cest `a dire sous
la forme de produits et de sommes des variables A,B,C et de leurs complements. Pour trouver cette
representation, on peut bien s
ur proceder de mani`ere empirique. En fait on peut montrer facilement
quil existe un grand nombre de solutions au probl`eme. Mais elles ne sont pas toutes bonnes : certaines
sont plus simples que dautres, donc meilleures.
Il existe une mani`ere parfaitement systematique (donc un peu lourde) pour determiner une representation
algebrique de F . Elle consiste `a ecrire F soit sous la forme de produits de sommes de variables, soit
sous la forme de sommes de produits. A partir de ces representations dites canoniques, il existe des
methodes pour simplifier lexpression : soit utiliser au mieux les axiomes et theor`emes du tableau 7.1,
soit utiliser une methode graphique due `a Karnaugh, utilisant le fameux code de Gray.

7.6.2

Repr
esentations canoniques des fonctions logiques : somme de produits

Reprenons lexemple du tableau 7.2. Nous avons complete ce tableau en rajoutant une colonne mN
constituee de produits de toutes les variables (ici 3) . En inversant ou non chacune des variables, on

7.6. FONCTIONS LOGIQUES

85

obtient 23 = 8 produits differents.


N

A B

F (A, B, C)

mN

A.B.C

A.BC

ABC

ABC

AB.C

ABC

ABC

ABC

(7.3)

Prenons par exemple le cas N = (4)10 = (100)2 , soit A = 1, B = C = 0. A cette combinaison des 3
variables on associe astucieusement le produit m4 = A.B.C : ce produit vaut 1 puisque A = B = C = 1.
Cette propriete est vraie pour tous les produits mN . Reciproquement, si un element mN vaut 1, alors
tous les autres m sont nuls. Par exemple si m4 = 1, necessairement A = B = C = 1, donc (ABC)2 = 100
et par construction, les autres mN (N 6= 4), ne pouvant pas correspondre `a A = B = C = 1, sont nuls.
En anglais les produits mN sappellent des minterms. Cest grace `a cette propriete dexclusion que lon
peut ecrire la fonction booleenne F (A, B, C) `a laide de sommes de produits. En effet, le tableau nous
indique que F vaut 1 pour N = 2 (i.e. A = 0 et B = 1 et C = 0) OU pour N = 5 (i.e. A = 1 et B = 0
et C = 1) OU pour N = 7 (i.e. A et B et C = 1) ; F est nul dans les autres cas. Do`
u:

F (A, B, C) = ABC + ABC + ABC = m2 + m5 + m7

(7.4)

Cette expression exprime le fait que F est non nul pour 3 combinaisons des variables A, B, C (et leurs
complements) et nul dans tous les autres cas. La mani`ere dont nous lavons obtenue prouve de plus que
cette expression sous forme de somme de minterms est unique.
Ceci dit, (7.4) nest pas necessairement, loin de l`a, lexpression la plus simple. En effet, on peut par
exemple ecrire ABC + ABC = AC(B + B) = AC (distributivite), do`
u F = ABC + AC. Plutot que
dutiliser toutes les potentialites de lalg`ebre de Boole, on peut simplifier une expression sous forme de
somme de minterms de mani`ere tr`es systematique. Voici la methode.

7.6.3

Tables (diagrammes) de Karnaugh : simplification dune somme de


produits canoniques

Dans lexemple precedent,la somme ABC +ABC se transforme en AC, donc ne depend en fait pas de
B ( on a utilise B + B = 1 quelque soit B). Dans des cas plus compliques, certaines simplifications sont
plus difficiles `a detecter. La methode des diagrammes de Karnaugh permet de simplifier sans difficulte les
sommes canoniques de produits. Prenons un exemple (voir tableau 7.5) avec une fonction de 4 variables

86

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

F (A, B, C, D) dont la table de verite comporte donc 24 = 16 lignes :


N

mN

A.B.C.D

A.B.C.D

A.B.C.D

A.B.C.D

A.B.C.D

A.B.C.D

A.B.C.D

A.B.C.D

A.B.C.D

A.B.C.D

10

A.B.C.D

11

A.B.C.D

12

A.B.C.D

13

A.B.C.D

14
15

1
1

1
1

1
1

0
1

0
1

A.B.C.D
A.B.C.D

(7.5)

Nous avons pris un exemple dans lequel F est souvent egal `a 1 de sorte que son expression canonique
comporte un grand nombre de termes : m0 + m2 + etc... = A.B.C.D + A.B.C.D + etc.. Pour alleger
lecriture on adopte la convention suivante :
X
F =
(0, 2, 4, 5, 6, 7, 8, 10, 11, 13, 15)
pour representer F sous forme dune somme de produits canoniques (11 termes en tout). Separons le 4
variables en 2 paquets de 2 variables (AB et CD ; pour 3 variables ABC on pourrait separer en A et BC
ou AB et C etc...). Construisons un tableau dont les lignes correspondent aux diverses valeurs possibles
de AB et les colonnes correspondent aux valeurs possibles de CD. Toutefois, nous allons ordonner les
lignes et les colonnes de mani`ere tr`es particuli`ere, en utilisant le code de Gray. Au lieu dordonner
par valeur croissante de AB (ou CD), cest `a dire 00, 01, 10, 11, nous utilisons la sequence 00, 01,
11, 10 (on ne change quun seul bit `a la fois). Cela donne le tableau suivant comportant 4 lignes et
4 colonnes : Nous placons un 1 dans les cases correspondant `a F = 1, et 0 dans le cas contraire (ce
qui nest pas strictement indispensable ici). Pour mettre en evidence deventuelles independances vis `a
vis de certaines variables, on cherche `a regrouper les cases adjacentes contenant 1. Prenons les 4 cases
situees au centre. Elles correspondent `a B = D = 1. Par contre on observe que A et C prennent les
valeurs 0 et 1. Il en resulte que la valeur F = 1 nest pas affectee par les valeurs de A et C pour les 4
minterms correspondant `a cette region du diagramme. Leur contribution `a la somme se reduit donc `a
BD. On peut maintenant saisir linteret davoir classe les lignes et colonnes en ne changeant quun seul
bit `a la fois : on passe de la colonne 01 `a sa voisine 11 en changeant seulement le bit C (et en gardant

7.6. FONCTIONS LOGIQUES

87

Figure 7.4 Tableau de Karnaugh pour la fonction logique definie par la table de verite 7.5
le bit D = 1 invariant) et cest cette particularite qui a permis de mettre en lumi`ere lindependance vis
a` vis de C.
Il existe un autre ensemble de 4 cases adjacentes, mais ces cases sont un peu plus delicate `a detecter.
Considerons les 4 coins du tableau (correspondant `a ABCD = 0000, 0010, 1000, 1010). On passe de la
colonne 00 `a la colonne 10 en ne changeant que le bit C (on garde D = 0 constant). Ces colonnes sont
donc adjacentes ! De meme, les lignes 00 et 10 sont adjacentes (geometriquement il suffit de rajouter des
lignes et des colonnes de mani`ere periodique : 00, 01, 11, 10, 00, 01 etc.. pour visualiser le phenom`ene).
Ainsi, la somme des 4 minterms correspondants aux 4 coins se simplifie en B.D.
Nous navons pas totalement epuise les 11 minterms constituant lexpression canonique de F . Il en
reste 3, dont 2 adjacents (par les bords) sur la seconde ligne du tableau, correspondant `a (ABCD)2 =
01000 et 0110. La somme des 2 minterms ne depend pas de C et secrit ABD. Enfin il reste un dernier
minterm celibataire, correspondant `a ABCD = 1011, et au minterm ABCD. Si on etait peu vigilant, on
conserverait ce minterm et on proposerait comme expression simplifiee F = BD +B.D +ABD +ABCD.
En fait, la case correspondante nest pas isolee. On peut la regrouper avec une case dej`a impliquee dans un
regroupement, celle correspondant `a (ABCD)2 = 1010. Lensemble des deux minterms est independante
de D et est egal `a ABC. Lecriture la plus simple de F obtenue grace aux diagramme de Karnaugh est
F = B.D + B.D + A.B.D + A.B.C
En resume la methode consiste `a regrouper si possible des cases adjacentes de mani`ere `a impliquer
au moins une fois chacune des cases contenant 1.
7.6.3.1

Fonction inverse.

Si on sinteresse `a la fonction F (A, B, C, D), cette derni`ere vaut 1 quand F = 0 et reciproquement.


Le
u se trouvaient des 0 pour F : F (A, B, C, D) =
P tableau de Karnaugh contient donc des 1, l`a o`
(1, 3, 9, 12, 14). La r`egle pour passer de F `a sont inverse F est donc tr`es simple : on reporte les indices
des minterms qui ne se trouvent pas dans la liste correspondant `a F . Par la methode de Karnaugh on
trouve F = A.B.D + A.BD + A.B.CD.

7.6.4

Repr
esentation canonique sous forme dun produit de sommes.

Dans les exemples precedent, pour definir F compl`etement nous nous sommes pose la question dans
quelles circonstances F est-il egal `a 1. On peut se poser la question inverse : quelles sont les conditions
sur les variables pour obtenir F = 0. Ce point de vue conduit `a representer les fonctions booleennes
sous forme de produit de somme. Dans cette representation, si un des produit est nul, le produit total
est nul quelque soit la valeurs des autres termes.
Reprenons lexemple `a trois variables du tableau 7.3. Nous definissons des sommes canoniques MN ,
appelee Maxterms (en anglais) :

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

88

F (A, B, C)

MN

A+B+C

A+B+C

A+B+C

A+B+C

4
5

1
1

0
0

0
1

0
1

A+B+C
A+B+C

A+B+C

A+B+C

(7.6)

Par rapport aux minterms mN on note linversion des variables : M0 = A + B + C et non A + B + C.


En effet, le but est dobtenir une somme egale `a zero (pour avoir A + B + C = 0 il faut necessairement
A = B = C = 0). Dans lexemple du tableau 7.6, si F secrit comme un produit de sommes MN , pour
assurer F = 0, il faut (et il suffit) que lune quelconque des sommes M0 , M1 , M3 , M4 , M6 soit nulle. Dans
le cas contraire, necessairement, F = 1. On obtient dans notre exemple lidentite :
F = (A + B + C).(A + B + C).(A + B + C).(A + B + C).(A + B + C)
soit aussi :
F = M0 M1 M3 M4 M6 =

(0, 1, 3, 4, 6) =

(2, 5, 7)

(7.7)

o`
u nous avons rappele lexpression
P de F en fonction de sommes de produits : les indices intervenant
Q
dans la representation de type
sont les indices nintervenant pas dans la representation de type .
La relation 7.7 est generale : elle nous donne la r`egle de passage entre la representation canonique sous
forme de somme de produits `a la representation sous forme de produit de sommes. Cette r`egle peut
egalement se retrouver en appliquant le theor`eme de De-Morgan.
Il nous reste `a rechercher comment simplifier une representation canonique sous forme dun produit
de sommes. On peut par exemple proceder de la mani`ere suivante. Partant de la table de verite, on
utilise le diagramme de Karnaugh pour determiner la forme simplifiee de la representation de F sous
forme de somme de produit (voir 7.6.3.1). Puis on calcule (F ) = F en appliquant le theor`eme de DeMorgan. Pour la fonction de 4 variables decrite par le tableau 7.5, apr`es simplification par la methode
de Karnaugh, on obtient successivement :

F = F = A.B.D + A.B.D + A.B.C.D = A.B.D . A.B.D . A.B.CD = (A+B+D ).(A+B+D).(A+B+C+D)

7.7

R
ealisation dun fonction logique quelconque `
a laide de
porte logiques

On peut realiser toutes les fonctions logiques F `a laide de portes OU (OR), ET (AND) et dinverseurs. En effet, les portes OU et ET realisent laddition et la multiplication de lalg`ebre de Boole. Il
existe des portes OU et ET `a 2, 3 ou 4 entrees. En presence dun nombre superieur de variables on peut
etre amene `a mettre en cascade plusieurs portes. Par exemple pour realiser le produit de 5 variables
ABCDE on peut utiliser une porte ET `a 4 entrees dont la sortie est ABCD et utiliser une seconde
porte ET `a 2 entrees, dont une entree est ABCD (sortie de la porte `a 4 entrees) et lautre est E.
Pour realiser une fonction logique, la premi`ere etape consiste `a simplifier la fonction F `a laide de
lalg`ebre de Boole ou des tables de Karnaugh. Supposons cette etape franchie.


` LAIDE DE PORTE LOGIQUES89
7.7. REALISATION
DUN FONCTION LOGIQUE QUELCONQUE A

7.7.1

Somme de produits.

Considerons la fonction F (A, B, C, D) = A.B.D + A.BD + A.B.C.D. Le circuit numerique realisant


cette fonction est represente sur la figure 7.5 :

Figure 7.5 Circuit realisant la fonction F (A, B, C, D) = A.B.D + A.BD + A.B.C.D (somme de produits)
Partant des variables A,B,C,D `a laide dinverseurs, on dispose des variables A, B , C, D. Puis on
effectue des multiplications de ces variables `a laide de portes ET. Finalement, on somme ces produits
dans un porte OU (ici `a trois entrees).

7.7.2

Produit de sommes

La fonction F = (A + B + D ).(A + B + D).(A + B + C + D) sous forme de produits de somme,


conduit au schema de la figure 7.6 :

Figure 7.6

Circuit realisant F (A, B, C, D) = (A + B + D ).(A + B + D).(A + B + C + D) (produits de

sommes).

Remarque : la fonction consideree ici est linverse de la somme de produits utilisee pour illustrer le
paragraphe precedent.

7.7.3

R
ealisation de circuits avec des portes NAND

Les portes NAND (NON ET) sont faciles `a realiser sur le plan technologique. Montrons que lon
peut remplacer un circuit combinatoire quelconque constitue de porte ET, OU et dinverseurs en un

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

90

circuit ne comportant que des portes NAND. Rappelons que la sortie Y dune porte NAND est donnee
par Y = (A.B.C...) si les variables dentree sont A, B, C....
a) On peut realiser un inverseur avec une porte NAND `a deux entrees, dont les deux entrees sont
reliees : Y = A.A = A.
b) Une porte NAND suivie dun inverseur est equivalent `a une porte AND. Par exemple pour une

porte `a deux entrees, AB = AB.


c) Considerons une porte OU (OR) dont la sortie est X = A + B + C..., et o`
u A, B, C.. representent
les entrees. Placons un inverseur sur chacune des entree. La sortie devient Z = A+B +C.... Le theor`eme
de De Morgan donne egalement Z = ABC... qui represente la sortie dune porte NAND (voir figure
7.7).

Figure 7.7 Avec une porte NAND peut realiser linversion, la porte ET, la porte OU.
La strategie est donc la suivante (voir figure 7.8).

Figure 7.8 Transformation dun circuit combinatoire quelconque en un circuit ne comportant que des portes
NAND.

On place deux inverseurs `a la sortie des portes AND et `a lentree des portes OR (il sagit dune
operation blanche ; bien s
ur on conserve les inverseurs dej`a existant). Pour simplifier le dessin ces


` LAIDE DE PORTE LOGIQUES91
7.7. REALISATION
DUN FONCTION LOGIQUE QUELCONQUE A
inverseurs additionnels sont simplement des cercles. Ayant isole toutes le portes NAND, si il reste deux
inverseurs en cascade, on les fait disparatre (puisque A = A).
On parle de luniversalit
e des portes NAND pour rappeler cette propriete remarquable. En fait,
les portes NOR poss`edent egalement cette propriete !

7.7.4

R
ealisation dun circuit `
a laide de portes NOR

Figure 7.9 c) Avec une porte NOR on peut realiser linversion, la porte ET, la porte OU.
La sortie Y dun porte NOR secrit Y = A + B + C....
a) On peut realiser un inverseur en reliant les entree dune porte NOR : Y = A + A = A.
b) Un porte NOR suivie dun inverseur est une porte OR.
c) Si on rajoute des inverseurs sur les entrees dune porte AND, on obtient une porte NOR : Y =
A.B = A + B (voir figure 7.9).
La procedure de transformation est analogue `a celle proposee pour les portes NAND.

92

` LELECTRONIQUE NUMERIQUE

CHAPITRE 7. INTRODUCTION A

Chapitre 8

Circuits combinatoires
8.1

Introduction

Nous quittons les considerations tr`es mathematiques du chapitre precedent pour nous interesser `a
des circuits numeriques presentant un interet pour les applications. Ces circuits poss`edent des entrees
de type E1 , E2 , E3 ... qui correspondent `a des variables logiques et peuvent presenter une ou plusieurs
sorties S1 , S2 , S3 ... qui correspondent egalement des variables logiques (variables `a deux etats, H et L
ou 0 et 1). La propriete essentielle de ces circuits est que si toutes les entrees sont dans un etat bien
determine (et le sont depuis un temps relativement long `a lechelle de la rapidite de commutation des
circuits), alors toutes les sorties sont parfaitement determinees :
S1 = F1 (E1 , E2 , E3 ...) , S2 = F2 (E1 , E2 , E3 ...) etc...
Cest cette propriete que recouvre le mot combinatoire. Nous verrons par la suite que ces circuits
sont tr`es utiles mais quil leur manque une dimension tr`es importante, celle de pouvoir memoriser
linformation. Les circuits s
equentiels dont nous donnerons des exemples dans le chapitre 9 sont au
contraire des circuits numeriques dont letat des sorties nest pas totalement determine par letat des
entrees (elle depend de lhistoire passee du circuit).
Un probl`eme type en logique combinatoire est le suivant. On cherche `a realiser une fonction logique pour une application determinee. Il importe donc de bien definir ce que lon cherche `a realiser.
Cette analyse doit conduire `a determiner quelles sont les variables dentr
ee et de sortie, puis `a
determiner les relations entre ces variables, par exemple `a laide dune table de v
erit
e si le nombre de
combinaisons possibles nest pas prohibitif. On est ensuite en terrain connu. Si on cherche une approche
systematique, on ecrit les fonctions booleennes correspondantes sous forme canonique et on les simplifie.
Enfin, on realise le circuit `a laide de porte logiques. Nous verrons que tr`es souvent il existe des circuits
integres elabores qui permettent deviter au moins en partie lutilisation de portes elementaires.
Il existe bien s
ur une multitude de circuits combinatoires, mais parmi cette multitude, il existe
quelques fonctions incontournables :
a) ladditionneur (et sa version simplifiee le demi-additionneur),
b) le comparateur,
c) le decodeur (codeur),
d) le multiplexeur (demultiplexeur).
En guise dintroduction, posons nous le probl`eme suivant. Un compteur decimal code binaire (BCD)
4 bits est un circuit integre qui comporte 4 sorties A0 , A1 , A2 et A3 (A3 correspond aux poids forts). Par
definition, quand on incremente le compteur, sa sortie effectue la sequence 0000, 0001, 0010....1000, 1001,
0000, 0001 etc.... Si on convertit ces nombres binaires en decimal, on obtient la sequence 0,1,2...8,9,0,1...
Necessairement, les sequences de variables de sortie telles que 1100 ou 1111 ne doivent jamais apparatre 1 . Afin de rendre plus attrayant le compteur, on desire voir une diode electroluminescente
1. Quand on etablit des tables de v
erit
e et des tables de Karnaugh, on peut traiter les combinaisons interdites de
variables comme suit. Dans une premi`
ere etape, par soucis de sym
etrie, on suppose ces combinaisons possibles. Par exemple
pour une fonction de 4 variables F (A, B, C, D) on travaille sur 24 = 16 combinaisons. Puis, si Ao , Bo , Co , Do et interdit,
on
ecrit F (Ao , Bo , Co , Do ) = X. On pourra ensuite attribuer `
a X une valeur arbitraire 0 ou 1 (puisque la combinaison
nexiste pas), en ayant en vue une simplification optimum de lexpression de F .

93

94

CHAPITRE 8. CIRCUITS COMBINATOIRES

(LED) sallumer `a chaque fois que le compteur passe par 9. Dautre part, on desire utiliser des portes
NAND pour alimenter la diode, qui doit sallumer sur un niveau logique bas : L (ou 0).
On cherche donc `a realiser un circuit combinatoire dont les entrees (4 en tout) sont les sorties
A0 , A1 , A2 , A3 du compteur et dont lunique sortie Y doit alimenter la LED. De plus Y doit etre `a letat
L (Y = 0) uniquement quand les entrees correspondent au nombre decimal 9, soit A3 A2 A1 A0 = (1001)2 .
Dans tous les autre cas, on doit avoir Y = H = 1. Do`
u Y = A3 A2 .A1 A0 . Il ny a clairement pas detape
de simplification dans ce probl`eme (1 seul minterm). La realisation du montage est immediate. On utilise
une porte NAND `a 4 entrees et deux inverseurs (voir figure 8.1).

Figure 8.1

Circuit alumant une diode electrolumiscente quand les 4 entree reprentent le nombre decimal
9 en binaire : A3 A2 A1 A0 = (1001)2 .

La porte NAND peut se decomposer en une porte ET (AND) suivie par un inverseur (petit rond) :
la sortie de la porte AND est Y et la sortie de la porte NAND est Y = Y qui est au niveau bas pour le
nombre BCD 910 `a lentree. Il reste enfin `a connecter correctement la diode. Si on la branche directement
entre la sortie et la masse, elle sera eteinte pour 9 `a lentree. Il faut donc connecter la diode entre la sortie
du circuit combinatoire et la tension dalimentation VDD des portes (cette tension en general absente
des representations est bien s
ur vitale pour faire marcher les circuits). La cathode de la diode est cote
sortie, lanode cote VDD . Ceci nest toujours pas la bonne solution car si Y = L = 0 V , la tension aux
bornes de la diode est VDD largement trop elevee. On doit donc ajouter une resistance R en serie avec
la LED pour limiter le courant ID dans la diode (typiquement quelques centaines dohm).

8.2
8.2.1

Additionneur
Additionneur binaire parall`
ele

Il sagit deffectuer laddition arithmetique de deux entiers A et B, S = A + B. Ces entiers sont


supposes dej`a convertis dans le syst`eme binaire. Prenons un exemple. Supposons pour faire court que
les entiers soient positifs et que lon ne dispose que de 4 bits : 0 A, B 15 et prenons par exemple
A = 610 = (0110)2 = A3 A2 A1 A0 et B = 1110 = (1011)2 = B3 B2 B1 B0 . Laddition secrit :

+
S

C
A
B
1

1
0
1
0

1
1
0
0

1
1
1
0

0
0
1
1

Nous avons represente les retenues dan la ligne C (carry en anglais). Le resultat de laddition est bien
s
ur 1710 = (10001)2 . Le fait particulier ici est que le resultat nest pas 17 mais (0001)2 sur 4 bits : 17 =
1 modulo 16. Eventuellement on pourra conserver la retenue sur le bit de poids fort pour un traitement
ulterieur.

8.2. ADDITIONNEUR

95

Cet exemple montre que la procedure daddition implique un algorithme repetitif. Quand nous avions
introduit le OU exclusif (XOR) nous avions ecrit :
X
0
0
1
1

Y
0
1
0
1

Z =X Y
=0
=1
=1
=0

Pour laddition de 2 bits, il y a une grande similitude, mais nous devons prendre en compte la
possibilite dune retenue. Quand on additionne les bits de poids n (0 n 3), on doit prendre en
compte la retenue dindice n 1 (pour n = 0, il ny a pas de retenue ; afin deliminer cet effet de bord, il
suffit de conserver la procedure repetitive en imposant C1 = 0). Voici la table de verite pour laddition
de 2 bits avec retenue. Sn represente le bit de rang n de la somme et Cn la retenue de rang n.
Cn1
0
0
0
0
1
1
1
1

An
0
0
1
1
0
0
1
1

Bn
0
1
0
1
0
1
0
1

Sn
0
1
1
0
1
0
0
1

Cn
0
0
0
1
0
1
1
1

(8.1)

Ce tableau nous indique que lon doit construire un circuit combinatoire possedant 3 entree, An , Bn et
Cn1 et deux sorties, Sn et Cn . Ce circuit sappelle un additionneur (full adder). Possedant plusieurs
exemplaires dun tel circuit, il est facile (voir figure 8.2) de realiser un additionneur binaire sur 4 bits :
il suffit de relier la sortie Cn1 de ladditionneur de rang n 1 `a lentree Cn1 de ladditionneur de rang
n.

Figure 8.2

Additionneur binaire parall`ele 4 bits. Il est constitue de 4 additionneurs (full adder) relies
entre eux via les sorties et entrees correspondant aux retenues. On applique simultanement les nombres binaires
A3 A2 A1 A0 et B3 B2 B1 B0 sur les 8 entrees et on vient lire la somme sur les 4 sorties S3 S2 S1 S0 . Si necessaire on
peut aussi venir lire la retenue C3 si on a la possibilite de travailler ulterieurement sur plus de 4 bits.

De tels circuits additionneurs parall`


eles existent sous forme integree (souvent il sagit dadditionner
des octets, donc des entiers sur 8 bits). On utilise le mot parall`ele pour signifier que tous les bits sont
appliques simultanement sur les entrees ; il existe des circuits sequentiels dits s
erie, dans lesquels il
nexiste quune seule entree de sorte que les bits sont introduits les un apr`es les autres au cours du
temps : dans les circuits combinatoires, le temps est absent de la description.

8.2.2

Additionneur (full adder)

Il reste maintenant `a determiner comment realiser un additionneur . La table de verite a dej`a


ete etablie (tableau 8.1). On peut donc exprimer Sn et Cn sous forme de somme de produits, puis

96

CHAPITRE 8. CIRCUITS COMBINATOIRES

simplifier lexpression `a laide de tables de Karnaugh. En fait, cette methode nest pas astucieuse. La
grande similitude entre laddition binaire et le OU exclusif permet en effet une autre formulation (i.e. pas
uniquement sous forme de sommes et de produits, cest `a dire avec des OU, des ET et des inverseurs).
En labsence de retenue, laddition binaire de An et Bn secrit Dn = An Bn . Pour inclure la retenue,
lalgorithme est le meme (on effectue une addition binaire supplementaire) : Sn = Dn Cn1 de sorte
que :
Sn = (An Bn ) Cn1
Lexpression de la retenue est un peu plus difficile `a etablir. Si on cherche `a utiliser `a tout prix une
porte OU exclusif, on ne peut pas utiliser les diagrammes de Karnaugh. La table de verite nous indique
que la retenue Cn est `a 1 dans 4 cas (sur 8) :
a) quand An = Bn = 1 (quelque soit Cn ), OU
b) quand Cn1 = 1 ET que An Bn = 1.
Cette analyse nous conduit `a :
Cn = An Bn + (An Bn ).Cn1
Bien entendu, la demarche utilisee ici fait appel `a une certaine intuition et ne peut etre generalisee `a
tout probl`eme danalyse de circuits combinatoires ! La figure 8.3 represente le schema dun additionneur
(full adder).

Figure 8.3 Additionneur (full adder) effectuant la somme de An , Bn et de la retenue Cn1 (3 variables en
entree). Le circuit poss`ede deux sorties, Sn (somme) et Cn (retenue). On utilise des portes XOR (OU exclusif),
AND (ET) et OR (OU).

8.3

Comparateur

Il existe des circuits integres permettant la comparaison de deux entiers A et B sous forme binaire.
Pour simplifier prenons le cas dentiers positifs sur 4 bits. Le circuit comporte 8 entrees (A3 A2 A1 Ao et
B3 B2 B1 Bo ). Trois cas de figures peuvent se presenter : A = B, A < B et A > B. Le plus simple est
denvisager 3 sorties, respectivement (A = B), (A < B) et (A > B) qui seront actives (par exemple `a
letat H) si la condition associee est realisee et inactives (etat L) dans le cas contraire.
La realisation dun tel circuit `a laide de portes logiques nest pas tr`es difficile. Prenons la sortie la
plus simple, celle correspondant `a A = B. Cette condition est realisee si tous les bits sont identiques
deux par deux. La table de verite correspondant `a legalite de 2 bits est simplement :
An
0
0
1
1

Bn
0
1
0
1

Xn = A B
1
0
0
1


8.4. DECODEUR.

97

cest `a dire quil sagit de la fonction NON Ou exclusif (appelee XNOR) : Xn = An .Bn + An .Bn =
An .Bn + An .Bn . La fonction egalite secrit donc :
EGA = Xo X1 X2 X3
Lanalyse du probl`eme pour les deux autres sorties est un peu plus compliquee. Considerons la sortie
AP GB (A > B). On commence par examiner le bit de poids fort et on cherche dans quelles circonstances
la condition A > B est realisee. On vise lecriture de AP GB sous forme dune somme de produit. Il faut
donc envisager des situations favorables mais qui sexcluent mutuellement.
a) Si A3 > B3 la condition est realisee et le seul cas de figure est A3 = 1 et B3 = 0 : si A3 B3 = 1 la
condition est realisee.
b) Si la condition A3 > B3 nest pas realisee, il faut ecarter la situation A3 = 0 et B3 = 1 qui conduit
`a B > A. Il reste donc le cas de figure A3 = B3 que lon sait ecrire sous la forme X3 = 1. Cette condition
etant realisee, il faut maintenant comparer A2 et B2 . On ramene `a la discussion donnee dans a) : si
X3 A2 B2 = 1, la condition A > B est realisee et cette condition sexclue avec la condition A3 B3 = 1.
etc..
Finalement on ecrit la fonction sous la forme a) OU b) etc..
AP GB = A3 B3 + X3 A2 B2 + X3 X2 A1 B1 + X3 X2 X1 Ao Bo

(8.2)

On obtient la sortie BP GA (B > A) en permutant les roles de An et Bn . Le schema complet du


comparateur 4 bits est donne sur la figure 8.4. 2

Figure 8.4 Comparateur 4 bits.

8.4

D
ecodeur.

Considerons un circuit integre numerique possedant N entrees. Sur ces entrees, ont applique des
variables binaires Ao , A1 ...An ...AN 1 . Il peut sagir par exemple dun octet (N = 8) qui peut representer
tout simplement un entier code en binaire, ou un code ASCII, ou representer des signaux independants
etc... En dautre terme, les An sont une representation codee (un code) de certaines variables. Il y a en
2. On ne cherche pas, `
a juste titre, `
a simplifier l
equation 8.2 `
a laide de la m
ethode de Karnaugh. Il faudrait pour
cela une grande table `
a 8 variables (les A et les B). Il est `
a l
evidence plus astucieux de tenter dutiliser des portes XOR,
lesquelles ne rel`
event dailleurs pas de la m
ethode de Karnaugh.

98

CHAPITRE 8. CIRCUITS COMBINATOIRES

tout 2N combinaisons possibles de An (on dit aussi 2N codes) mais en general, toutes ces combinaisons
ne sont pas possibles. Le circuit integre poss`ede M sorties. Il est construit de telle mani`ere que pour 1
sequence particuli`ere `a lentree, indicee par m, une seule sortie Sm soit active (les autres etant passives).
En logique positive, une seule sortie est `a letat H, les autres etant `a letat L. Un tel circuit sappelle un
decodeur.

8.4.1

D
ecodeur 1 parmi 8

Prenons le cas simple N = 3 et supposons que toutes les sequences de (A2 A1 Ao ) soient possibles
(par exemple lentree est la representation binaire dun entier positif compris entre 0 et 7. Il y a donc
23 = 8 codes possibles `a lentree. Le decodeur doit donc comporter M = 8 sorties, S0 S1 ...S7 . Supposons
que letat actif correspondent `a letat H. Si (A2 A1 Ao ) = 000, cest la sortie S0 qui est active et donc
S0 = A2 .A1 .Ao etc... et si (A2 A1 Ao ) = 111 cest la sortie S7 qui est active : S7 = A2 A1 Ao . On peut
facilement verifier que cette procedure conduit bien `a une seule sortie active pour un code dentree
donne. Ce decodeur tr`es simple est dit decodeur 3 voies / 8 voies ou 1 parmi 8.
Exemple : le decodeur 74LS138 est un decodeur 1 parmi 8.
On peut imaginer des decodeurs pour lesquels il existe 4 entrees representant le code BCD (decimal
code binaire) dun entier. Il existe donc 10 sorties et non 16, puisque seulement 10 configurations dentree,
0000, 0001, ... 1001, sont possibles.

8.4.2

D
ecodeur 7 segments

Figure 8.5 Decodeur 7 segments


Un autre exemple tr`es connu de decodeur est celui du decodeur 7 segments (voir figure 8.5). On
desire afficher un nombre entier N compris entre 0 et 9 `a laide de diodes ou de cristaux liquides. Il est
possible de reproduire `a peu pr`es bien tous les chiffres de 0 `a 9 `a laide de 7 segments reproduisant le
chiffre 8 sous forme dun rectangle vertical traverse en son milieu par une barre horizontale. Ces segments
sont par exemples des diodes electroluminescentes (LED) qui, sur les fiches techniques, sont reperees
par les lettres a,b,c,d,e,f,g,h. En eteignant la barre mediane, on reproduit le chiffre 0, en ne gardant
allume que le cote droit vertical du rectangle on reproduit le chiffre 1 etc... Le nombre N `a afficher est
disponible sous forme BCD (decimal code binaire, qui est donc un code !), cest `a dire `a laide de 4 bits.
Le passage dun nombre sous forme BCD `a sa representation visuelle necessite un decodeur particulier.
En effet, ce circuit comporte 4 entree, avec seulement 10 combinaisons possible, et comporte 7 sorties
(et non 10), lesquelles alimentent en courant les LED. La table de verite du decodeur est un peu longue
`a ecrire. Donnons juste les deux premi`eres lignes de cette table (dans laquelle les B representent les
entrees) :
B3 B2 B1 B0 a b c d e f g
0
0
0
0 1 1 1 1 1 1 0
(8.3)
0
0
0
1 0 1 1 0 0 0 0

8.5. MULTIPLEXEUR.

99

Exemple : le decodeur 4511 est un decodeur BCD 7 segments, qui permet si on le souhaite de
memoriser linformation (via lentree Latch Enable) donc de maintenir les diodes allumees dans un
etat donne, meme si les entrees evoluent dans le temps.

8.4.3

Codeur

Le processus inverse du decodage est le codage. Nous ne developperons pas cet aspect.

8.5

Multiplexeur.

Un multiplexeur est un circuit integre dont le role est de selectionner des donnees. Il ne poss`ede
quune seule sortie Y . Il poss`ede N entrees I0 , I1 ...IN 1 (les donnees), avec N = 2n . Enfin il poss`ede n
entrees de selection So , S1 ...Sn1 (on dit aussi lignes de selection). Le principe est tr`es simple. A laide
du selecteur on selectionne un numero de ligne dentree : (Sn1 ...S1 S0 )2 = k et la sortie Y recopie le
signal present sur cette ligne :
(Sn1 ...S1 S0 )2 = k Y = Ik
En se referent aux nombre dentree, on dit que lon a affaire `a un multiplexeur 2n 1 (ou MUX
2 1).
Exemple : un multiplexeur `a N = 4 lignes dentree, I0 ..I3 , poss`ede 2 lignes de selection S1 S0 et
sappelle un MUX 4 1. La figure 8.6 represente un tel multiplexeur.
n

Figure 8.6 Multiplexeur MUX 4 1.


Son schema est simple `a analyser. Par exemple, pour obtenir Y = Io , il faut appliquer S1 = S0 = 0,
inverser ces deux variables de mani`ere `a obtenir en sortie I0 S1 .S0 = I0 pour la porte ET `a 3 entrees
reliee `a lentree I0 . Les sorties des autres portes ET sont `a zero de sorte que la sortie de la porte OU `a
4 entrees est bien Y = Io .
On concoit que le multiplexeur joue le role dun aiguilleur. Il existe bien dautres applications. Par
exemple, celle qui consiste `a transformer une information sous forme parall`ele ( les bits I0 , I1 ...IN 1
sont appliques et traites simultanement) en une information sous forme serie : on fait transiter les bits
I0 ...IN 1 successivement vers la sortie du multiplexeur. Il suffit pour cela dincrementer progressivement
le signal de commande S, `a un rythme constant (scande par une horloge). Il faut ensuite recuperer ces
bits. Cela necessite des circuits non combinatoires que nous navons pas encore etudies.
Enfin, les multiplexeurs permettent de generer des fonctions logiques quelconques (voir TD).

100

8.6

CHAPITRE 8. CIRCUITS COMBINATOIRES

Circuits combinatoires et temps.

Figure 8.7 Circuit bloqueur


Nous avons insiste sur le fait que le temps nest pas un param`etre essentiel pour decrire le fonctionnement des circuits numeriques combinatoires. Toutefois, il est clair aussi que les entrees dun circuit
numerique peuvent evoluer dans le temps. Avec un retard en general tr`es faible (on lexprime en ns
plutot que s), la sortie evolue en fonction de levolution des entrees. Voici un exemple tr`es simple
montrant que les circuits combinatoires ne sont pas figes dans le temps. Il sagit dun circuit que lon
peut appeler un bloqueur (voir figure 8.7). Il est constitue dune seule porte AND ! Sur lentree E1 , on
injecte un signal carre periodique Ve (t) damplitude VDD (compatible avec la technologie de la porte),
de rapport cyclique inferieur `a 1/2 (impulsions carrees), et placant alternativement lentree E1 dans
letat H et L. Sur lautre entree E2 , on envoie un signal L ou H variant plus lentement dans le temps.
Ce signal est un signal dautorisation. Quand E2 est `a letat H, le signal Vs (t) que lon peut mesurer `a
la sortie Y de la porte ET reproduit le signal Ve (t), avec un tr`es leger retard (. 10 ns par exemple).
En effet, sur le plan purement numerique, Y = E1 .1 = E1 . Inversement, quand E2 est `a letat L, la
sortie est `a letat L puisque Y = E1 .0 = 0. On peut ainsi fabriquer des trains dimpulsions dont la duree
est commandee par le signal en E2 . Citons egalement comme exemple la transformation serie-parall`ele
evoquee `a la fin du paragraphe precedent.

8.7

Aspects technologiques.

On peut classer les circuits numeriques en fonction des composants les constituant. On parle dans ce
cas de famille. Une autre approche, qui nest pas independante de la premi`ere, consiste `a les classer
en fonction de leur degre dintegration (densite de portes). Voici une presentation non exhaustive.

8.7.1

Int
egration.

Le degre dintegration des circuits numeriques varie dans des proportions enormes.
i) Pour les circuits integres contenant seulement quelques portes logiques, on parle dintegration `a
petite echelle (SSI, Small Scale Integration)
ii) Lintegration `a moyenne echelle (MSI) correspond `a une centaine de portes maximum par circuit
integre. Un decodeur, un compteur un peu elabore necessite ce type dintegration.
En Travaux Pratiques, on utilise essentiellement des circuits SSI et MSI.
iii) Lintegration `a grande echelle (LSI = Large Scale Integration) correspond `a environ 104 portes
sur un circuit integre (sur une puce). Aujourdhui, le mot grand (large) peut faire un peu sourire.
4i) Dans une circuits VLSI (Very Large Scale Integration), on compte au maximum 105 portes.
5i) Dans les circuits ULSI (Ultra Large Scale Integration), on compte plus de 105 portes.
Les microprocesseurs actuels (par exemple Intel) comportent pr`es de 109 transistors : la classification
ci-dessus navais visiblement pas prevu une evolution aussi rapide !
Nous considerons maintenant deux grandes familles de circuits numeriques, dites TTL et CMOS.

8.7.2

Famille TTL.

Dans les circuits numeriques de la famille TTL (Transistor Transistor Logic) les elements actifs sont
des transistors bipolaires. Les circuits numeriques de pointe dans les annees 1960 etaient des circuits
TTL, en particulier la fameuse serie 74 (et sa version militaire 54) de Texas Instrument. La tension
dalimentation devait etre tr`es voisine de VDD = 5 V . On trouve toujours ce type de circuits. Le plus

8.7. ASPECTS TECHNOLOGIQUES.

101

connu est le 7400. Il contient 4 portes NAND `a 2 entrees, ce qui conduit `a 14 electrodes (avec les
electrodes de polarisation). Le temps de propagation est de lordre de 10 ns.
Avec le temps, differentes technologies sont apparues. Pour les distinguer on rajoute des lettres dans
le nom du circuit.
Exemple : le 74LS00 : ce circuit utilise des transistors Schottky (comportant une jonction metalsemiconducteur). Il consomme peu denergie mais est assez lent.

8.7.3

Famille CMOS

Nous avons dej`a evoque cette famille `a propos de linverseur. Les elements actifs sont des MOSFET
(canal N et canal P) et il ny a pas de resistances. Cette technologie permet un plus grande integration
quavec des transistors bipolaires, `a plus faible co
ut. Les performances en rapidite ne sont pas meilleures
mais par contre la puissance consommee en regime statique est plus faible. VDD peut varier dans de
larges proportions (3 `a 15 V ).
Exemple : le circuit 74HC00 ne diff`ere du 7400 que sur le plan de la technologie de fabrication, ici
CMOS dite rapide.

8.7.4

Caract
eristiques techniques.

Quand on regarde la fiche technique (Data Sheet) dun circuit numerique, on est confronte `a
un grand nombre de param`etres caracterisant les performances du circuit. Nous en avons en fait dej`a
rencontre :
8.7.4.1

Tension, courants

VIH : niveau minimum de tension en entree (I = Input) pour avoir un niveau H (1 logique)
VIL : niveau maximum de tension en entree pour avoir un niveau L (0 logique)
Il existe des equivalents pour la sortie ; VOH , VOL .
On raisonne sur les tensions, mais on ne peut pas passer sous silence les courants dentree et de sortie
correspondant `a ces niveaux de tension (IIH etc...). Un param`etre relie `a ces courants est la sortance.
La sortie dun circuit numerique est en general reliee `a lentree dun ou de plusieurs circuits numeriques,
de preference de la meme famille. La sortance est le nombre maximum de circuits que lon peut brancher
`a la sortie : au del`a, les courants debites sont tels que la tension VOH correspondant `a un etat H en
sortie, secroule (voir representation de Thevenin des sources reelles de tension).
8.7.4.2

rapidit
e

tP LH , tP HL representent les temps de propagation (retard) pour le passage dun niveau L `a un


niveau H et reciproquement.
8.7.4.3

Consommation.

Un circuit numerique au repos ne consomme pas la meme puissance lorsquil est statique dans un
etat L ou un etat H. Dautre part le fait de commuter de H `a L (ou linverse) consomme aussi de lenergie
et cet effet est tr`es important pour les CMOS.
Exemples : pour une circuit 74HCxx, la consommation par porte est de 2.5 mW en statique. Elle
passe `a 170 mW en dynamique `a 10 kHz.

102

CHAPITRE 8. CIRCUITS COMBINATOIRES

Chapitre 9

Logique s
equentielle : bascules,
registres, m
emoires
9.1

Introduction.

Les circuits combinatoires nont pas de memoire. Il ne peuvent donc pas stocker linformation,
meme un court instant. En particulier, nous avons presente un additionneur sans nous soucier do`
u
venait les entiers `a ajouter, et o`
u allait le resultat : realiser un additionneur parall`ele (circuit purement
combinatoire) na aucun sens si lon ne sait pas stocker linformation. Dans ce chapitre nous abordons
certains aspects du stockage de linformation sous forme numerique. Il existe plusieurs mani`eres de
stocker linformation :
a) Stockage de masse : bande magnetique, disque dur des ordinateurs, cle USB (memoire flash)
etc... Lacc`es aux donnees peut etre relativement lent.
b) Stockage `a acc`es rapide : memoires RAM (m
emoire vive), ROM (m
emoire morte) des ordinateurs.
c) Memoires rapides, par exemple registre, accumulateur au coeur du microprocesseur, dans lunite
arithmetique et logique (ALU).
Cest surtout sur laspect c) que nous allons porter notre attention, car cest laspect le plus riche sur
le plan pedagogique. Le circuit de base dans ce domaine est la bascule (flip-flop). Dans la pratique on
utilise assez peu les bascules de mani`ere isolee : on utilise plutot des circuits plus complexes construits
`a base de bascules comme les compteurs et les registres, mais il est important den connatre le principe
de fonctionnement.

9.2

Bascules

On sait depuis longtemps fabriquer des bascules avec deux transistors bipolaires (BJT). Ne souhaitant
pas revenir aux premiers principes, nous allons decrire les bascules comme des circuits composes de portes
logiques (nous reviendrons `a lechelle du transistor `a propos des memoires SRAM). Parce quelle est la
plus simple, nous commencons par decrire la bascule dite SR (Set-Reset ; on peut aussi lappeler RS).
Bien que cette bascule ne soit jamais utilisee de mani`ere isolee, elle permet de bien saisir comment on
peut memoriser linformation.

9.2.1

Bascule SR (Set-Reset) `
a portes NOR

On peut realiser des bascules avec des porte NOR ou des portes NAND. Quand on aborde pour la
premi`ere fois ces dispositifs, il est plus simple de commencer par les portes NOR car on travaille alors
en logique positive. Le schema dun bascule SR constituee de 2 portes NOR est donne sur la figure 9.1.
Le point essentiel est que les sorties des portes sont reliees aux entree (de mani`ere croisee). Ceci rappelle
les circuits analogiques boucles tels que lamplificateur `a AO ou le trigger de Schmitt. Nous allons
voir que cela ressemble `a de la reaction positive, cest `a dire que les perturbations apportees `a lentree
peuvent induire un phenom`ene transitoire instable (qui sauto-alimente), conduisant `a lanalogue de la
103

104

CHAPITRE 9. LOGIQUE SEQUENTIELLE


: BASCULES, REGISTRES, MEMOIRES

Figure 9.1 Bascule SR en portes NOR.


saturation de la sortie des montages `a AO. On note aussi que le circuit, sil poss`ede 2 entrees, poss`ede
aussi 2 sorties.
9.2.1.1

Table de v
erit
e

On represente le fonctionnent dun tel circuit `a laide dune table de verite, mais de nature un peu
differente de celles que nous avons utilisees pour les circuits combinatoires. Donnons le resultat :
bascule SR (portes N OR)
S
0
1
0
1

R
0
0
1
1

Q
Q
inchang
ee inchang
ee
1
0
0
1
0
0

Commentaire
memorisation du passe
Set : on mets la sortie Q `a 1
Reset : on remet la sortie Q `a 0
Etat interdit

(9.1)

Deux lignes de cette table sont assez simples `a decrire. Pour SR = (10)2 , lentree S = Set `a letat H,
impose (mets) la sortie Q `a letat H. De meme, pour la combinaison SR = (01)2 , lentree R = Reset `a
letat H, impose la sortie Q `a letat L. En somme on active ou non la sortie en activant ou non lentree.
Ceci ressemble tout `a fait `a de la logique combinatoire. Le fait nouveau se passe sur la premi`ere ligne.
Si ayant par exemple mis la sortie Q `a H via SR = (10)2 , on remets S `a zero, SR = (00)2 , la sortie
conserve son etat anterieur, cest `a dire H. Le circuit sait donc memoriser une information ; tant que
SR = 00, cette information est conservee (il faut bien s
ur aussi maintenir en fonctionnement la source
de tension continue qui alimente les circuits !). Pour ces 3 cas de figure, la seconde sortie Q est, comme
le sugg`ere son nom, dans l
etat compl
ementaire de Q.
Enfin, et cest une faiblesse du circuit, il est interdit dappliquer SR = (11)2 `a lentree. Cela veut
en fait dire, que lon ne peut pas predire quel sera letat ulterieur de levolution du circuit.
9.2.1.2

Fonctionnement.

Pour expliquer le fonctionnement de la bascule SR, on doit faire intervenir le temps (et se rappeler
que la sortie dune porte NOR est `a 1 seulement quand les deux entrees sont `a 0).
a) Supposons que lon ait depuis un certain temps S = R = 0. Ceci ne permet pas, comme nous allons
le montrer de determiner letat des sorties (contrairement au cas dun syst`eme purement combinatoire).
supposons Q = 0 ; les deux entrees de la porte 1 sont donc `a 0 (via la retroaction) et sa sortie Q est `a
1 ; une des entrees de la porte 2 etant `a 1, sa sortie Q est `a 0, conformement `a lhypoth`ese de depart.
Pour autant, ceci nest pas la seule solution au probl`eme. En effet, si S = R = 0, comme le circuit est
symetrique, la solution Q = 1 est aussi solution (elle donne par retroaction sur la porte 1, Q = 0, qui
confirme, par retroaction sur la porte 2, Q = 1). Le fait quil y ait 2 solutions au probl`eme constitue
une situation totalement nouvelle : letat des sorties ne depend pas uniquement de letat des entree :
elle depend aussi de letat anterieur des sorties.

9.2. BASCULES

105

b) Soit le temps de reponse (temps de propagation) dune porte NOR. A linstant to , on fait
passer S de 0 `a 1. Ceci impose Q(to + ) = 0, quelque soit letat de lautre entree de la porte 1. Cette
information est transmise `a lentree de la porte 2, et comme R = 0, la sortie de la porte 2 passe `a 1 :
Q(to + 2 ) = 1. Cette information est transmise `a lentree de la porte 1, mais comme elle a dej`a sa sortie
`a 0, ceci na pas dincidence sur la sortie qui reste Q(to + 3 ) = 0 : le syst`eme est dans une etat stable
et cela confirme la table de verite. Notons Qn et Qn letat des sorties du syst`eme stabilise.
c) A linstant t1 > to + 3 , gardant R = 0, on remet S `a zero (etape notee n + 1). Ceci na aucune
action sur le circuit. En effet, la seconde entree de la porte 1 est `a 1 et la sortie est Q = 0, quelque soit
lentree S. On resume ceci en ecrivant :
Qn+1 = Qn = Memorisation du passe

(9.2)

d) A linstant t2 > t1 , gardant S = 0, on impose R = 1. Cette situation est symetrique de celle


rencontree en b). Comme le circuit est symetrique, il suffit de permuter le role des portes 1 et 2 :
Q(t2 + 3 ) = 0, Q(t2 + 3 ) = 1 (etat stable). Bien entendu si ulterieurement on remet R `a 0, le circuit
conserve intacte ses sorties, conformement `a lequation 9.2.
e) Il reste `a examiner la derni`ere ligne de la table de verite. Partant de la situation dequilibre b)
(S = 1, R = 0, Q = 1, Q = 0), on fait passer R `a 1 `a linstant t3 . Cette action agit sur la porte 2 dont
la sortie change detat : Q(t3 + ) = 0. Puis via la retroaction, ceci na pas daction sur la sortie de la
porte 1 qui reste Q(t3 + 2 ) = 0. On peut montrer facilement que partant de lequilibre S = 0, R = 1,
Q = 0, Q = 1, mettre S `a 1 conduit aussi `a Q = Q = 0. On est donc dans la contradiction Q = Q, mais
ceci nest pas le pire.
f ) Partant de letat dequilibre precedent R = S = 1, Q = Q = 0, on peut revenir `a un etat normal
Set ou Reset en mettant `a zero une des entrees. Les chose sont plus complexes si on cherche `a memoriser
la situation en placant simultanement les deux entrees dans letat 0 : peut-on appliquer lequation 9.2 ?
En fait, il importe de preciser ce que lon entend par simultanement : un decalage t de lordre de
est tr`es probable. Supposons que ce soit R qui passe le premier `a zero et que lon ait t > 2 . Alors,
le syst`eme `a le temps de passer par letat stable S = 1, R = 0, Q = 1, Q = 0 et la remise `a zero de
S memorise cet etat conformement `a lequation 9.2. Si par contre le decalage est t . , la description
devient tr`es compliquee et on peut initier des oscillations. Symetriquement, si cest S qui passe `a 0 en
premier on peut se retrouver suivant les cas avec un etat stable Q = 0, Q = 1 ou avec un syst`eme
oscillant. Cest surtout pour ces raisons quil faut exclure la possibilite R = S = 1 du fonctionnement
de la bascule SR.
9.2.1.3

Exemple de comportement dans le temps dune bascule SR en portes NOR

Figure 9.2 Exemple de chronogramme pour une Bascule SR en portes NOR (sortie Q non represente).
Afin de completer et illustrer les informations contenues dans la table de verite, nous avons represente
sur la figure 9.2 un exemple devolution dans le temps des entrees et de la sortie Q dune bascule SR.

106

9.2.2

CHAPITRE 9. LOGIQUE SEQUENTIELLE


: BASCULES, REGISTRES, MEMOIRES

Bascule SR `
a porte NAND.

Figure 9.3 Bascule SR `a porte NAND


On peut realiser une bascule SR `a laide de 2 portes NAND. Le fonctionnement est similaire `a celui
de la bascule SR `a porte NOR. Si on compare la table de verite de ces deux portes, pour la porte
NOR, la sortie est `a 1 uniquement pour les 2 entrees `a 0, alors que pour la porte NAND la sortie est
`a 0 uniquement pour les 2 entrees `a 1. Il en resulte que le fonctionnement de la bascule SR constituee
de portes NAND se deduit de celui de la bascule constituee de portes NOR en remplacant 1 par 0
et reciproquement. En dautres termes la bascule en NOR travaille en logique positive (une entree est
active `a letat 1), alors que la bascule SR en NAND on travaille en logique negative : les entrees sont
active `a letat 0. Dans la definition (arbitraire) des sorties de la bascule SR en portes NAND (voir figure
9.3), la sortie Q est la sortie de la porte 1 (celle connectee `a lentree S), contrairement `a la bascule SR
en portes NOR. Il en resulte la table de verite suivante, dans laquelle Q = 1 dans letat Set et Q = 0
dans letat Reset, comme pour la bascule en portes NOR :
bascule SR (portes N AN D)
S
1
0
1
0

9.2.3

R
1
1
0
0

Q
Q
inchang
ee inchang
ee
1
0
0
1
1
1

Commentaire
memorisation du passe
Set : on mets la sortie Q `a 1
Reset : on remet la sortie Q `a 0
Etat interdit

(9.3)

Horloge

En conclusion,
a) Notre premier contact avec les bascules nous a permis de comprendre comment on pouvait obtenir
un effet de memoire grace `a la retroaction et aux proprietes des portes NOR ou NAND.
b) Il nous a permis devoquer un autre aspect de lelectronique numerique, la notion de simultaneite.
c) Enfin, nous avons mis en evidence un defaut des bascules SR, lexistence dune configuration
interdite `a lentree.
Le point b) concerne en fait la synchronisation des circuits numeriques. Dans lexpose sur la bascule
SR que nous avons fait, les signaux envoyes sur les entree S et R ne sont pas synchronises (on peut les
modifier de mani`ere totalement independante). Un circuit fonctionnant suivant ce mode sappelle un
circuit asynchrone. Au contraire, dans les circuits synchrones, les signaux sont synchronises, cest `a
dire que les changements detats (0 vers 1 ou linverse) se font en des instants bien choisis. Au coeur dun
dispositif synchrone se trouve une horloge. Cette horloge gen`ere des signaux carres (alternativement
L et H) et cest `a laide de ce signal dhorloge que lon parvient `a synchroniser les changements detats
non seulement des entrees dune bascule, mais plus generalement des syst`emes numeriques complexes :
les ordinateurs de bureau poss`edent une horloge interne, dont la frequence est actuellement de lordre
de quelques GHz et qui synchronise le fonctionnement du processeur. Ainsi, tout circuit numerique
synchrone poss`edent une entres horloge.
Remarque : pour synchroniser des circuits on utilise en general un signal dhorloge constitue dimpulsions de duree tr`es br`eve, typiquement un dizaine de ns. En effet, dans certains circuits il est imperatif

9.2. BASCULES

107

que cette duree (appelee temps de maintient) soit inferieure au temps de propagation des signaux entre
lentree et la sortie du circuit.
On sait resoudre le point c) : les bascules dites JK ne poss`edent pas cette limitation des bascules
SR.

9.2.4

Bascule SR synchrone

Figure 9.4 Bascule SR `a portes NAND synchrone


Le principe de fonctionnement des bascules synchrones est le suivant. Supposons que le signal dhorloge travaille en logique positive (horloge = clock, do`
u au choix la lettre C ou CLK pour designer lentree
horloge ou le signal lui-meme). Quand C = 0, les entrees (ici S et R) sont inactivees : la sortie de la
bascule ne depend plus des eventuelles modifications des entrees (la bascule travaille en memorisation).
Quand lhorloge passe de letat L `a letat H (de 0 `a 1), cest `a dire sur un flanc de montee du signal
dhorloge, Les entrees sont prises en compte. En r`egle general, on sarrange pour que les modifications
eventuelles des entrees aient lieu avant larrivee du flanc de montee du signal dhorloge. Dans ce cas, au
temps de propagation pr`es dans les portes constituant la bascule, les changements eventuels des sorties
ont lieu tout de suite apr`es le flanc de montee du signal dhorloge (en gros en meme temps si on observe
le phenom`ene `a une echelle de temps plus grande). Cest donc bien lhorloge qui declenche (qui scande)
les changements detats.
Prenons le cas dune bascule SR `a portes NAND (voir figure 9.4). Nous savons que letat de
memorisation est obtenu pour S = R = 1. La bascule est constituee de deux etages, le second etant
la bascule SR proprement dite, alimentee par les sorties S1 et R1 du premier etage. Si dans le premier
etages, on combine le signal dhorloge C avec une entree (par exemple S) dans une porte NAND pour
obtenir en sortie S1 = C.S = C + S, si C = 0 (donc C = 1), quelque soit S, la sortie S1 de la porte
sera `a 1, donc correspondra `a letat de memorisation (on applique le meme traitement `a lentree R
pour produire R1 = 1) . Inversement, si C = 1 (donc C = 0), les sorties S1 et R1 des portes NAND
reproduiront les entree (S ou R), mais inversees.
La figure 9.4.a represente le schema dune bascule SR synchrone `a portes NAND. Elle poss`ede 3
entrees, S , R et lentree horloge C. Le circuit comprend 4 portes NAND. Dapr`es ce qui prec`ede, cette
bascule SR travaille en logique positive. Son fonctionnement est resume dans le tableau suivant (sortie
Q non representee ; le symbole X represente une valeurs quelconque, 0 ou 1) :

CLK
0
1
1
1
1

bascule SR synchrone (portes N AN D)


S R
Q
Commentaire
X X inchang
e memorisation du passe
0 0 inchang
e memorisation du passe
1 0
1
Set
0 1
0
Reset
1 1 interdit
Etat interdit

(9.4)

Il existe des bascules SR qui declenchent (changent eventuellement detat) sur les flancs de descente
du signal dhorloge (quand C = H, la sortie est independante des entrees S, R). Afin de distinguer les

108

CHAPITRE 9. LOGIQUE SEQUENTIELLE


: BASCULES, REGISTRES, MEMOIRES

deux modes de fonctionnement, on introduit le signe de linversion (petit cercle) `a lentree horloge de la
porte (voir figure 9.4.b et 9.4.c).
Remarque : nous ne pretendons pas representer tous le detail des circuits contenus `a linterieurs des
circuits integres disponibles sur le marche : nous nous limitons aux principes.

9.2.5

Bascule D synchrone.

Figure 9.5 Bascule D synchrone


La bascule D est une bascule ne possedant quune seule entree (en plus de lentree horloge). Elle est
obtenue en imposant systematiquement R = S `a laide dun inverseur (voir figure 9.5). Noter que les
portes NAND situees `a lentree inverse les signaux S et R quand CLK = 1).
Comme pour les bascules SR synchrones, les bascules D peuvent declencher sur les flancs de montee
ou de descente du signal dhorloge. A ceci pr`es, elles ont toutes le meme mode de fonctionnement : la
sortie Q recopie lentree comme le montre le tableau 9.5. Lhorloge decoupe le temps entre le temps
avant le flanc de montee (on indice par n la situation anterieure `a larrivee de ce flanc) et apr`es le flanc
de montee (indice par n + 1).
CLK
0
1
1

D
X
0
1

S
X
0
1

R
X
1
0

Qn+1
Qn
0
1

commentaire
m
emorisation
Qn+1 = D
Qn+1 = D

(9.5)

Il peut sembler sans interet de recopier la signal dentree vers la sortie. En fait il nen nest rien car la
fonction de la bascule est de memoriser lentree : on la recopie, puis si on maintient CLK = 0, on garde
en memoire cette information. La bascule D est bien une memoire ! Nous verrons que convenablement
reliees, des bascules D peuvent constituer un registre `a decalage.

9.2.6

Bascules JK.

Figure 9.6 Bascule JK


Il existe bien dautres bascules. Nous presentons pour terminer la bascule JK synchrone qui etend
le fonctionnement de la bascule SR synchrone au cas S = R = 1 (en logique positive). Elle poss`ede

9.2. BASCULES

109

2 sortie Q et Q (cette derni`ere est dans tous les cas linverse de Q) et 3 entrees CLK (horloge), J et
K (analogue de S et R). Le schema de principe dune bascule JK est donne sur la figure 9.6. On note
la presence de portes NAND `a trois entrees et dune double retroaction : en particulier, la sortie de la
porte NAND `a trois entree n 1 est S = J(CLK)Q = J + (CLK) + Q. Quand lhorloge autorise la prise
en compte des entrees, CLK = 1, S = J + Q. Letage de sortie est une bascule SR.
Le declenchement se fait sur les flancs de montee du signal dhorloge. Le fonctionnement de la bascule
JK est donne par la table de verite 9.6, dans laquelle nous avons utilise un mode de representation
different de celui que nous avions utilise pour les bascules SR et D synchrones : au lieu de faire apparatre
letat (0 ou 1) de lhorloge, nous avons fait apparatre par une fl`eche verticale (symbolisant un flanc
de montee) le changement detat de ce signal. A ce tableau il faut bien s
ur ajouter le fait que si lon
maintient le signal dhorloge CLK = 0 (etat L), les modifications des entrees J et K ne sont pas
repercutees sur les sortie (memorisation, S = R = 1).
CLK

J
0
1
0

K
0
0
1

Qn+1
Qn
1
0

commentaire
memorisation
Set
Reset

Qn

Inversion

(9.6)

Nous ne ferons pas une analyse compl`ete du fonctionnement de la bascule (voir TD). Examinons la
derni`ere ligne du tableau puisquelle represente un fait nouveau par rapport `a la bascule SR. Soit le
temps de propagation `a travers une porte. Supposons que lon ait J = K = 1 , Q = 0 et Q = 1 juste
avant larrivee du flanc de montee de lhorloge . La bascule possedant 2 etages, une possible modification
de la sortie ne peut se produire quau bout dun temps 2 . Comme les sorties sont reliees aux entrees,
nous ajoutons une condition supplementaire : les modifications des sorties ne doivent pas avoir (via la
retroaction) dinfluence sur le comportement ulterieur de la bascule. Pour satisfaire cette contrainte, il
suffit de faire en sorte que le signal dhorloge repasse `a 0 avant que les sorties ne changent detat. Nous
supposons donc que le temps de maintient du signal dhorloge est inferieur `a 2 (par exemple CLK
repasse `a 0 au bout dun temps voisin de ). On note t = 0 linstant o`
u CLK passe de 0 `a 1. Le tableau
suivant decrit levolution de la bascule dans le temps.
t
<0
0

2
3

J
1
1
1
1
1

K
1
1
1
1
1

CLK
0

0
0

S
1
1
0
1
1

R
1
1
1
1
1

Q Q
0 1
0 1
0 1
1 1
1 0

t > 3

Commentaire
un etat stable possible
arrivee de limpulsion dhorloge
fin de limpulsion dhorloge
S et R independants de Q et Q
fin de levolution de la basule
Etat final Qn+1 = Qn

La porte NAND no 1 transmet S = J +(CLK)+Q et la porte NAND no 2 transmet R = K +(CLK)+Q.


On obtient le deroulement suivant.
a) pour t < 0, CLK = 0 impose R = S = 1 qui correspond `a letat de memorisation de letage de
sortie (bascule SR `a porte NAND).
b) pour t = 0, lhorloge presente un flanc de montee. En raison des temps de propagations, les sorties
sont inchangees.
c) pour t = , la porte n 1 voit sa sortie passer `a 0 puisque `a linstant t = 0+ les trois entrees de la
porte n 1 sont `a 1. Comme Q = 0, la sortie de la porte 2 reste inchangee (R = 1).
d) pour t = 2 , le passage `a 0 de S `a linstant se traduit par la passage `a 1 de la sortie Q. Les
sorties S et R du premier etage sont fixes definitivement `a 1 par le retour `a 0 de CLK.
e) Le passage de Q `a 1 `a linstant 2 transmis `a lentree de la porte no 4 se traduit par le passage
de Q `a 0 (car R = 1). Il ny a plus aucune incidence sur S ou R. Letat stable final correspond `a letat
de memorisation (S = R = 1) dune bascule SR `a portes NAND.
Cet exemple montre `a quel point la retroaction dans les circuits numeriques est un probl`eme
delectronique delicat et deborde tr`es largement le cadre de lalg`ebre de Boole.

110

CHAPITRE 9. LOGIQUE SEQUENTIELLE


: BASCULES, REGISTRES, MEMOIRES

Nous ne presenterons pas les compteurs dans cette introduction sur les circuits numeriques. Afin
de donner une ouverture sur le stockage de linformation sous forme de bits, nous decrivons ci-dessous
le fonctionnement dun registre `a decalage.

9.3

Registre `
a d
ecalage `
a bascules D.

Figure 9.7 Registre `a decalage constitue de bascules D.


La figure 9.7 represente un registre `a decalage constitue par la mise en cascade de N bascules D
(Do , D1 ...DN 1 ). Le principe de fonctionnement est le meme que celui des afficheurs de calculettes. On
entre les donnees (ici les bits) les un apr`es les autres dans la bascule situee le plus `a gauche. Au fur et
`a mesure que les bits sont rentres, les bits se decalent vers la droite. Au bout de N operations, les bits
occupent les sorties des N bascules, le dernier bit entre est dans la bascule la plus `a gauche, le premier
entre, apr`es N decalage, se retrouve `a la sortie de la bascule le plus `a droite.
Cest lhorloge qui synchronise le decalage des bits vers la droite : toutes les bascules sont reliees `a
la meme horloge. La ligne dentree (entree Do ) doit egalement etre synchronisee avec lhorloge. Soit T
la periode de lhorloge et p T le temps de propagation dans une bascule. Les flancs de montee du
signal CLK se presentent aux instants 0, T , 2T , etc... Le bit `a rentrer dans le registre doit etre present `a
lentree Do de la premi`ere bascule avant le premier flanc de montee de lhorloge. Une solution consiste
par exemple `a synchroniser larrivee des bits par lhorloge principale et `a retarder ce signal dhorloge
avant de lenvoyer sur les entrees horloge Co , C1 ...CN 1 des bascules.
Avant toute operation, on remets `a zero (RAZ) les bascules : Qj = 0. Sur les bascules il existe
en effet une electrode qui permet deffectuer cette RAZ. A linstant t = 0, le flanc de montee sur Co
permet de recopier le premier bit Bo vers la sortie Qo de la bascule Do . En tenant compte du temps
de propagation dans Do , Qo (p ) = Bo . Par contre, et cest tr`es important, Qo (0) = 0. Il en resulte que,
grace `a ce tr`es faible decalage dans le temps, quand le flanc de montee de lhorloge arrive en t = 0,
la bascule D1 recopie 0 en sortie et non Bo . Au second flanc de montee de lhorloge (coup dhorloge),
le bit B1 est dej`a present `a lentree D0 . La bascule no 0 recopie son entree Qo (T + p ) = B1 ecrasant
lancienne valeur Bo . Heureusement, avant que cette ecrasement se produise, `a linstant t = T , la bascule
no 1 recopie son entree D1 = Qo (T ) = Qo (p ) = B0 . A linstant T + p , on a donc Q0 = B1 et Q1 = B0
et ceci grace aux retards de propagation dans les bascules ! Le processus se poursuit ainsi de mani`ere
repetitive. Au Ni`eme coup dhorloge le dernier bit BN 1 entre dans la bascule no 0 et B0 entre dans la
bascule no N-1 : lensemble du mot de N bits est memorise dans le registre `a decalage, au niveau des
sorties des bascules D.
Ce type de registre se prete donc `a la transmission de linformation sous forme serie (cest le mode
de transmission dans les liaisons par cable de type RS232). Il existe aussi un mode de transmission en
parall`ele (tous les N bits dun seul coup) : nous ne developperons pas cet aspect.
Pour terminer cette introduction sur les circuits numeriques, nous presentons le principe des memoires
vives.

9.4

M
emoires

Nous avons dej`a insiste sur limportance centrale des memoires en electronique numerique. Les
memoires permettent de stocker linformation sous forme de bits (doctets en general). Un point


9.4. MEMOIRES

111

memoire doit pouvoir stocker de linformation (bit 0 ou 1), mais aussi doit pouvoir etre lu (READ)
et eventuellement etre modifie (ecrit, WRITE). Il existe trois grandes categories de memoires :
i) Les m
emoires de masse : disque dur (magnetique), bande magnetique etc... Lacc`es `a linformation (aux bits) est lent mais elles sont non volatiles, cest `a dire que linformation est maintenue meme
en labsence de source denergie (source de tension).
ii) Les m
emoires mortes. Cest par exemple dans ce type de memoire quest stocke le BIOS (Basic
Input Output System) des PC, qui est charge dans la memoire vive au moment du demarrage du PC.
Un autre exemple plus recent est celui des cles USB (memoires flash). Elles sont concues essentiellement
pour etre lues (READ), mais on peut aussi les modifier (WRITE), cette operation etant relativement
lente (`a laune des memoires vives). Ce memoires sont non volatiles. Sur le plan technologique, dans
une memoire flash, le support de linformation est un type particulier de MOSFET, dont la grille est
totalement isolee (grille flottante). Le transistor est normalement bloque (correspond au stockage dun
1). A laide dun champ electrique eleve, on peut injecter des charges sur la grille `
a travers lisolant.
Ces charges produisent un champ electrique dans le canal qui devient conducteur (tension entre grille
et source au dessus de la tension de seuil). Letat passant correspond au stockage dun 0. Les charges
enterrees sur une grille isolee peuvent y demeurer pendants de nombreuses annees sans alteration :
cest cette caracteristique qui donne son caract`ere non volatile `a la memoire. Lapplication dun champ
eleve en sens contraire permet de supprimer les charges stockees sur la grille pour passer dun bit 0 `a un
bit 1. Ce type de memoire porte le nom de EEPROM (Electrically-Erasable Programmable Read-Only
Memory), o`
u le mot Electrically rappelle la procedure employee pour agir sur letat du transistor.
iii) Les m
emoires vives RAM (Random Acces Memory). Ces memoires sont `a acc`es rapide (en
lecture et ecriture), mais elles sont volatiles : on perd linformation quand on supprime la source de
tension. Cest ce type de memoire que nous allons un peu developper ci-dessous. Il existe en fait deux
grands types de memoires RAM :
a) les memoires DRAM (Dynamic Random Acces Memory). Elles sont basees sur le stockage dune
charge electrique dans un condensateur. Lecriture et la lecture se fait par lintermediaire dun transistor
MOS. Les ordinateurs de bureau poss`edent actuellement des memoires DRAM dau moins 1 Go (Giga
octets). Ces memoires, peu co
uteuses, doivent etre rafrachies (regenerees) un grand nombre de fois par
seconde en raison des courants de fuite dans les condensateurs MOS.
b) les memoires vives SRAM (Static Random Acces Memory). Linformation est stockee dans des
bascules. Elles sont plus co
uteuses mais dun acc`es plus rapide que les memoires DRAM. Ce type de
memoire est utilise dans ce quon appelle les memoires cache, dans ou `a lexterieur des microprocesseurs
(memoire de relativement faible capacite mais tr`es rapide, dans laquelle sont stockees les informations
les plus recentes lors de lexecution dun tache).

9.4.1

DRAM

Figure 9.8 Memoire DRAM `a un seul transistor


Nous avons dej`a evoque ce type de memoire 3.4. La figure 9.8.a donne le principe dune cellule
memoire DRAM. Elle est constituee dun condensateur CS (qui stocke une charge electrique avec la
correspondance 1 pour le condensateur charge et 0 quand il est decharge) et dun transistor MOSFET
QN `a canal N. Typiquement CS 30 f F . Quand la capacite est chargee `a travers le transistor QN ,
la tension aux bornes est VCS = VDD Vt o`
u Vt = VDS est la tension de seuil du MOSFET. Cet etat

112

CHAPITRE 9. LOGIQUE SEQUENTIELLE


: BASCULES, REGISTRES, MEMOIRES

correspond au stockage dun bit 1. Inversement un bit 0 correspond `a CS decharge. Compte tenu de sa
simplicite, la cellule memoire occupe une place tr`es reduite, do`
u la possibilite de realiser des memoires
de grande capacite
Avant daller plus loin nous devons introduire rapidement quelques notions sur larchitecture des
memoires.
9.4.1.1

Architecture des m
emoires.

Les cellules memoires (memorisant chacune un bit 0 ou 1) sont organisees sous forme de matrice
(voir figure 9.8.b). Un memoire possedant une capacite de stockage de 2M +N bits contient 2M rangees
(horizontales) et 2N colonnes (verticales), typiquement avec M = N ou voisins. Un cellule particuli`ere est donc `a lintersection dune rangee (no i) et dune colonne (no j). Le couple i, j permet de
definir ladresse de la cellule dans la memoire.
Les cellules memoires situees sur une rangees donnee sont toutes reliees electriquement par un
conducteur et forment ce que lon appelle une ligne de mots (Word Line). De meme les cellules situees
sur une meme colonne sont reliees electriquement et forment une ligne de bits (Bit Line).
9.4.1.2

Fonctionnement : lecture-
ecriture

Sur la figure 9.8.a apparaissent deux conducteurs (Word line et Bit line) qui permettent dacceder
a` la cellule memoire, pour la lire et eventuellement la modifier. On note que ces deux lignes ne jouent
pas un role symetrique : la grille de QN est reliee `a la Word line alors que la Bit line est reliee au drain
du transistor.
Quand on veut activer une cellule memoire (i, j), on applique une tension VW > Vt sur la Word line
i, donc sur la grille du transistor QN qui devient conducteur. Ceci met en communication la capacite
CS avec la Bit line. Cette derni`ere poss`ede en fait une capacite CB . Pour une operation de lecture, on
porte la Bit line `a un potentiel VB de lordre de VDD /2 et on observe levolution de ce potentiel : si
CS est charge, VB augmente ; il diminue si CS est decharge, ce qui permet de distinguer un 1 dun 0.
Noter que la lecture dune DRAM est destructive : la difference de potentiel apr`es lecture nest ni 0 ni
VDD Vt . Il faut donc remettre la cellule en etat apr`es lecture.
Loperation decriture est similaire. La donnee `a mettre en memoire est vehiculee par la Bit line. Si
on veut stocker un 1, le potentiel de la Bit line est VDD . Parall`element, on rend conducteur le MOSFET
via la Word line : VDD = VCS + VDS avec VDS = Vt .
9.4.1.3

Rafrachissement

En temps normal, une cellule est isolee du reste des circuits (MOSFET bloque). Compte tenu de la
technologie, il existe un courant de fuite dans le transistor et dans lisolant du condensateur (silice de
tr`es faible epaisseur). Cs se decharge avec une constante de temps largement inferieure `a la seconde.
Il est donc necessaire de rafrachir la memoire typiquement toutes les 10-20 ms. Loperation seffectue
rangee par rangee et pendant le rafrachissement la memoire est indisponible (typiquement 2% du temps
ce qui nest pas tr`es penalisant).

9.4.2

SRAM

Comme pour les DRAM, nous allons nous appuyer dans notre description sur le fait que lon peut bloquer ou rendre passant un MOSFET `a laide dune tension. Les cellules memoires SRAM en technologie
MOS sont constituees de 6 MOSFET.
9.4.2.1

Bistable.

La cellule dune memoire vive statique est construite autour dun bistable (Latch). La figure 9.9.a
donne le principe dun bistable construit `a laide de deux inverseurs montes en retroaction croisee. Ce
syst`eme poss`ede deux etats stables. En effet, soit le temps de propagation et supposons que lon
impose `a t = 0, A1 = Q = 0. Ceci entrane Q( ) = 1, A2 ( ) = 1, confirmant Q(2 ) = 0, A1 (2 ) = 0
et Q(2 ) = 1. On obtient un second etat stable en imposant A1 = Q = 1, conduisant `a Q = 0. Si on
impose A1 = A2 = Q = Q = 0, on peut facilement montrer que cette configuration est instable et que


9.4. MEMOIRES

113

Figure 9.9 a) Bistable. b) Schema de principe dune cellule SRAM. c) Cellule SRAM constituee de 6
MOSFET. La grille des PMOS poss`ede un petit cercle permettant de les distinguer des NMOS.
compte tenu du detail des conditions initiales, le syst`eme terminera son evolution vers lun ou lautre
des etats stables. Notons que ce bistable ressemble un `a une bascule SR mais qui ne possederait pas
dentree pour changer son etat. En fait, la bascule SR est un bistable muni de deux entrees S et R : on
a remplace les inverseurs par des portes (NAND ou NOR) `a deux entrees.
9.4.2.2

Structure

La figure 9.9.b donne le principe dune cellule memoire SRAM. On reconnat le bistable decrit
ci-dessous compose de deux inverseurs CMOS : chaque inverseur est constitue de deux MOSFET
complementaires. Autour de ce bistable on rajoute deux MOSFET dacc`es `a canal N, T1 et T2 , qui
vont permettre de lire et ecrire : le circuit comporte 6 transistors MOS. Les grilles de T1 et T2 sont
reliees `a la Word line W, ce qui permet de les bloquer ou de les rendre passant (dans ce cas, la tension
sur W est VW = VDD ). Les drains des transistors dacc`es sont relies `a la Bit line, mais on note que lon
utilise deux lignes complementaires, B et B. Letat Q = 1 (donc Q = 0) correspond au stockage de 1
(Q = 0 correspond au stockage de 0).
Le mode de fonctionnement de la cellule SRAM est plus complique que pour la cellule DRAM. Nous
ne donnerons donc quune esquisse de fonctionnement.
9.4.2.3

Lecture

On suppose par exemple Q = 1 ( VQ = VDD , VQ = 0). On selectionne la ligne dans laquelle se


trouve la cellule en imposant VW = VDD . Les MOSFET dacc`es etant passant, un courant peut circuler
entre les sorties du bistable et les Bit lines, chargeant la capacite CB et CB de ces lignes. Les variations
de potentiel qui en resultent permettent den deduire letat du bistable. Notons que la lecture est non
destructive car letat du bistable est conserve.
9.4.2.4

Ecriture

On suppose VQ = VDD (1 logique) et on souhaite ecrire VQ = 0. On impose VB = 0 et V B = VDD et


on selectionne la ligne par VW = VDD , rendant les transistors T1 et T2 passant. La description compl`ete
de levolution dans le temps est compliquee. Toutefois, on concoit que letat final puisse corresponde
`a Q = 0 puisque le transistor T2 connecte la sortie Q vers la masse, et de meme `a Q = 1 puisque le
transistor T1 connecte la sortie Q vers VDD .
Rappelons pour terminer quil nest pas necessaire de rafrachir ce type de memoire puisque letat
memorise correspond `a un etat stable, maintenu par les sources de polarisation. Par contre, si on eteint
les sources de polarisation, linformation est perdue, comme dans toute RAM.

114

CHAPITRE 9. LOGIQUE SEQUENTIELLE


: BASCULES, REGISTRES, MEMOIRES

Chapitre 10

Convertisseurs.
10.1

N
ecessit
e des convertisseurs.

10.1.1

Introduction

Nous avons commence ce cours dElectronique par des notions dElectronique analogique car cest
sous cette forme quapparaissent les signaux `a la source (capteur etc..). Nous avons vu que lon peut
effectuer un traitement du signal sous forme purement analogique (par exemple son filtrage), mais
nous avons aussi vante les merites de lintroduction de lElectronique numerique : immunite au bruit,
stockage etc.. Plus generalement, on peut traiter les signaux analogiques sous forme numerique (digital
signal processing). En particulier, au filtrage analogique correspond le filtrage numerique. En fait, il ne
sagit pas seulement de reproduire sous forme numerique ce que lon sait faire de mani`ere analogique : le
passage vers le numerique est beaucoup plus riche car il permet en particulier lutilisation des ordinateurs.
Prenons lexemple general dun syst`eme boucle vehiculant un signal analogique. Ce signal alimente un
dispositif complexe D qui necessite une regulation. On peut envisager une boucle de contre reaction
comportant entre autre un ordinateur qui va analyser le comportement de D via des capteurs et injecter
les informations ad hoc `a lentree de la boucle. Dans cette structure, il est necessaire de convertir
les signaux analogiques fournis par D en signaux numeriques pour les traiter dans lordinateur, puis
convertir les informations fournies par lordinateur sous forme numerique en un signal analogique. Ces
conversions sont effectuees par des circuits integres appeles convertisseur analogique numerique (ADC,
Analog to Digital Converter) et convertisseur numerique analogique (DAC, digital to analog converter).

10.1.2

Exemples de syst`
emes utilisant des convertisseurs.

10.1.2.1

Spectre en
energie de particules

Nous commencons par le cas dun laboratoire de physique dans lequel on cherche `a mesurer le
spectre en energie (la distribution en energie) de particules (photons, protons, alpha etc...) issues dune
experience. On detecte ces particules avec un capteur (ici un detecteur). Ce dernier fournit un signal
(une impulsion de tension) dont lamplitude Vi est approximativement proportionnelle `a lenergie Ei
des particules. Apr`es amplification, ces impulsions br`eves, damplitude Vi = Ei sont envoyees dans
un ADC dont la sortie est un entier Ai , par exemple sur 12 bits (212 = 4096) : 0 Ai 4095. Le
convertisseur est lineaire de sorte que Ni = K Ai . La sortie de lADC est reliee `a la memoire vive dun
ordinateur (via une interface) dont le role, pendant la phase dacquisition de donnees est tr`es simple. Si
ao est ladresse de debut du bloc memoire utilise, lordinateur active le mot memoire dadresse ao + Ai .
Si cette adresse contient lentier Ni , lordinateur effectue lincrementation Ni = Ni + 1. Cette operation
signifie que 1 particule denergie Ei = KNi est entree dans le detecteur. A la fin de lexperience, le
bloc memoire contient des entiers No ....N4095 qui represente lhistogramme cherche des energies des
particules detectees.
115

116
10.1.2.2

CHAPITRE 10. CONVERTISSEURS.


Miroir `
a retournement temporel

On sait que les lois de la mecanique du point materiel sont reversibles : si on renverse le sens du temps
dans les equations, le point materiel repasse, en sens inverse, exactement par la meme trajectoire. En
raison des collisions `a lechelle microscopique, cette reversibilite theorique nexiste pas pour les syst`emes
constitues dun grand nombre de particules, comme par exemple un gaz (theorie du chaos..). Les ondes
acoustiques ultrasonores impliquent le mouvement dun grand nombre de particules. Pourtant, il est
possible de realiser des experiences de renversement du temps avec ces ondes. Les dispositifs permettant
de generer ces ondes sont des cristaux piezo-electriques. Ces transducteurs peuvent `a la fois fonctionner
en emetteur et en recepteur. On relie ces transducteurs `a un ordinateur. Quand un train donde est recu
par les transducteur, il est numerise (ADC) et stocke dans la memoire RAM. Puis, apr`es DAC, par le
meme transducteur, il est reemis en sens inverse (temporellement : last in, first out !). Le transducteur,
couple `a un ADC, un DAC et un ordinateur, est bien un miroir `a renversement du sens du temps !
10.1.2.3

Oscilloscope num
erique

Apr`es ces exemples proches de la recherche en laboratoire, considerons le cas des oscilloscopes
numeriques que lon peut rencontrer en TP. Il y a peu de temps, les oscilloscopes de TP etaient purement
analogiques (faisceau delectron devie par des plaques etc...). Aujourdhui, tous les oscilloscopes disponibles sur le marche contiennent une tr`es forte dose de numerique. En effet, ce sont des oscilloscopes `a
memoire, mais au lieu de sappuyer sur la remanence dun ecran, ces appareils numerisent les signaux
injectes sur les entrees (`a laide dun ADC) pour les stocker dans une memoire (lecran, via un DAC,
est une image analogique du contenu de la memoire). Nous reviendrons sur cet exemple tr`es riche.
Echantillonnage

You might also like