Vous êtes sur la page 1sur 6

4.

3 Notions de registres
Un registre est un ensemble de cellules mmoires constitues par des bascules.
Le contenu d'un registre peut donc tre considr comme un nombre binaire ou un "mot" de n bits.

Exemple : 0 1 1 0, chacun des bits sera stock par une bascule.

Les applications des registres sont nombreuses :


- conversion srie parallle
- multiplication ou division par une puissance de 2
- ligne retard numrique

4.3.1 Registre mmoire


La fonction d'un tel registre est de "stocker / mmoriser" un mot de n bits.
Exemple de ralisation ( l'aide de bascules D edge) : chacune des cellules est une bascule D.

D3 Q3 D2 Q2 D1 Q1 D0 Q0

H3 H2 H1 H0

La sortie du registre mmorise le mot d'entre tant que H = 0 ou 1. Lorsque l'horloge prsente un front montant,
les donnes en sortie sont actualises. Le registre peut tre initialis grce aux entres de forage asynchrone qui
peuvent forcer les sorties des bascules 0 ou 1.

4.3.2 Registre dcalage conversion srie/parallle


Ce type de registre sert dcaler tous les bits dun mot de un ou plusieurs crans vers la droite ou vers la gauche.
Ces systmes peuvent tre utiliss pour effectuer des multiplications ou divisions par une puissance de 2, ou
encore pour effectuer une conversion srie parallle.

Exemple de ralisation :
Entre
D0 Q0 D1 Q1 D2 Q2 D3 Q3
srie

H0 H1 H2 H3

D'o le a0 a0 a0 a0 parallles
Sorties
chronogramme :
D0

H
a0 a0
Q0

Q1 a0 a0

Q2 a0 a0

Q3 a0
Remarque :
Les bascules doivent tre
commandes sur front pour contrler l'instant du dcalage (un bit la fois et non plusieurs si la dure du niveau
est trop grande)

Exemple d'application : la multiplication par 2n


Soit N = 3 = 0011
2.N = 6 = 0110
2.(2.N) = 12 =1100

On constate que pour effectuer la multiplication d'un nombre par 2 il suffit de dcaler tous les bits du nombre de
1 cran vers la droite (vers les bits de poids fort - MSB).
De la mme faon, pour raliser la division d'un nombre par 2 il suffit de dcaler tous les bits du nombre de 1
cran vers la gauche (vers les bits de poids faible - LSB).

4.3.3 Exemple de conversion srie parallle


Le but est ici de raliser un systme capable de convertir les 4 bits srie dun mot sous la forme de 4 bits
disponibles simultanment. Par ailleurs on dsire que les sorties de ce systme ne puissent tre "rafrachies" qu'
des instants dtermins.
Il faudra donc utiliser un registre dcalage pour remplir la 1re fonction et un registre mmoire pour remplir la
2nde.
On supposera que les bits de poids fort arrivent avant les bits de poids faibles.
Es
D10 Q10 D11 Q11 D12 Q12 D13 Q13

HEs

D20 Q20 D21 Q21 D22 Q22 D23 Q23

HSp

Chronogramme :

HEs

Es a3 a2 a1 a0 a3 a2 a1 a0

Q10 a0

Q11 a1

Q12 a2

Q13
a3
HSp

Q20

Q21

Q22

Q23

2
4.3 Compteurs
Un compteur est un lment que lon utilise lorsque lon a besoin dtablir une relation dordre sur une
succession dvnements.
Bien sr il sert galement effectuer la fonction de comptage dvnements, mais il a des applications trs
varies, comme par exemple la division de frquence.
Un compteur comprend une entre et plusieurs sorties. Les sorties prsentent une combinaison de bits 0 et 1
qui correspond un codage du nombre dimpulsions injectes en entre.

Exemple : compteur par 8 binaire.

Nombre dimpulsions Sorties (binaires) comptage


0 0 0 0 0
1 0 0 1 1
2 0 1 0 2
3 0 1 1 3
4 1 0 0 4
5 1 0 1 5
6 1 1 0 6
7 1 1 1 7
8 0 0 0 0
9 0 0 1 1
10 0 1 0 2

On obtient en sortie le nombre dimpulsions coules modulo 8. Pour cela on utilise le terme compteur modulo
8 .

4.3.1 Compteur cyclique ou en anneau


