Vous êtes sur la page 1sur 6

II.2.

LES CIRCUITS LOGIQUES SEQUENTIELS

Un circuit séquentiel est un circuit combinatoire dont les valeurs des variables de sortie
dépendent des variables d’entrée et de variables internes. Un rebouclage permet à une ou
plusieurs sorties d’être renvoyées sur les entrées des portes. On ne peut alors plus calculer les
valeurs de sortie uniquement à partir des valeurs des entrées comme pour les circuits
combinatoires, puisqu’il faut également tenir compte des valeurs antérieures des sorties
répercutées sur les entrées. Un nouveau paramètre temporel entre en jeu lors de l’étude du
circuit. Nous distinguerons ici les bascules élémentaires et les bascules classique.
II.2.1. Les bascules élémentaires
 Bascule RS
De même que les portes logiques constituent les briques de base des circuits combinatoires,
les circuits séquentiels sont construits à partir de cellules élémentaires servant à mémoriser un
bit, connues sous la dénomination générique de bascules, car elles possèdent deux états
stables. Considérons le circuit de la figure suivante formé de deux portes NON-OU :

Figure 1: Bascule RS asynchrone.

Supposons que S=R=0. Si Q=0, la porte NON-OU inférieure génère 1 sur Q , qui est renvoyé
sur l’autre porte NON-OU, confirmant le 0 de la sortie Q. De même, si Q=1, on obtient Q=0,
renforçant la valeur de Q. Ces deux états sont donc stables et il n’en existe pas d’autre, Q et Q
ne pouvant prendre la même valeur si S et R valent 0.
Si S passe à 1 (R restant à 0), Q est forcé à 0 quelle que soit sa valeur précédente et Q passe à
1 (S restant à 0), le résultat est inversé : Q à 1 et Q à 0.
Si les deux entrées sont mises à 1, Q et Q deviennent nuls. Un problème survient lorsque les
deux entrées repassent à 0. Le comportement est indéterminé : suivant celle qui passe à 0 en
dernier (car il y a toujours au moins un infime décalage entre les deux entrées), Q peut valoir
0 ou 1. C’est pourquoi on considère le cas S=R=1 comme interdit.
Tableau 1: Table de vérité de la bascule RS

R S Q+
0 0 Q (mémorisation)
0 1 1 (mise à 1) – Set
1 0 0 (mise à 0) – Reset
1 1 X (interdit)
La bascule RS (pour Set et Reset) mémorise donc la dernière commande sur S ou R ; soit une
mise à 1, soit une mise à 0, valeur que l’on retrouve sur Q. La bascule présentée appelée «
bascule RS asynchrone » car elle réagit dès que les entrées sont modifiées.
 Horloge
On a souvent besoin d’effectuer des changements d’état à des instants déterminés, rythmés
par une horloge, signal carré prenant régulièrement les valeurs 0 et 1 (voir à la figure 2 un
exemple de signal d’horloge). On peut facilement modifier la bascule RS pour la rendre
synchrone, c’est-à-dire ne permettre de changements que lorsque le signal d’horloge vaut 1
(voir la figure 2 où l’horloge est reliée à l’entrée Clk, Clock).

Figure 2 : Bascule RS Synchrone

Si l’horloge vaut 0, les deux portes ET sont au repos et les deux entrées des portes NON-OU
sont à 0, laissant la bascule dans son état stable, indépendamment de R et S. Si l’horloge vaut
1, les deux entrées R et S sont transférées aux entrées des NON-OU, permettant le
fonctionnement habituel.
On peut bien sûr complémenter l’entrée d’horloge pour rendre son état bas (valeur 0) actif.
Le défaut de cette entrée d’horloge est de rester active pendant un long intervalle de temps,
celui pendant lequel le signal est au niveau haut. Il serait plus intéressant d’avoir une
activation à des instants bien précis, pour obtenir une synchronisation exacte des circuits.
Pour ce faire, on peut utiliser le retard induit par le passage dans une porte logique (voir
figure 3).

