Vous êtes sur la page 1sur 22

Etienne Messerli

Yves Meyer
dcembre 2004
Version 1
Electronique Numrique
2me tome
Systmes squentiels
Mise jour de ce manuel
La base du prsent manuel a t crit par M. Yves Meyer de l'cole d'ingnieurs de l'arc juras-
sien. J'ai repris celui-ci en apportant des modifications. La principale modification concerne la
suppression du chapitre sur le langage VHDL. Celui-ci est couvert l'EIVD par un manuel s-
par.
Je remercie M. Yves Meyer de sa collaboration et de m'avoir permis de rutiliser son support
de cours.
J'ai aussi repris des parties des manuels crit par M. Maurice Gaumain. Il s'agit principalement
des chapitres sur les multiplexeurs, les dcodeurs et les aspects technique.
Je remercie tous les utilisateurs de ce manuel de mindiquer les erreurs quil comporte. De m-
me, si des informations semblent manquer ou sont incompltes, elles peuvent mtre transmi-
ses, cela permettra une mise jour rgulire de ce manuel.
Contact
Auteur: Etienne Messerli
e-mail : etienne.messerli@eivd.ch
Tl: +41 (0)24 / 423.22.82
Adresse: Ecole dIngnieurs du Canton de Vaud (EIVD)
Route de Cheseaux 1
CH-1400 Yverdon-les-Bains
Tl : ++41 (0)24 / 423.21.11 (central)
Fax : ++41 (0)24/425.00.50
E-mail : reds@eivd:ch
Internet : http://reds.eivd.ch
Autres personnes contacter en cas dabsence:
M. Boada Serge e-mail : Serge.Boada@eivd.ch Tl. direct +41 (0)24/425.22.53
M. Bornand Cdric e-mail Cedric.Bornand@eivd.ch Tl. direct +41 (0)24/423.97.51
M. Sultan Ali e-mail Ali.Sultan@eivd.ch Tl. direct +41 (0)24/424.22.53
I
Table des matires
Chapitre 1 LES BASCULES 1
1-1. Dfinition du systme squentiel ..................................................................... 2
1-2. Bascule R-S en portes NAND .......................................................................... 2
1-3. Bascule R-S en portes NOR ............................................................................ 3
1-4. Bascule R-S avec enable .................................................................................. 4
1-5. L'lment mmoire D (D Latch) .................................................................... 5
1-6. La bascule matre-esclave. ............................................................................... 6
1-7. La bascule bistable dclenchable sur un flanc "edge-triggered" ................ 8
1-8. Signal dhorloge et bascules synchrones ........................................................ 9
1-9. FLIP-FLOP D ................................................................................................. 10
1-10. BASCULE T (Toggle flip flop) .................................................................... 10
1-11. Entres asynchrones ...................................................................................... 10
1-11.1.Dsignation des entres asynchrones . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1-12. Considrations sur la synchronisation des bascules ................................... 11
1-12.1.Temps de stabilisation (setup time) et temps de maintien (hold time) . 12
1-12.2.Temps de propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1-13. Description d'une bascule D avec reset asynchrone en VHDL .................. 13
1-14. Synchronisation des entres externes asynchrones ..................................... 14
Chapitre 2 Synchronisation et dtection des flanc d'un signal ex-
terne asynchrone 17
Chapitre 3 Les Registres 19
3-1. Structures de base des registres .................................................................... 19
3-2. Registre Tampon (registre parallle) ........................................................... 20
3-2.1.Description VHDL d'un registre tampon . . . . . . . . . . . . . . . . . . . . . . . . 21
Titre chapitre Vesion du 6 avril 2005
II
3-3. Registre mmoire ........................................................................................... 21
3-3.1.Bus de donnes bidirectionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3-3.2.Structure d'un registre mmoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3-3.3.Description VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3-4. Les registres dcalage ................................................................................. 24
3-4.1.Registre serial IN serial OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Description VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3-4.2.Registre serial IN parallel OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Description VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3-4.3.Registre parallel IN serial OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Description VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3-4.4.Registre parallel IN parallel OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Description VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Chapitre 4 Les machines d'tats synchrones 31
4-1. Structure interne d'une machine d'tats ...................................................... 33
4-2. Le graphe des tats (diagramme de transition) .......................................... 33
4-2.1.Table de vrit des sorties en fonction de l'tat . . . . . . . . . . . . . . . . . . . 35
4-3. Du graphe des tats la description VHDL ................................................ 35
4-3.1.Codage des tats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4-3.2.Machines de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4-3.3.Machines de Mealy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4-3.4.Machines de Mealy sorties resynchronises . . . . . . . . . . . . . . . . . . . . 37
Chapitre 5 Les Compteurs 39
5-1. Les Compteurs Asynchrones ......................................................................... 39
5-1.1.Modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5-1.2.Division de la frquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5-1.3.RETARD DE PROPAGATION DANS LES COMPTEURS ASYN-
CHRONES 40
5-1.4.Compteurs asynchrones modulo < 2N . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5-2. COMPTEURS SYNCHRONES (PARALLLES) ..................................... 42
5-3. COMPTEURS PRRGLABLES ............................................................... 44
5-4. Description d'un compteur synchrone en VHDL ........................................ 44
1
Chapitre 1
LES BASCULES
Nous avons tudi jusqu'ici des circuits logiques combinatoires dont les
sorties, un instant donn, ne dpendent que de l'tat des valeurs prsentes
sur les entres. Toute condition antrieure n'a aucun effet sur les valeurs
actuelles des sorties, parce que les circuits combinatoires n'ont pas de m-
moire. Dans la majorit des systmes numriques, on retrouve une combi-
naison de circuits combinatoires et de dispositifs mmoire.
La section combinatoire est alimente par des signaux d'entre externes
et par les sorties des dispositifs mmoire. Le circuit combinatoire agit sur
ces entres pour produire diverses sorties, certaines servant dterminer
les valeurs binaires stockes dans les lments de mmoire. La sortie de
certains de ces lments de mmoire revient comme entre des circuits lo-
giques de la partie combinatoire. Ceci est une indication que les sorties ex-
ternes d'un systme numrique dpendent autant des entres externes que
des informations mmorises dans d'autres sections. On appelle cela un
systme squentiel.
Chapitre 1: LES BASCULES Version du 6 avril 2005
2
1-1 Dfinition du systme squentiel
Un systme est dit squentiel, si un mme vecteur d'entre, il fait cor-
respondre plusieurs vecteurs de sortie diffrents. Chaque vecteur de sortie
dpendra alors non seulement du vecteur d'entre l'instant t, mais aussi
des prcdents, ce qui introduit la notion de squence d'entre.
L'effet mmoire est typique des systmes squentiels, l'lment de m-
morisation le plus important est la bascule D, constitue d'un ensemble de
portes logiques. Mme si, en soi, une porte logique ne retient pas de don-
ne, il est possible d'en raccorder quelques-unes ensemble afin d'obtenir le
stockage d'une information. Il existe diffrentes faons de monter les por-
tes pour obtenir ces bascules.
1-2 Bascule R-S en portes NAND
La bascule la plus lmentaire est construite au moyen de deux portes
NAND ou de deux portes NOR. La version NON ET, appel lment de
mmoire en portes NAND ou bascule R-S (dans certains cas on l'appelle
aussi bascule SC), est montre la figure 1- 1b). Les deux portes NAND
sont rtro-couples, de sorte que la sortie de la porte NAND 1 est connec-
te l'une des entres de la porte NAND 2, et vice versa. Les sorties, ap-
pele et respectivement, sont les sorties de l'lment de mmoire.
Dans des conditions normales, une sortie est toujours l'inverse de l'autre.
Les entres de l'lment de mmoire sont dsignes S (d'aprs SET) et R
(d'aprs RESET). Les entres S et R se trouvent normalement toutes les
deux au niveau HAUT, et l'on doit momentanment en porter une au ni-
veau BAS pour changer l'tat de sortie de la bascule. Un lment de m-
moire en NAND possde deux tats stables possibles quand S = R = 1.
L'lment de mmoire en NAND peut se mettre sous la forme d'une table
de vrit (figure 1- 1a);
a. S = R = 1; cette condition correspond l'tat normal de repos et
elle n'affecte pas l'tat de sortie de la bascule. Les sorties demeu-
rent dans l'tat qu'elles occupaient avant l'application de cette
condition d'entre.
b. S = 0, R = 1; cette condition entrane toujours la sortie dans l'tat
1 o demeure mme aprs le retour de S au niveau HAUT. On dit
que c'est la condition de mise 1 de la mmoire (SET).
c. S = 1, R = 0; cette condition entrane toujours la sortie dans l'tat
0 o demeure mme aprs le retour de C au niveau HAUT. On dit
que c'est la condition de mise 0 de la mmoire (RESET).
d. S = R = 0; cette condition est quivalente vouloir mettre la
mmoire fois 1 et 0, ce qui donne lieu des rsultats ambigus.
En fait les deux sorties sont l'tat HAUT simultanment. Cette
Q Q
Electronique numrique Cours Systme numriques, Tome 1
3
condition ne doit jamais servir.
Figure 1- 1 : Table de vrit et schma logique d'une bascule R-S NAND
1-3 Bascule R-S en portes NOR
Deux portes NOR rtro-couples constituent une mmoire R-S (bascule
R-S). Un tel montage, illustr la figure 1- 2b), est analogue celui d'une
mmoire en NAND, sauf que les sorties et sont maintenant interver-
ties.
L'tude du fonctionnement d'une mmoire en NOR se dveloppe de ma-
nire tout fait identique celle de la mmoire en NAND. Les rsultats
sont donns sous forme d'une table de vrit la figure 1- 2a) et rsums
ci-aprs:
a. S = R = 0; cette condition reprsente l'tat normal de repos de la
mmoire en NOR et ne modifie en rien l'tat de sortie. Q et
demeurent dans l'tat qu'elles occupaient avant l'arrive de
l'impulsion d'entre.
b. S = 1, R = 0; cette condition a toujours pour effet de mettre Q 1,
tat qui ne change pas mme quand S revient 0.
c. S = 0, R = 1 ; cette condition a toujours pour effet de mettre Q 0
, tat qui ne change pas mme quand C revient 0.
d. S = R = 1; cette condition est quivalente vouloir mettre la
mmoire 1 et 0 en mme temps et produit Q = = 0. Si les
deux entres sont ramenes simultanment 0, l'tat de sortie
rsultante est imprvisible. Il ne faut jamais se servir de cette
condition d'entre.
L'lment de mmoire en NOR fonctionne en tous points comme la m-
moire en NAND, l'exception des entres S et R qui, maintenant, sont
vraies au niveau HAUT plutt qu'au niveau BAS, et de l'tat normal de re-
pos qui est S = R = 0. Q sera mis 1 par une impulsion de niveau HAUT
nS nR Q
1 1 inchang
0 1 1
1 0 0
0 0 1 Interdit
a)Table de vrit b) bascule avec portes NAND
nS
nR
Q
X
Y
Q Q
Chapitre 1: LES BASCULES Version du 6 avril 2005
4
applique sur S et sera mis 0 par une impulsion, toujours de niveau
HAUT, sur R.
Figure 1- 2 : Table de vrit et schma logique d'une bascule R-S NOR
1-4 Bascule R-S avec enable
Les bascules R-S tudies prcdemment sont sensibles aux change-
ment sur les entres S et R, ceci n'importe quel moment. Cependant il est
trs facile de modifier un de ces circuits pour le rendre ses entres sensibles
uniquement lorsque une troisime entre enable (C) est active. Une telle
bascule R-S avec enable est montre dans la figure 1- 3. Comme on peut le
voir dans la table de vrit, ce circuit se comporte comme une simple bas-
cule R-S lorsque l'entre C (enable) est 1, et mmorise son tat lorsque C
est 0. En effet si l'entre C est 0, on retrouve 1 la sortie des deux porte
NAND, ce qui quivaut l'tat mmorisation sur une bascule R-S en porte
NAND. Dans le cas o C vaut 1, la porte NAND agit comme un simple in-
verseur, il nous reste donc une bascule R-S NAND avec entres inverses.
Figure 1- 3 : Bascule R-S avec enable: (a) circuit logique; (b) table de vrit; (c) symbole
logique
La figure 1- 4 montre le fonctionnement typique d'une bascule R-S
avec enable pour des signaux donnes. Si les deux entres S et R sont si-
multanment l'tat logique haut lorsque C passe de 1 0, l'tat suivant est
imprvisible, et la sortie peut se trouver dans un tat mtastable.
S R Q
0 0 inchang
1 0 1
0 1 0
1 1 0 Interdit
a) Table de vrit b) bascule avec portes NOR
S
R
Q
X
Y
1 1
0 1
1 0
S
1
1
1
C R
0
1
1
Q
0 0 1 last Q
x x 0 last Q
1
0
1
(b) (c) (a)
Q
S
C
R
S
Q
Q
R
C
Q
last Q
last Q
Q
Electronique numrique Cours Systme numriques, Tome 1
5
Figure 1- 4 : Fonctionnement typique d'une bascule R-S avec enable
1-5 L'lment mmoire D (D Latch)
L'lment mmoire D plus souvent nomm D Latch est une bascule R-
S avec enable sur laquelle on a simplement ajout un inverseur entre les en-
tres S et R, il ne reste donc plus que l'entre appele D. Ceci nous suppri-
me la possibilit de mettre S et R simultamment 1 en mme temps, ce
qui limine les problmes de mtastabilit de la bascule R-S avec enable.
On peut voir le schma logique d'un D latch la figure 1- 5(a).
Figure 1- 5 : D latch: (a) schma logique ; b) table de vrit ; c) symbole logique.
On peut voir dans figure 1- 6 ci-dessous le fonctionnement d'un D Latch
pour des variations d'entres donnes. Le fonctionnement est trs simple,
tant que C est l'tat logique haut, ce qui est sur l'entre D se retrouve sur
la sortie Q, et lorsque C est l'tat logique bas, la sortie mmorise le dernier
tat, mme en cas de changement sur l'entre D.
Figure 1- 6 : Fonctionnement d'un D Latch pour des variations d'entres donnes
S
R
C
Q
Ignor tant que C est 0. Ignor jusqu' que C soit 1.
Q
(b) (c) (a)
Q
D
C
0
1
D
1
1
C
0
1
Q
x 0 last Q
1
0
D Q
Q C
Q
Q
last Q
D
C
Q
Chapitre 1: LES BASCULES Version du 6 avril 2005
6
1-6 La bascule matre-esclave.
Pour raliser un registre dcalage (chane de bascules dans laquelle
l'information se propage d'un lment l'autre chaque commande), une
bascule type latch n'est pas suffisante. L'ouverture des latchs entranera un
dcalage de l'information, qui ne serait contrl que par le temps d'ouver-
ture et le temps de propagation dans les latchs, et non d'une unit chaque
action sur la commande.
Pour palier cet inconvnient, nous sommes amens utiliser des latchs
avec des entres de commandes qui ne reoivent pas le mme signal de
commande.
Il est encore ncessaire que la commande GATE soit maintenue au ni-
veau haut pendant un temps suprieur dt, si dt est le temps de raction du
D
GATE
Q0 Q1 Q2 Q3
GATE
D
Q0
Q1
Q2
Q3
dt
4 x dt
D
GATE1
Q0 Q1 Q2 Q3
GATE2
GATE1
GATE2
D
Q0
Q1
Q2
Q3
Electronique numrique Cours Systme numriques, Tome 1
7
latch. Cette solution prsente l'inconvnient de ncessiter deux signaux
d'horloge. Une amlioration peut y tre apporte en utilisant l'horloge et
son inverse. Dans ce cas, nous sommes conduits la structure dite matre/
esclave en combinant les bascules deux deux. Il est toutefois ncessaire
que le temps de propagation de la porte non soit infrieur au temps de rac-
tion de la bascule, ce qui est le cas, car la commutation de la bascule n-
cessite le temps de raction de trois portes chanes.
Un moyen d'viter le chevauchement de GATE et !GATE consiste
utiliser le schma ci-aprs. Dans ce montage, au temps 1 la monte de
l'horloge provoque la descente de GATE, puis la montes de !GATE. De
mme au temps 2 !GATE descend avant la monte de GATE. Les deux si-
gnaux GATE et !GATE ne sont jamais ensemble au niveau haut.
Cette bascule s'appelle matre/esclave ou flip-flop du nom des bruits des
relais qui la matrialisait autrefois.
D
GATE
Q0 Q1 Q2 Q3
GATE
D
Q0
Q1
Q2
Q3
horloge
GATE
!GATE
horloge
GATE
!GATE
1 2
Chapitre 1: LES BASCULES Version du 6 avril 2005
8
Dans la bascule matre-esclave, les entres sont actives pendant que
l'horloge est au niveau haut, et les sorties ne sont modifies qu'au flanc des-
cendant de l'horloge (nous dirons aussi au flanc ngatif). La valeur des sor-
ties juste aprs le flanc descendant de l'horloge dpend de la valeur des
entres prsentes avant cette transition.
1-7 La bascule bistable dclenchable sur un flanc
"edge-triggered"
Les bascules matres-esclaves sont sensibles aux impulsions qui peu-
vent apparatre sur leurs entres pendant le temps d'ouverture du matre. Ce
comportement non souhaitable est vitable en utilisant des bascules edge-
triggered dont le changement d'tat intervient sur le flanc de l'horloge et
non plus sur le niveau.
Exemple 1- 1 : Bascule D type 74xx74.
Dans de telles bascules, l'chantillonnage de l'entre n'a pas lieu sur un
niveau de l'horloge, mais lors du changement d'tat de cette dernire, ce qui
CLK
D
Q
!Q
U
X
Y
Z
CLK
D
Z
Y
X
U
Q
!Q
Electronique numrique Cours Systme numriques, Tome 1
9
rend la bascule beaucoup moins sensible aux parasites. La conception et la
ralisation de ces bascules est complexe, et nous ne la traiterons pas ici.
1-8 Signal dhorloge et bascules synchrones
Les circuits numriques peuvent fonctionner de faon synchrone ou
asynchrone. Dans les systmes asynchrones, la sortie des circuits logiques
peut changer d'tat tout moment quand une ou plusieurs entres changent.
Un systme asynchrone est difficile concevoir et dbugger.
Par contre dans un systme synchrone, le moment exact o la sortie
change d'tat est command par un signal que l'on appelle couramment si-
gnal d'horloge. Ce signal est gnralement un train d'ondes rectangulaires
ou carres, comme ceux de la figure 1- 7. Le signal d'horloge est habituel-
lement distribu tous les tages du systme, de sorte que la plupart des
sorties du systme, sinon toutes, changent d'tat seulement quand le signal
d'horloge effectue une transition. Ces transitions, appeles fronts ou flancs.
Quand le signal d'horloge passe de 0 1, on parle du front montant (tran-
sition positive), quand il passe de 1 0, on parle de front descendant (tran-
sition ngative).
La majorit des systmes numriques existants sont des machines syn-
chrones du fait que les circuits synchrones sont plus simples concevoir et
dpanner. Leurs sorties ne peuvent changer qu' des instants prcis bien
connus. Autrement dit, tous les changements sont synchroniss avec les
transitions du signal d'horloge.
La synchronisation orchestre par des signaux d'horloge est ralise au
moyen de bascules synchrones qui ont t ralises pour changer d'tat au
moment de la transition associe un front ou l'autre du signal d'horloge.
Figure 1- 7 : Signaux d'horloge
1
0
1
0
Temps
Chapitre 1: LES BASCULES Version du 6 avril 2005
10
1-9 FLIP-FLOP D
1-10 BASCULE T (Toggle flip flop)
Pour raliser une bascule T, il suffit de connecter la sortie sur l'entre
D d'une bascule D, comme sur la figure 1- 8 a), ou alors si on n'a pas de
sortie , de relier la sortie Q sur l'entre d'un inverseur, dont la sortie sera
connecte sur l'entre D. Le fonctionnement de la bascule T est trs simple:
A chaque flanc montant du signal d'horloge, la sortie Q change d'tat. Les
formes d'ondes de la figure 1- 8 c) illustrent ce fonctionnement.
a) b) c)
Figure 1- 8 : Ralisations d'une bascule T (toggle flip-flop) ; c) Formes d'ondes sur une
bascule T.
1-11 Entres asynchrones
Dans les bascules synchrones prcdentes, nous avons parl d'entres
de commande pour les entres S, C, et D. Ces entres sont galement qua-
lifies de synchrones tant donn que la sortie de la bascule est synchroni-
se par le signal d'horloge. Comme nous l'avons vu, les entres de
commande synchrones sont utilises concurremment un signal d'horloge
qui dclenche la rponse de la bascule.
La majeure partie des bascules synchrones possdent en plus des en-
tres asynchrones qui agissent indpendamment des entres synchrones et
du signal d'horloge. On a recours de telles entres pour forcer en tout
temps la remise 1 ou 0 de la bascule, quelles que soient les conditions
des entres. Une autre faon de prsenter ces entres est de dire que ce sont
D Q D
Horloge
Q
D Q+
0 0
1 1
Horloge
Q
Q
CLK
D Q
Q
CLK
D Q CLK
Q
CLK CLK
Electronique numrique Cours Systme numriques, Tome 1
11
des entres prioritaires qui imposent un tat la bascule malgr les com-
mandes lances par les autres entres.
La figure 1- 9 illustre une bascule D munie d'une entre asynchrone d-
signe CLR. C'est une entre vraie au niveau HAUT. La table droite de
ce symbole rsume la raction de la sortie de la bascule.
Figure 1- 9 : Table de vrit et symbole logique d'une bascule D avec CLEAR asynchrone
actif haut.
Il est important de se rendre compte que les entres asynchrones sont
des niveaux de tension continue (CC). Cela veut dire que si CLR est gard
au niveau 1, la bascule restera dans l'tat Q = 0 quoiqu'il arrive aux autres
entres. Le plus souvent, toutefois, on applique momentanment ces en-
tres une impulsion pour remettre la bascule 1 ou 0.
De nombreuses bascules synchrones fabriques sous forme de circuits
intgrs possdent deux entres asynchrones, d'autres n'en ont qu'une. Cer-
taines bascules ont des entres asynchrones qui sont vraies au niveau
HAUT plutt qu'au niveau BAS.
1-11.1 Dsignation des entres asynchrones
Dans leurs fiches techniques, les fabricants de CI emploient diffrentes
dsignations pour les entres asynchrones, et malheureusement aucune n'a
t normalise. Voici les dsignations que vous tes susceptibles de ren-
contrer dans les schmas et les fiches techniques anglaises des fabricants.
Pour la mise l'tat 1 : SET, PRESET (PRE), pour la mise l'tat 0 :
CLEAR (CLR), RESET.
1-12 Considrations sur la synchronisation des bascules
Les fabricants de bascules intgres spcifient quelques paramtres et
caractristiques de synchronisation importants qu'il importe de prendre en
considration avant d'utiliser une bascule dans un circuit pratique.
D CLK CLR Q
X X 1 0
0 ? 0 0
1 ? 0 1
a)Table de vrit b)
CLK
D Q
Q
CLR
Chapitre 1: LES BASCULES Version du 6 avril 2005
12
1-12.1 Temps de stabilisation (setup time) et temps de maintien
(hold time)
Deux exigences de synchronisation doivent tre respectes pour qu'une
bascule synchrone rponde correctement ses entres de commande lors-
que arrive le front dclencheur de CLK. Ces exigences sont reprsentes
sous forme graphique sur la figure 1- 10 pour une bascule dclenche par
un front montant.
Figure 1- 10 : Les entres de commande doivent rester stables pendant a) un temps tS
avant la transition active de l'horloge, et b) un temps tM aprs la transition active de l'hor-
loge.
Le temps de stabilisation (ou tsetup dans les databook), t
S
, est
l'intervalel qui prcde immdiatement le front dclencheur du
signal d'horloge, pendant lequel l'entre synchrone doit tre gar-
de au niveau appropri. Les fabricants de CI spcifient gnra-
lement la dure de stabilisation minimale admissible. Si on ne
respecte pas ce temps, il n'est pas garanti que la bascule rpondra
correctement l'arrive du front.
Le temps de maintien (ou thold dans les databook), t
M
, est l'inter-
valle qui suit immdiatement le front dclencheur du signal
d'horloge pendant lequel l'entre synchrone doit tre garde au
niveau appropri. Les fabricants de CI spcifient gnralement le
temps minimal acceptable. Si on ne respecte pas ce temps, la bas-
cule ne sera pas dclenche correctement.
D'aprs ce qui vient d'tre dit, on voit que l'entre de commande doit
rester stable (inchange) pendant une dure gale la somme du temps t
S
,
qui prcde le front dclencheur, et du temps t
M
, qui suit ce mme front.
Les bascules de CI ont des temps t
S
et t
M
de l'ordre des nanosecondes.
1-12.2 Temps de propagation
Chaque fois qu'un signal doit changer l'tat d'une bascule, on observe un
retard entre le moment o le signal est appliqu et le moment o le chan-
gement apparat la sortie. Une illustration des retards de propagation af-
fectant la rponse un front montant de signal d'horloge nous est fournie
la figure 1- 11. Notez que ces retards sont mesurs entre les points mi-
Entr de
commande
synchrone
Signal
d'horloge
t
M t
s
Electronique numrique Cours Systme numriques, Tome 1
13
hauteur (50 %) des formes d'ondes d'entre et de sortie. Les mmes genres
de retards se produisent en rponse des signaux placs sur les entres
asynchrones (SET et CLR). Sur les fiches techniques des fabricants, on
trouve gnralement les retards de propagation affectant la rponse toutes
les entres, ainsi que les valeurs maximales de t
PLH
et t
PHL
.
Les bascules modernes dans les CI ont des retards de propagation sont
de l'ordre de quelques nanosecondes. Les valeurs de t
PLH
et t
PHL
ne sont
pas gales et augmentent proportionnellement avec le nombre d'tages lo-
giques pilots par la sortie Q. Les retards de propagation dans les bascules
jouent un rle important dans les circuits logiques.
Figure 1- 11 : Retards de propagation dans une bascule.
1-13 Description d'une bascule D avec reset asynchrone
en VHDL
Dans tous les systmes squentiels, on doit utiliser un process, et pour
pouvoir identifier un flanc du signal d'horloge, on utilise la fonction
Rising_Edge, celle-ci renvoie une valeur boolenne TRUE lors d'un flanc
montant (Falling_Edge pour flanc descendant) du signal d'horloge.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity DFF is
Port ( Clk : in std_logic;
nRreset : in std_logic;
D : in std_logic;
Q : out std_logic);
end DFF;
architecture Comport of DFF is
signal Reset : Std_Logic;
begin
--adaptation polarite
Reset <= not nReset;
process(Clk, Reset)
T
PLH
CLK
Q
50%
50%
T
PHL
CLK
Q
50%
50%
Chapitre 1: LES BASCULES Version du 6 avril 2005
14
begin
if Reset = '1' then --reset asynchrone
Q <= '0';
elsif Rising_edge(Clk) then -flanc montant du signal
Q <= D;
end if;
end process;
end Comport;
Exemple 1- 2 : Description dune bascule D avec reset asynchrone en VHDL
Traduction:
Si nReset est actif alors la sortie Q prend l'tat 0 (si la condition
est vraie, on sort du process, donc le reset est prioritaire et asyn-
chrone).
Sinon (sous-entendu reset inactif) si on a un flanc montant sur
Clk, alors la sortie Q prend la valeur de l'entre d.
Si aucune condition est vraie, rien ne change.
Ceci est bien le fonctionnement de la bascule D.
Remarque importante: Comme dj mentionn prcdemment, en lo-
gique combinatoire, on doit spcifier tous les cas possibles sur les en-
tres, sous peine de voir le synthtiseur introduire des lments
mmoire non dsirs. En logique squentielle par contre, on souhaite
obtenir un lment mmoire. Donc on ne spcifie pas les cas o le signal
d'horloge n'est pas un flanc montant. Dans ce cas le signal Q n'est pas
modifi et nous obtenons bien une bascule D.
1-14 Synchronisation des entres externes asynchrones
Les systmes numriques travaillent toujours de faon synchrone, c'est
pourquoi il est ncessaire de synchroniser les entres externes asynchrones
avec le signal d'horloge (Clk). En effet un changement de valeur du signal
externe peu se produire n'importe quel instant, c'est pour quoi on utilise
des bascules D mises en srie pour synchroniser une entre externe. La
figure 1- 12 nous monte une synchronisation trois bascules D.
Electronique numrique Cours Systme numriques, Tome 1
15
Figure 1- 12 : Synchronisation d'une entre avec 3 bascules D
On utilise deux voir trois bascule pour supprim le phnomne de m-
tastabilit sur la premire bascule dans le cas o le changement sur l'entre
asynchrone surviendrait exactement au moment du flanc montant du clock.
Un exemple est donne dans le chronogramme ci-dessous :
Figure 1- 13 : Chronogramme de la synchronisation d'un signal
CLK
D Q
CLR
CLK
D Q
CLR
CLK
D Q
CLR
entre
clk
reset_n
asynchrone
sync1 sync2 entre
synchrone
clk
entre
sync1
sync2
synchrone entre
async
Chapitre 1: LES BASCULES Version du 6 avril 2005
16
17
Chapitre 2
Synchronisation et dtection des flanc d'un
signal externe asynchrone
Dans certains cas on aimerais pas uniquement synchroniser une entre,
mais galement dtecter un flanc montant sur cette entre, on utilise le
mme schma que prcdemment, en ajoutant une bascule T en entre et
une porte ou exclusif sur les deux dernires bascules D. La figure 2- 1 nous
montre le schma logique permettant de gnrer un signal d'une largeur de
signal d'horloge chaque flanc montant sur l'entre asynchrone.
Figure 2- 1 : Synchronisation et gnration d'une impulsion par flanc montant
La figure 2- 2 nous montre que le signal tgl_async change d'tat cha-
que flanc montant du signal d'horloge. Le signal sync_pulse vaut 1 unique-
CLK
D Q
CLR
CLK
D Q
CLR
CLK
D Q
CLR
entre
clk
reset_n
async
tgl_sync1 tgl_sync2
CLK
T
CLR
tgl_sync3 tgl_async
sync_pulse
Chapitre 2: Synchronisation et dtection des flanc d'un signal externe asynchrone Version du 6 avril 2005
18
ment lorsque tgl_sync2 est diffrent de tgl_sync3, c'est dire lorsque la
transition sur tgl_async arrive sur tgl_sync2. Ci dessous le chronogramme
montrant en dtail chaque signal:
Figure 2- 2 : Chronogramme de la syncronisation et dtection de flanc d'un signal externe
clk
entre
tgl_sync1
tgl_sync2
tgl_sync3
async
tgl_async
sync_pulse