Anda di halaman 1dari 14

Chapitre 6 Les Compteurs & Registres

2009/2010

Chapitre 6 Les Compteurs & Registres

82

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

1 Les registres Un registre est un circuit constitu de n bascules synchronises permettant de stocker temporairement un mot binaire de n bits en vue de son transfert dans un autre circuit (pour traitement, affichage, mmorisation, etc.). Le schma dun tel systme comporte autant de bascules (de type D) que dlments binaires mmoriser. Toutes les bascules sont commandes par le mme signal dhorloge. Moyennant une interconnexion entre les cellules (les bascules D), un registre est capable doprer une translation des chiffres du nombre initialement stock. Le dplacement seffectue soit vers la droite soit vers la gauche. Le registre est alors appel registre dcalage. Applications : conversion srie-parallle dune information numrique ; oprations de multiplications et divisions par deux ; ligne retard numrique ; mmoires accs squentiel Registre universel : il rsume les diffrentes entres et sorties dun registre dcalage procurant tous les modes de fonctionnement possibles. 1.1. Registre de mmorisation Le registre de mmorisation est le registre lmentaire. Il est constitu dune juxtaposition de bascules permettant de mmoriser un mot binaire (Figure). Ce registre est galement appel registre entres parallles.

1.2. Registre de mmorisation avec signal dinhibition Le registre de mmorisation prsent prcdemment nest rellement utilisable dans la pratique que sil est muni dune entre de contrle permettant dinhiber son chargement lorsque celui ci nest pas souhait. Le registre prsent sur la Figure suivante est un registre de mmorisation command par un signal dinhibition C. 83

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

1.3 Registres dcalage Comme son nom lindique, un registre dcalage consiste dcaler bit par bit un mot binaire soit vers la gauche, soit vers la droite. Le registre dcalage peut tre criture et lecture srie ou parallle. Remarque Un registre dcalage droite peut tre utilis comme un diviseur par 2 alors quun registre dcalage gauche peut tre utilis comme un multiplieur par 2. 1.3.1 Registre criture srie et lecture srie

Aprs 4 pulsations de CLK, les 4 bits sont entrs dans le registre. Aprs 4 autres cycles dhorloge, les 4 bits sont dplacs vers la sortie. Leur application est essentiellement le calcul arithmtique binaire. CLK est alors lentre de dcalage. 1.3.2 Registre criture srie et lecture parallle

84

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

Lorsque lentre est stocke, chaque bit apparat simultanment sur les lignes de sortie. Le registre dcalage est utilis comme convertisseur srie parallle. Il est ncessaire la rception lors dune transmission srie. 1.3.3 Registre criture parallle et lecture srie Utilis comme convertisseur parallle-srie, il est ncessaire lmission lors dune transmission srie.

1.4. Registre universel Le registre universel est une association de bascules permettant quatre modes de fonctionnement commands par deux variables C1 et C2. C1C2 = 00 Chargement parallle C1C2 = 01 Dcalage droite C1C2 = 10 Dcalage gauche C1C2 = 11 Inhibition de lhorloge. Pour permettre ces quatre modes de fonctionnement, chacune des bascules est prcde dun multiplexeur. Lentre D de chaque bascule est ainsi fonction du mode de fonctionnement dsir

85

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

Remarque : Lentre e1 peut jouer simultanment le rle dentre parallle et dentre srie gauche. Lentre en peut jouer simultanment le rle dentre parallle et dentre srie droite. 2. Compteurs / dcompteurs 2.1. Dfinitions Un compteur est une association de n bascules permettant de dcrire, au rythme dune horloge, une squence dtermine qui peut avoir au maximum 2n combinaisons diffrentes. Les combinaisons apparaissent toujours dans le mme ordre. Une combinaison de sortie dun compteur est appele tat. Le nombre dtats diffrents pour un compteur est appel le modulo de ce compteur. Un compteur modulo N dmarrant 0 et comptant dans lordre binaire naturel compte de 0 N-1. Le graphe prsent sur la figure suivante est le graphe dun compteur binaire modulo 8.

Graphe dun compteur modulo 8 2.2 Compteur asynchrone ( propagation)

86

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

Nous avons vu comment raliser une division par deux laide de bascules JK. En cascadant des bascules JK montes en diviseurs de frquence, on peut donc raliser un compteur dont le modulo dpendra du nombre de bascules. 2.3 Compteur asynchrone cycle rgulier Exemple Compteur asynchrone 4 bits (compte de 0 15). 2.3.1 Ralisation laide de bascules JK