Figure 3: Bascule RS synchrone sur front montant

L’entrée Clk étant complémentée avant la porte ET, en théorie elle restitue toujours 0 en
sortie, bloquant les entrées R et S. En pratique, lorsque Clk passe à 1, la porte NON change
d’état avec un très léger retard, laissant 1 en sortie pendant un bref instant après le
changement de l’entrée Clk. Pendant ce court instant, la porte ET voit ses deux entrées à 1 et
génère une sortie à 1, activant R et S. On dit que l’horloge est active sur son front montant
(lorsqu’elle passe de 0 à 1 et uniquement à cet instant très précis). Là encore, on peut
complémenter cette entrée d’horloge pour commander la bascule sur un front descendant. À
la figure 4 se trouvent les symboles graphiques de ces bascules.

Figure 4: Symbole des bascules synchrones et asynchrones

Les bascules synchronisées par des niveaux (haut ou bas) sont dites « latch » alors que les
bascules déclenchées par un front sont dites « flip-flop ».
 Bascule D
La bascule D (D pour Data) est simplement une bascule RS dans laquelle on a forcé R et S à
être complémentaires. Une des deux entrées R ou S étant toujours à 1, une bascule D
asynchrone ne ferait que reproduire son entrée D sur la sortie et cela n’aurait pas vraiment
d’intérêt. Il est plus intéressant d’échantillonner l’entrée D à des instants bien précis. Pour
cela, il est préférable que la bascule soit synchronisée sur un front (voir figure 5).

Figure 5: Bascule D

Lorsque l’horloge passe de 0 à 1, l’entrée D se retrouve sur S et D sur R. Il y a donc


mémorisation de D dans la bascule et sur Q à ce moment-là. Le reste du temps, quelle que soit
la valeur du signal d’horloge, la bascule est bloquée.
 Bascule T
Une bascule T synchrone (T pour Toggle ou basculement) possède deux entrées d’activation,
une entrée T et une entrée d’horloge : lorsque T vaut 0, la bascule est isolée, les sorties ne
changent pas ; lorsque T est à 1, les sorties changent d’état (de 0 vers 1 et réciproquement) à
chaque front montant de l’horloge. Souvent l’entrée T n’existe pas et la bascule change
simplement d’état à chaque front montant (les deux constructions à partir d’une bascule D
sont données à la figure 6).

Figure 6: Bascules T

 Bascule JK
La bascule JK (J et K n’ont aucune signification) asynchrone est simplement une bascule RS
pour laquelle la combinaison « interdite » des entrées J = K = 1 provoque une inversion de la
sortie (voir la figure 7, où l’on a inversé l’emplacement des entrées de la bascule RS pour
simplifier le dessin).

Figure 7: Bascule K asynchrone

Si J = K = 0, les deux entrées de la bascule RS sont à 0 et rien n’est modifié. Si J passe à 1,


soit Q était égal à 1 et rien ne change, soit Q valait 0 et un 1 est transmis (via le 1 sur Q ) à
l’entrée S forçant Q à 1. Le comportement est opposé si K vaut 1, forçant Q à 0. Dans les trois
cas, la bascule est identique à une bascule RS.
Si maintenant J = K = 1 et si Q vaut 1, l’entrée R est activée, remettant Q à 0, et si Q vaut 0,
c’est l’entrée S qui s’active, mettant Q à 1. On a alors une série de basculements de la sortie
qui vaut alternativement 0 et 1, tant que J = K = 1.
Tableau 2: Table de vérité d la boucle JK

K J Q+
0 0 Q (mémorisation)
0 1 1 (mise à 1)
1 0 0 (mise à 0)
1 1 Q (basculement)

II.2.2. Circuits séquentiels classiques


