Chapitre 4 : Les compteurs/décompteurs
Introduction
Une bascule peut avoir 2 états différents à sa sortie (0 et 1), et peut donc permettre de compter de 0 à 1. Avec 2 bascules on peut avoir jusqu’à 4 états différents : 00, 01, 10 et 11, ce qui permet de compter de 0 à 3 en binaire naturel. Avec 3 bascules on a 8 états (de 000 à 111), et en général avec n bascules on a 2n états : on peut donc compter de 0 à 2n-1. Il reste à trouver comment doivent être connectées les n bascules entre elles pour réaliser un compteur, sachant qu’il existe plusieurs types de compteurs, et donc plusieurs techniques de réalisation. C’est ce que nous allons voir dans ce cours à travers différents exemples.
4.1 Définition
Un compteur est un circuit séquentiel qui servent à compter suivant un code bien déterminé (binaire, BCD, décimal….) et leur état à un instant donné dépend de leur état antérieur.
Ils sont constitués par l’association de bascules.
4.2 Modulo d’un compteur
Le compteur en fonctionnement génère de manière répétitive une séquence de nombres binaires. Lorsque le compteur compte jusqu' à N-1 alors il est dit modulo N: les états successifs étant dans l'ordre 0, 1, ..., N-1. Quand N=2n, n étant le nombre de bascules utilisées pour réaliser le compteur, on dit qu'il compte sur n bits. De manière générale, si le comptage comporte un nombre X d'états, il faudrait n bascules telles que 2 n-1 < X ≤ 2n
4.3 Types de compteurs-décompteurs
Il existe 2 types de compteurs-décompteurs :
Compteurs-décompteurs asynchrones
Compteurs-décompteurs synchrones.
4.3.1 Les compteurs-décompteurs asynchrones
Ce type de circuit est constitué de plusieurs bascules montées en cascade. Chaque bascule constitue un étage du compteur et reçoit une impulsion d’horloge différente d’où le terme asynchrone.
L’horloge principale commande la première bascule alors que l’horloge de chacune des autres bascules peut être une fonction logique des sorties des autres bascules
4.3.1.1 compteurs/décompteurs asynchrones modulo N=2
Ce type de compteur est réalisé à l’aide de n bascules montées en cascade. Les états successifs étant codés en binaire, la sortie de chacune des n bascules constitue un bit.
Exemple 1 : compteur asynchrone modulo 8
- Réaliser un compteur binaire asynchrone modulo 8 à l’aide de bascules J-K à front descendant Pour commencer, il faut d’abord déterminer le nombre de bascules à la réalisation du compteur.
Pour un compteur modulo 8, il faut 3 bascules car 8=23. a- Table d’état :
Etat présent Etat futur valeur
0 0 0 0 0 0 1
1 0 0 1 0 1 0
2 0 1 0 0 1 1
3 0 1 1 1 0 0
4 1 0 0 1 0 1
5 1 0 1 1 1 0
6 1 1 0 1 1 1
7 1 1 1 0 0 0
b- Le chronogramme :
La sortie Q1 passe de 0 à 1 chaque front descendant.
La sortie Q2 change d’état chaque fois que l’état Q1 passe de 1 à 0 (front descendant)
La sortie Q3 change d’état chaque fois que l’état Q2 passe de 1 à 0 (front descendant)
c- Analyse du chronogramme
On constate, en analysant les transitions de ce chronogramme, que la sortie Q3 change d’état si la sortie Q2 (précédente) passe de l’état ‘1’ à l’état ‘0’ et conserve son état dans les autres situations.
La sortie Q1 qui n’a pas d’antécédent commute à chaque impulsion d’horloge H.
1- A chaque front descendant de H, on aura :
(Complémentation)
D’après la table de transition de la bascule JK :
Sachant que la bascule 1 commute au front descendant, on peut écrire que H=H1 (H1 est l’horloge de bascule 1)
2- A chaque front descendant de Q1, on aura
(Complémentation)
D’après la table de transition de la bascule JK :
Sachant que la bascule 2 commute au front descendant, on peut écrire que (H2 est l’horloge de bascule 2)
D’où
3- A chaque front descendant de Q2, on a :
(Complémentation)
D’après la table de transition de la bascule JK :
4- Sachant que la bascule 3 commute au front descendant, on peut écrire que (H3 est l’horloge de bascule 3)
D’où Le circuit :
• •
•
• •
•
•
•
1 1 1
J1 H1 K1
J3 H3 K3 J2
H2 K2
H o > o > o >
Exemple 2 : décompteur asynchrone modulo 8
- Réaliser un décompteur binaire asynchrone modulo 8 à l’aide de bascules J-K à front descendant
Pour commencer, il faut d’abord déterminer le nombre de bascules à la réalisation du décompteur.
Pour un décompteur modulo 8, il faut 3 bascules car 8=23. a- Table d’état :
Etat présent Etat futur valeur
7 1 1 1 1 1 0
6 1 1 0 1 0 1
5 1 0 1 1 0 0
4 1 0 0 0 1 1
3 0 1 1 0 1 0
2 0 1 0 0 0 1
1 0 0 1 0 0 0
0 0 0 0 1 1 1
b- Chronogramme :
c- Analyse du chronogramme :
1- A chaque front descendant de H, on aura :
(Complémentation)
D’après la table de transition de la bascule JK :
Sachant que la bascule 1 commute au front descendant, on peut écrire que H=H1 (H1 est l’horloge de bascule 1)
2- A chaque front montant de Q1, on aura
(Complémentation)
D’après la table de transition de la bascule JK :
Sachant que la bascule 2 commute au front descendant, on peut écrire que (H2 est l’horloge de bascule 2)
D’où
3- A chaque front montant de Q2, on a :
(Complémentation)
D’après la table de transition de la bascule JK :
Sachant que la bascule 3 commute au front descendant, on peut écrire que (H3 est l’horloge de bascule 3)
D’où Le circuit :
4.3.1.2 compteurs/décompteurs asynchrones modulo N≠2n
Pour réaliser ce type de compteur il faut n bascules telles que 2n-1 < N ≤ 2n. Lorsque la sortie présente l’état correspondante au nombre binaire N, on remet le compteur à zéro. Les bascules devront donc disposer d’une entrée de remise à zéro asynchrone CLEAR (CLR).
Exemple 3 : compteur asynchrone modulo 6
- Réaliser un compteur binaire asynchrone modulo 6 à l’aide de bascules J-K à front montant.
Pour un compteur modulo 6, il faut 3 bascules. En effet, 22 < 6 ≤ 23. Si on utilisait seulement 2 bascules, on ne pourrait pas coder l’état 5, donc il faut 3 bascules permettant de coder 8 états y compris l’état 5.
Arrivé à 5, le comptage doit être interrompu pour recommencer de zéro. On doit, donc, remettre toutes les bascules à zéro après l’apparition de 5. Pour ce faire, on utilise les entrées asynchrones de remise à zéro (CLR).
• •
• •
•
•
1 1 1
J1 H1 K1
J3 H3 K3 J2
H2 K2
H o > o > o >
a- Table de transition :
Etat présent Etat futur valeur
0 0 0 0 0 0 1
1 0 0 1 0 1 0
2 0 1 0 0 1 1
3 0 1 1 1 0 0
4 1 0 0 1 0 1
5 1 0 1 0 0 0
b- Chronogramme :
c- Analyse du chronogramme :
On constate qu’à l’état 5 les 3 bascules sont remises à zéro en même temps.
Or l’état 5 correspond à . Pour remettre à zéro, en même temps, ces 3 bascules, il faut appliquer une entrée CLEAR (CLR) de chacune d’elle, un niveau logique 0.
C'est-à-dire à l’état 5, CLR =1, pour que CLR soit égale à 1 il faut que , pour que CLR=0, il suffit de la complémenter. D’où
o
Le circuit :
4.3.2 Compteurs/décompteurs synchrones
Un compteur synchrone est constitué de bascules synchrones recevant en même temps le signal d’horloge unique. Les sorties des différentes bascules du compteur changent en même temps.
La méthode la plus simple et la plus couramment utilisée fait appelle au tableau de KARNAUGH. Elle consiste à déterminer les fonctions logiques des entrées synchrones des différentes bascules en fonction des états connus des sorties avant et après le front actif de l’horloge. Pour ce faire, on doit utiliser la table d’excitation de la bascule.
Exemple 4 : compteur synchrone modulo 4
- Réaliser un compteur binaire synchrone modulo 4 à l’aide de bascule D à front montant.
Pour commencer, il faut d’abord déterminer le nombre de bascules à la réalisation du compteur.
Pour un compteur modulo 4, il faut 2 bascules car 4=22. Rappelons la table d’excitation de la bascule D :
D
0 0 0
0 1 1
1 0 0
1 1 1
En utilisant cette table d’excitation de la bascule D , on peut établir la table de transition du compteur.
o
• •
•
• •
•
• •
1 1 1
J1 H1 K1
J3 H3 K3 J2
H2 K2
H > > >
•
o o
o
Table de transition :
Valeur
0 0 0 0 1 0 1
1 0 1 1 0 1 0
2 1 0 1 1 1 1
3 1 1 0 0 0 0
Les équations logiques :
/ 0 1
0 0 1
1 1 0
/ 0 1
0 1 0
1 1 0
Le circuit : Chronogramme :
Exemple 5 : décompteur synchrone modulo 4
- Réaliser un décompteur binaire synchrone modulo 4 à l’aide de bascule D à front montant.
De la même manière, on a besoin de 2 bascules D pour réaliser ce décompteur.
Table de transition :
Valeur
3 1 1 1 0 1 0
2 1 0 0 1 0 1
1 0 1 0 0 0 0
0 0 0 1 1 1 1
Les équations logiques :
/ 0 1
0 1 0
1 0 1
/ 0 1
0 1 0
1 1 0
Le circuit : Chronogramme :
Exemple 6 : compteur synchrone modulo 5
- Réaliser un compteur synchrone modulo 5 formé de bascule J-K à front descendant.
On a besoin de 3 bascules pour réaliser ce compteur car : 4<5<=8=23 Table de transition :
Valeur
0 0 0 0 0 0 1 0 X 0 X 1 X
1 0 0 1 0 1 0 0 X 1 X X 1
2 0 1 0 0 1 1 0 X X 0 1 X
3 0 1 1 1 0 0 1 X X 1 X 1
4 1 0 0 0 0 0 X 1 0 X 0 X
5 1 0 1 X X X X X X X X X
6 1 1 0 X X X X X X X X X
7 1 1 1 X X X X X X X X X
Les équations logiques :
Le circuit :
00 01 11 10
0 0 0 1 0
1 X X X X
00 01 11 10
0 X X X X
1 1 X X X
00 01 11 10
0 0 1 X X
1 0 X X X
00 01 11 10
0 X X 1 0
1 X X X X
00 01 11 10
0 1 X X 1
1 0 X X X
00 01 11 10
0 X 1 1 X
1 X X X X
J3 Q3
>H3
K3 /Q3
J2 Q2
> H2
K2 /Q2
J1 Q1
>H1
K1 /Q1
H
1 1
Chronogramme :
Fin du chapitre
Chapitre 5 : Les Registres
Introduction
Un registre est un circuit séquentiel synchrone qui permet la mémorisation de n bits en même temps. Il existe dans un ordinateur plusieurs variétés de registres, les registres parallèles, les registres à décalage (décalage à droite ou décalage à gauche) les registres séries.
Les bascules de type D sont les plus utilisées pour construire des registres de différents types en fonction de la disposition des entrées et des sorties des bascules :
les registres à entrée série/sortie série, à entrée série/sortie parallèle, à entrée parallèle/sortie parallèle, à entrée parallèle/sortie série.
On distingue deux types de registres :
Registre de mémorisation
Registre à décalage 5.1. Registre de mémorisation
Un registre de mémorisation (ou registre de données) est un registre capable de réaliser la fonction de mémorisation en emmagasinant une information binaire sous forme d’un mot de n bits.
Voici un exemple de registre à n entrées parallèles (a0,a1,…,an-1) et à n sorties parallèles (s0,s1,…,sn-1) construit avec des bascules de type D :
Examinons le fonctionnement de ce « registre » : - C’est un registre parallèle à n bits :
- La ligne H fournit le signal d’horloge, et permet de charger les n bits
- La ligne w permet de lire l’information sur n bits Lorsque w= 0 on a (s0=0, s1=0, …, sn-1=0)
Lorsque w = 1 on a (s0= Q0, s1= Q1, …, sn-1= Qn-1) 5.2. Registre à décalage
Un registre à décalage est un registre ayant la possibilité de décaler à droite ou à gauche ou réversible son contenu.
Ce type de registre est principalement utilisé comme mémoire d’information dynamique ; la fonction de décalage consiste de faire glisser l’information de chaque cellule élémentaire dans une autre cellule élémentaire adjacente.
5.2.1 Registre à décalage à droite
Il est composé de n bascules interconnectées de façon à ce que l’état logique de la sortie Qi de la ième bascule soit reproduit à la sortie Qi+1 de la (i+1)ème bascule quand un signal d’horloge est appliqué à l’ensemble des bascules. Ce type de registre à décalage possède une seule entrée à gauche Eg et n sorties (Q1, Q2,…, Qn).
Exemple : Registre à décalage à droite formé de quatre bascules type D à front montant.
Les expressions algébriques des variables des variables d’entrée : Nous avons :
(caractéristique du décalage à droite)
(caracteristique de la bascule D) A partir de ces deux égalités, on déduit que : D’où :
Horloge
Entrée à Gauche Eg
Sorties (Q1, Q2,…, Qn) Registre à décalage à
droite
Le circuit :
5.2.2 Registre à décalage à gauche
Il est composé de n bascules interconnectées de façon à ce que l’état logique de la sortie Qi+1 de la (i+1)ème bascule soit reproduit à la sortie Qi de la ième bascule quand un signal d’horloge est appliqué à l’ensemble des bascules. Ce type de registre à décalage possède une seule entrée à droite Ed et n sorties (Q1, Q2,…, Qn).
Exemple : Registre à décalage à gauche formé de quatre bascules type D à front montant.
Les expressions algébriques des variables des variables d’entrée : Nous avons :
(caractéristique du décalage à gauche)
(caracteristique de la bascule D) A partir de ces deux égalités, on déduit que : D’où :
D1 Q1
>H1
D2 Q2
>H2
D3 Q3
>H3
D4 Q4
>H4
Q1 Q2 Q3 Q4
Horloge
Entrée à droite Ed
Sorties (Q1, Q2,…, Qn) Registre à décalage à
gauche Eg
H
Le circuit :
5.2.3. Registre à décalage réversible
C’est la composition des deux registres précédents en ajoutant une entrée supplémentaire pour la sélection du sens de décalage. Ce type de décalage possède n sorties (Q1, Q2,…, Qn) et deux entrées Ed et Eg telles que Ed est l’entrée à droite et Eg est l’entrée à gauche.
Exemple : Registre à décalage à gauche ou à droite formé de quatre bascules type D à front montant.
Un tel registre possède une entrée de commande x pour la sélection du sens de décalage, telle que :
correspond au décalage à droite
correspond au décalage à gauche
Rappelons que :
- Les équations d’un registre à décalage à droite, formé de 4 bascules D à front montant sont :
D2 Q2
>H2
D3 Q3
>H3
Q2 Q3 Q4
H
D1 Q1
>H1
D4 Q4
>H4
< Ed Q1
Horloge
Entrée à droite Ed
Sorties (Q1, Q2,…, Qn) Registre à décalage à
gauche Entrée à
Gauche Eg Entrée de commande
- Les équations d’un registre à décalage à gauche, formé de 4 bascules D à front montant sont :
D’après la table de vérité :
0 1
- Les équations d’un registre à décalage à droite ou à droite, formé de 4 bascules D à front montant sont :
Le circuit :
5.3. Types de registres à décalage
On distingue quatre (04) types de registres à décalage :
Registre à entrée série et sortie série ( serial in seriel out ) : SISO
Registre à entrée série et sortie parallèle (serial in paralel out) : SIPO
Registre à entrée parallèle et sortie parallèle : PIPO
Registre à entrée parallèle et sortie série : PISO 5.3.1 registre à entrée série et sortie série (SISO)
Dans ce type de registre, l’information est introduite bit par bit à l’entrée de la première bascule et se propagent à travers le registre à chaque impulsion d’horloge, pour sortir par la dernière bascule, c’est donc une sortie série.
5.3.2 Registre à entrée série et sortie parallèle (SIPO)
C'est un type de registre dans lequel les données arrivent en série ( bit par bit) et ressortent en parallèle ( en un seul bloc).
La transmission parallèle des informations d'un registre à un autre est la plus facile.
La transmission série utilise peux d'élément donc peux coûteux.
5.3.3 Registre à entrée parallèle et sortie parallèle (PIPO)
Dans ce type de registre, l’information est introduite en un seul bloc et récupérée de la même façon.
5.3.4 Registre à entrée parallèle et sortie série (PISO)
Dans ce type de registre, l’information ou la donnée est introduite en un seul bloc, mais ne peut être récupérée que bit par bit.