La sortie de chaque bascule agit comme le signal dhorloge de la suivante. Fonctionnement J=K=1 ; toutes les bascules commutent sur des fronts descendants la bascule A commute chaque front descendant du signal dhorloge ; la sortie de la bascule 1 sert dhorloge pour la bascule 2 passe de 1 0 ; de la mme manire, C commute lorsque B passe de 1 0, et D commute lorsque C passe de 1 0. 2.3.2 Table dimplication squentielle Elle montre les tats binaires pris par les bascules aprs chaque front descendant. B commute chaque fois que A

87

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

Si on imagine que DCBA reprsente un nombre binaire, le compteur ralise la suite des nombres binaires allant de 0000 1111 (soit de 0 15). A prs la 15me impulsion, les bascules sont dans la condition 1111. Quand la 16me impulsion arrive, le compteur affiche 0000 : un nouveau cycle commence. 2.3.3 Chronogramme

2.3.4 Modulo cest le nombre dtats occups par le compteur pendant un cycle complet ; le modulo maximal dun compteur n bits (n bascules) est 2n ; ex. : compteur 4 bits!16 tats distincts!modulo 16. 2.4 Dcompteurs asynchrones Il suffit de piloter chaque entre CLK des bascules au moyen de la sortie complmente de la bascule prcdente. Exemple : Dcompteurs modulo 8

Chronogramme :

88

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

2.5 Compteur asynchrone modulo N < 2n ( cycle rgulier) 2.5.1 Mthode Pour raliser un compteur ou un dcompteur dont le cycle nest pas une puissance de 2, la seule solution est dagir sur lentre Clear lorsque la combinaison correspondant au modulo du compteur se produit sur les sorties de celui-ci. Ainsi, pour 2N-1 < N < 2N, on ralise un compteur modulo 2n (avec n bascules), puis on raccourcit le cycle en jouant sur les entres RAZ des bascules. Exemple Compteur asynchrone modulo 6 : 22 < 6 < 23 on ralise un compteur modulo 3 avec 3

bascules, et on ramne le compteur 000 ds que Q2Q1Q0 = 110. ds que la sortie de la porte NAND passe 0, les bascules sont forces 0 : le compteur se remet compter partir de 0. le compteur ralis compte de 000 101 (de 0 5) puis recommence un nouveau cycle modulo 6

2.5.2 Table dimplication squentielle

Q2Q1Q0 = 110 est un tat temporaire. Il existe mais pendant une dure trs courte. Cest un tat indsirable que lon nomme parfois glitch.

89

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

2.5.3 Chronogramme

2.6 Inconvnients des compteurs asynchrones Chaque bascule introduit un retard de Dp (Dp=25ns). Comme les bascules ne commutent pas sur le mme signal dhorloge, les retards sadditionnent : la nime bascule, on a un retard Tm de nDp. Ainsi, la frquence maximum de fonctionnement FH dun compteur modulo n, constitu de n bascules de dlai de propagation Dp dpend du nombre de bascules du compteur et donc du modulo du compteur. Cette frquence peut tre tablie comme suit : Tm =Dp n : Dlai de propagation du compteur TH = 2Tm : Priode min de lhorloge FH = 1/(2Tm) : Frquence max de lhorloge = 1/(2n Dp) Laccumulation des retards des bascules implique une utilisation du compteur limite en frquence, particulirement lorsque le nombre de bits est lev, puisque le nombre de bascules augmente en mme temps que le nombre de bits. Les fronts des signaux appliqus sur les entres dhorloge des bascules nayant pas lieu au mme instant cause des retards diffrents, les sorties ne changent pas dtat en mme temps, ce qui implique un problme dinterface avec des circuits rapides (temps de lecture infrieur au retard entre plusieurs bits). Dautre part, ces retards de commutation introduisent des tats transitoires relativement consquents, particulirement lorsque le nombre de bascules traverses est important. Mais linconvnient le plus important est li au fait que cette structure ncessite de la logique sur des signaux asynchrones (lhorloge est gnre par une bascule et le signal Clear est gnr par une structure combinatoire). Cette logique combinatoire peut donc engendrer (ou propager) des tats transitoires qui peuvent entraner des dysfonctionnements du compteur. 90
ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

2.7 Compteurs synchrones Un compteur synchrone est une structure ou toutes les bascules reoivent le mme signal dhorloge (Figure). La fonction comptage ou dcomptage est ralise par lintermdiaire des fonctions appliques sur les entres synchrones des bascules.

Structure gnrale dun compteur par 8 synchrone ralis avec des bascules JK 2.7.1 Compteurs synchrones modulo 2n Pour que le compteur dcrive une squence dtermine, il faut commander les entres des bascules (T, D ou JK) de faon adquate. Pour cela, on peut remarquer sur la table de vrit du compteur (Figure) que le bit de poids faible change tous les coups dhorloge et que quun bit quelconque change lorsque tous les bits de droite sont gaux 1.