De même que les portes logiques servent à développer les circuits combinatoires, voici
quelques exemples d’utilisation de bascules élémentaires au sein de circuits séquentiels
classiques utilisés dans les ordinateurs.
 Diviseur de fréquence
En créant une cascade de bascules T, on réalise un diviseur de fréquence (voir figure 2.17) :
lors de chaque front montant de l’horloge, la première sortie Q change d’état ; on a donc un
front montant de Q tous les deux fronts montants de l’horloge. Le phénomène se reproduit sur
chacune des bascules, divisant à chaque étage la fréquence par 2 (sans que cela soit très précis
à cause des retards de propagation induits par les circuits logiques des bascules).
 Compteur binaire
En utilisant des bascules T activées par un front descendant, on peut construire un compteur
binaire (voir figure 2.17) : lorsqu’une sortie Q passe de 1 à 0, la bascule suivante change
d’état (elle voit un front descendant) comme s’il y avait propagation d’une retenue. Avec n
bascules, les sorties a0 …an-1 prennent successivement les valeurs binaires de 0 à 2n – 1 à
chaque front descendant de l’horloge.
 Registre
Un registre est un élément de stockage qui permet la mémorisation de n bits en parallèle. Cet
élément est constitué sur la base d’une mise en parallèle de n bascules mémorisant chacune 1
bit. La figure 2.17 montre un registre de stockage de 4 bits. Il utilise des bascules D ayant une
entrée asynchrone de remise à 0 (Clr).

Figure 8: Circuits séquentiels

Si W vaut 0, l’horloge n’est jamais transmise aux bascules et celles-ci mémorisent


indéfiniment la valeur initialement enregistrée. Si W vaut 1 (Write), au prochain front
montant de l’horloge, les bascules vont stocker la valeur e0e1e2e3 présente sur les entrées,
valeur qui restera disponible quand W repassera à 0. L’entrée RAZ sert à remettre toutes les
bascules à 0 via leur entrée asynchrone.
En résumé, les valeurs de tension sur les fils sont interprétées comme des bits, ce qui permet
d’utiliser l’algèbre de Boole comme outil d’analyse. Celle-ci permet de définir une algèbre sur
des variables pouvant prendre deux valeurs, 0 ou 1. À l’aide des fonctions élémentaires sur
ces variables, NON, ET, OU et XOR, n’importe quelle fonction logique peut être définie et
son expression logique explicitée. Ces mêmes fonctions élémentaires existent physiquement
sous la forme de portes logiques, qui modifient les caractéristiques électriques des signaux et
donc des bits, permettant ainsi, toujours grâce à l’algèbre de Boole, d’implémenter des
fonctions logiques de base, décodage, addition, etc., et de construire des circuits plus
complexes.
Les circuits logiques séquentiels utilisent la possibilité de réinjecter des sorties sur les entrées
pour mémoriser des bits dans les portes. On peut ainsi construire des circuits, appelés «
registres », mémorisant des informations.

EXERCICE D’APPLICATION
Enoncé : Comment peut-on utiliser une bascule JK pour construire une bascule T, et une
bascule RS pour construire une bascule T ?
Essai de correction :
La bascule T change d’état à chaque front d’horloge quand T vaut 1. C’est aussi le
comportement de la bascule JK quand les deux entrées sont à 1. Il suffit donc de relier les
deux entrées de la bascule JK entre elles. Quant à la bascule RS, il faut la mettre à 0 quand la
sortie est à 1 (donc relier Q à R) et la mettre à 1 quand elle est à 0 (donc relier Q à S) pour
avoir le même phénomène de bascule d’état. Il suffit de commander ces deux liens par deux
portes ET pour avoir la commande sur T.
Les deux circuits sont résumés sur la figure ci-dessous :

Figure 9: Bascule T avec JK et RS

REFERENCES BIBLIOGRAPHIQUES
Livres :
 Architecture de l’ordinateur, Emmanuel Lazard, Université Paris-Dauphine, mars
2011.

Vous aimerez peut-être aussi