Dans ce type de compteur le nombre de bascules est gal au modulo du compteur (exemple : compteur
modulo 8 => 8 bascules). Linformation est constitue par la position dun ou plusieurs bits 1 dans les
bascules.

Exemple : compteur en anneau modulo 4. Ce compteur est un registre dcalage avec une entre parallle pour
linitialisation.

N A0 A1 A2 A3
Table de fonctionnement : 0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 0 0 0 1
4 1 0 0 0

Chronogramme :
ini
H

A0

A1

A2

A3

3
Schma de principe :

ini Preset Preset Preset Preset

D0 Q0 D1 Q1 D2 Q2 D3 Q3

H0 H1 H2 H3

Clear Clear Clear Clear

A0 A1 A2 A3

4.3.1 Compteur asynchrone modulo 2n

La logique asynchrone est en gnral plus rapide que la logique synchrone, mais elle souffre de deux
inconvnients majeurs :
Une mise en uvre plus dlicate car moins systmatique ;
Une testabilit parfois difficile.

En pratique, les compteurs sont raliss de plus en plus en logique synchrone, sauf lorsque le comptage se fait
modulo 2n.

Un compteur asynchrone modulo 2n peut tre ralis soit partir de bascules T, D ou JK (avec J=K=1). Nous
donnons ci-dessous un exemple de ralisation laide de bascules D pour un comptage modulo 23. Dans ce cas
le nombre de bascules est gal 3 (=n du modulo 2n du compteur).

N A0 A1 A2
Table de fonctionnement : 0 0 0 0
1 1 0 0
2 0 1 0
3 1 1 0
4 0 0 1
5 1 0 1
6 0 1 1
7 1 1 1
0 0 0 0

Chronogramme :

A0

A1

A2

0 1 2 3 4 5 6 7 0

4
Schma de principe :

D0 Q0 D1 Q1 D2 Q2

H H0 Q0 H1 Q1 H2 Q2

A0 A1 A2

Le nombre compt en sortie scrit : N = A2A1A0.

Remarques :
Il faut que la synchronisation se fasse sur le front descendant de lhorloge. Sur front montant, on obtient un
dcompteur.
Un tel compteur est utilis pour la division de frquence lors de la fabrication dhorloges.

4.3.1 Compteur synchrone


Ce compteur permet de synthtiser nimporte quel code de faon systmatique.
Lhorloge est distribue sur toutes les entres H et les configurations de sortie sont obtenues par un
conditionnement des entres au temps tn en prvision du coup dhorloge tn+1.

Dans un systme logique synchrone, plusieurs considrations sont prendre en compte :


la frquence de lhorloge du systme logique est trs souvent infrieure la frquence de rfrence
drive dun quartz. En effet, plus la frquence de fonctionnement du systme logique est leve, plus la
consommation est importante et plus lchauffement de la puce est important. Ce point conduit choisir,
pour frquence dhorloge du systme logique, la frquence minimale requise pour le sous-ensemble le plus
exigeant au point de vue vitesse. Il y a lieu de signaler ici que la frquence de pilotage dun affichage
multiplex peut tre quelconque par rapport la frquence de lhorloge du systme logique. En effet, le
signaux pilotant les afficheurs ne sont jamais reboucls vers le systme logique. Ils font partie de la
priphrie de ce systme tout comme les signaux de synchronisation.

Une division de frquence asynchrone est possible pour passer de la frquence du quartz celle de
lhorloge, puisque le signal de lhorloge constitue la rfrence temporelle. La faon dont ce signal a t
gnr importe peu. Or un diviseur asynchrone ncessite beaucoup moins de composants quun diviseur
synchrone : il est constitu de simples bascules D dont les entres sont relies aux sorties complmentes de
ces bascules. En consquence le diviseur consommera moins d'nergie et sera plus simple concevoir.

Synthse dun compteur avec des bascules D