Table de vrit dun compteur par 8 Sachant que sur une bascule T (JK), il y a inversion de la sortie pour T = 1 (JK = 11), on peut en dduire les entres de chacune des bascules et par consquent la structure des compteurs synchrones (Figure). T0 = 1 T1 = Q0 T2 = Q0.Q1 Tn = Q0.Q1....Qn-1

91

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

Compteur par 8 synchrone Le rsonnement fait prcdemment avec des bascules T (JK) peut tre men lidentique avec des bascules D sachant que les deux structures prsentes sur la figure 8.40 sont fonctionnellement parfaitement quivalentes.

La frquence maximum de fonctionnement FH dun compteur modulo n, constitu de n bascules de dlai de propagation Dp peut tre tablie comme suit : Tmax = Dp Dlai de propagation du compteur TH Tmax Priode de lhorloge FH 1/(Tmax) = 1/Dp Frquence de lhorloge Le compteur synchrone est donc plus rapide que le compteur asynchrone puisque les dlais de propagation des bascules ne sont pas cumuls. Dautre part, si lon suppose que toute les bascules on le mme dlai de propagation il ny a pas dtat transitoire sur la sortie. Dans la pratique, ce nest bien videmment pas le cas car les dlais de propagation de bascules peuvent tre diffrents (temps de monte et de descente diffrents, charges diffrentes etc.). Toutefois, la dure de ces transitoires et rduite la diffrence de fonctionnement des bascules et en aucun cas nest aussi importante quen asynchrone. De la mme manire que dans le cas asynchrone, un dcompteur peut tre obtenu en sortant sur les sorties Q du compteur. On peut galement raliser un 92
ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

dcompteur en remarquant sur la table de vrit (Figure) que le bit de poids faible change tous les coups dhorloge et que quun bit quelconque change lorsque tous les bits de droite sont gaux 0.

Table de vrit dun dcompteur par 8 Sachant que sur une bascule T, il y a inversion de la sortie pour T=1, on peut en dduire les entres de chacune des bascules et par consquent la structure des dcompteurs synchrones (Figure). T0 = 1 T1 = Q0' T2 = Q0'.Q1' Tn = Q0'.Q1'....Qn-1'

Dcompteurs par 8 synchrone Par le mme raisonnement, on peut dterminer la structure dun compteur / dcompteur synchrone (Figure) dont le mode comptage ou dcomptage est command par une commande C (C=0 => Comptage, C=1 => Dcomptage).

93

ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

Schma logique du compteur / dcompteur par 8 Remarque : Le systme prcdent permet de basculer du mode comptage au mode dcomptage et inversement sans modification de ltat courant. Ce ne peut tre le cas dun systme bas sur fonctionnement asynchrone ou dun systme bas sur un compteur synchrone avec sortie Q et Q' multiplexes. 2.7.2. Compteurs synchrones modulo diffrent de 2n Pour raliser un compteur, un dcompteur ou un compteur / dcompteur dont le cycle nest pas une puissance de 2, on pourrait envisager, comme en asynchrone, dagir sur lentre Clear lorsque la combinaison correspondant au modulo du compteur ce produit sur les sorties de celui ci. Mais, comme il a t prcis prcdemment, cette solution est proscrire absolument car les transitoires produits ou transmis par la logique sur le signal asynchrone de Clear risquent dentraner un dysfonctionnement de la structure. Une autre solution permettant de raliser un compteur, un dcompteur ou un compteur / dcompteur dont le cycle nest pas une puissance de 2, est de redfinir les fonctions dentre des bascules pour raliser la fonction souhaite. Exemple 1 : Compteur par 6. Le fonctionnement du compteur par 6 doit rester identique celui du compteur par 8 tant que la combinaison 5 nest pas prsente sur les sorties du compteur. Lorsque la combinaison 5 est prsente, les fonctions dentre des bascules doivent tre modifies. Au lieu de passer de 101 110, il faut passer de 101 000. Soit C5 un flag prvenant quon est sur la combinaison 5. C5 = Q2.Q1'.Q0 94
ENSA SAFI

Chapitre 6 Les Compteurs & Registres

2009/2010

En reconsidrant le fonctionnement des bascules lorsque C5 vaut 1 on obtient : T0 = 1 (Mme fonctionnement que C5 vaille 0 ou 1) T1 = C5'.Q0 + C5.0 = C5'.Q0 (Conservation de Q1 lorsque C5=1) T2 = C5'.Q0.Q1 + C5.1 = C5'.Q0.Q1 + C5 (Inversion de Q2 lorsque C5=1)

95

ENSA SAFI