Cette technique consiste dcrire dans une table de vrit la succession des tats souhaits puis les valeurs
que doivent prendre les entres D pour assurer cette succession dtats. Si aprs ltat 0, le compteur doit
passer ltat 1, il faut ds ltat 0 donner aux entres D les valeurs de ltat 1. Ainsi au front actif suivant de
lhorloge, les valeurs des entres D seront transfres vers les sorties Q et le compteur se trouvera ltat 1. Les
sorties Qi sont donc les fonctions dentre de la table de vrit tandis que les entres des bascules Di constituent
les fonctions synthtiser.
La technique de synthse prsente dans ce cours consiste tablir les quations donnant les Di en fonction des
Qi dans le cas gnral dun compteur modulo 2n, puis de modifier ces expressions en fonction du compteur
modulo = 2n raliser.

Equations donnant les Di pour un compteur modulo 2n


On procde par lexemple puis on dduit les relations pour n quelconque.

Exemple : compteur modulo 23.


N Q2 Q1 Q0 D2 D1 D0
Table de vrit : 0 0 0 0 0 0 1
1 0 0 1 0 1 0

5
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
0 0 0 0 0 0 1

Equations donnant les Di en fonction des Qi :


A partir de la table de vrit, on crit :
D0 = Q0
( )
D1 = Q 2 .Q1.Q 0 + Q 2 .Q1.Q 0 + Q 2 .Q1.Q 0 + Q 2 .Q1.Q 0 = Q 2 . Q1.Q 0 + Q1.Q 0 + Q 2 . Q1.Q 0 + Q1.Q 0 ( )
( )
= Q 2 .(Q1 Q 0 ) + Q 2 .(Q1 Q 0 ) = Q 2 + Q 2 .(Q1 Q 0 ) = Q1 Q 0
(
D 2 = Q 2 .Q1.Q 0 + Q 2 .Q1.Q 0 + Q 2 .Q1.Q 0 + Q 2 .Q1.Q 0 = Q 2 . Q1.Q 0 + Q1.Q 0 + Q1.Q 0 + Q 2 .Q1.Q 0 )
= Q 2 .Q1.Q 0 + Q 2 .Q1.Q 0 = Q 2 Q1.Q 0

Gnralisation :
i

En gnralisant, on obtient : D 0 = Q 0 et D i = Q i (Q i1.Q i2 ...Q 0 ) = Q i Q ik
k =1
Compteur modulo N 2 - Mthode de conditionnement des entres
n

Il faut, ltat N-1, remettre 0 les quations qui ne le sont pas, cest dire agir sur les entres des bascules qui
ne seront pas au niveau logique 0 ltat N.
Nous expliquons ce principe pour un compteur modulo 44.
Un tel compteur ncessite 6 bascules (26=64>44). Nous dterminons les bascules sur lesquelles il faudra agir
ltat 43 par la fonction de dcodage s43.

Q5 Q4 Q3 Q2 Q1 Q0
32 16 8 4 2 1
Etat 43 (s43 = 1) 1 0 1 0 1 1
Etat 44 (s44 = 1) 1 0 1 1 0 0

En explicitant ltat 44 du compteur, on saperoit que les bascules Q0, Q1 et Q4 seront ltat 0 aprs ltat 43,
ce que nous souhaitons ; il ny a donc pas lieu de modifier leurs quations. Par contre, il faut remettre 0 les
entres D2, D3 et D5. Nous le ferons en multipliant leur quation respective par s43 , terme qui a la valeur 0
ltat 43. La fonction de dcodage s43 a pour quation :

s43 = Q 5 .Q 4 .Q3 .Q 2 .Q1.Q 0

En utilisant le principe de la premire concidence, nous faisons disparatre les termes complments car cette
concidence de 1 pour Q5, Q3, Q1 et Q0 ne se retrouve pas dans le cycle de comptage avant ltat s43 (ceci est une
procdure systmatique toujours applicable). Do les quations dfinitives :
s43 = Q 5 .Q 3 .Q1.Q 0

D0 = Q0
D1 = Q1 Q 0
D 2 = [Q 2 (Q1.Q 0 )].s43
D 3 = [Q 3 (Q 2 .Q1.Q 0 )].s43
D 4 = [Q 4 (Q 3 .Q 2 .Q1.Q 0 )]
D 5 = [Q 5 (Q 4 .Q 3 .Q 2 .Q1.Q 0 )].s43

Remarque : la remise 0 du compteur peut aussi se faire via les entres de forage (CLR) des bascules, il faut
pour le cas prcdent, activer les entres de forage CLR avec la fonction s44 .
Dans ce cas, le problme est quil existe un tat transitoire non souhait en sortie du systme.
6