43 Notions de registres Un registre est un ensemble de cellules mémoires constituées par des bascules Le contenu d'un registre peut donc être considéré comme un nombre binaire ou un "mot" de n bits Exemple :, chacun des bits sera stocké par une bascule Les applications des registres sont nombreuses : - conversion série parallèle - multiplication ou division par une puissance de - ligne à retard numérique 43 Registre à mémoire La fonction d'un tel registre est de "stocker / mémoriser" un mot de n bits Exemple de réalisation (à l'aide de bascules D edge) : chacune des cellules est une bascule D D 3 Q 3 D Q D Q D Q 3 La sortie du registre mémorise le mot d'entrée tant que = ou Lorsque l'horloge présente un front montant, les données en sortie sont actualisées Le registre peut être initialisé grâce aux entrées de forçage asynchrone qui peuvent forcer les sorties des bascules à ou à 43 Registre à décalage conversion série/parallèle Ce type de registre sert à décaler tous les bits d un mot de un ou plusieurs crans vers la droite ou vers la gauche Ces systèmes peuvent être utilisés pour effectuer des multiplications ou divisions par une puissance de, ou encore pour effectuer une conversion série parallèle Exemple de réalisation : Entrée série D Q D Q D Q D 3 Q 3 3 D'où le chronogramme : a a a Sorties a parallèles D Q a a Q a a Q a a Q 3 Remarque : Les bascules doivent être commandées sur front pour contrôler l'instant du décalage (un bit à la fois et non plusieurs si la durée du niveau est trop grande) Exemple d'application : la multiplication par n a
Soit N = 3 = N = 6 = (N) = = On constate que pour effectuer la multiplication d'un nombre par il suffit de décaler tous les bits du nombre de cran vers la droite (vers les bits de poids fort - MSB) De la même façon, pour réaliser la division d'un nombre par il suffit de décaler tous les bits du nombre de cran vers la gauche (vers les bits de poids faible - LSB) 433 Exemple de conversion série parallèle Le but est ici de réaliser un système capable de convertir les 4 bits série d un mot sous la forme de 4 bits disponibles simultanément Par ailleurs on désire que les sorties de ce système ne puissent être "rafraîchies" qu'à des instants déterminés Il faudra donc utiliser un registre à décalage pour remplir la ère fonction et un registre à mémoire pour remplir la nde On supposera que les bits de poids fort arrivent avant les bits de poids faibles Es D Q D Q D Q D 3 Q 3 Es D Q D Q D Q D 3 Q 3 Sp Chronogramme : Es Es a 3 a a a a 3 a a a Q a Q a Q a Q 3 Sp a 3 Q Q Q Q 3
43 Compteurs Un compteur est un élément que l on utilise lorsque l on a besoin d établir une relation d ordre sur une succession d événements Bien sûr il sert également à effectuer la fonction de comptage d événements, mais il a des applications très variées, comme par exemple la division de fréquence Un compteur comprend une entrée et plusieurs sorties Les sorties présentent une combinaison de bits à et à qui correspond à un codage du nombre d impulsions injectées en entrée Exemple : compteur par 8 binaire Nombre d impulsions Sorties (binaires) comptage 3 3 4 4 5 5 6 6 7 7 8 9 On obtient en sortie le nombre d impulsions écoulées modulo 8 Pour cela on utilise le terme «compteur modulo 8» 43 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) L information est constituée par la position d un ou plusieurs bits à dans les bascules Exemple : compteur en anneau modulo 4 Ce compteur est un registre à décalage avec une entrée parallèle pour l initialisation Table de fonctionnement : Chronogramme : ini N A A A A 3 3 4 A A A A 3 3
Schéma de principe : ini D Q D Q D Q D 3 Q 3 3 A A A A 3 43 Compteur asynchrone modulo n La logique asynchrone est en général plus rapide que la logique synchrone, mais elle souffre de deux inconvénients majeurs : Une mise en œuvre plus délicate car moins systématique ; Une testabilité parfois difficile En pratique, les compteurs sont réalisés de plus en plus en logique synchrone, sauf lorsque le comptage se fait modulo n Un compteur asynchrone modulo n peut être réalisé soit à partir de bascules T, D ou JK (avec J=K=) Nous donnons ci-dessous un exemple de réalisation à l aide de bascules D pour un comptage modulo 3 Dans ce cas le nombre de bascules est égal à 3 (=n du modulo n du compteur) Table de fonctionnement : N A A A 3 4 5 6 7 Chronogramme : A A A 3 4 5 6 7 4
Schéma de principe : D Q D Q D Q Q Q Q A A A Le nombre compté en sortie s écrit : N = A A A Remarques : Il faut que la synchronisation se fasse sur le front descendant de l horloge Sur front montant, on obtient un décompteur Un tel compteur est utilisé pour la division de fréquence lors de la fabrication d horloges 43 Compteur synchrone Ce compteur permet de synthétiser n importe quel code de façon systématique L horloge est distribuée sur toutes les entrées et les configurations de sortie sont obtenues par un conditionnement des entrées au temps t n en prévision du «coup» d horloge t n+ Dans un système logique synchrone, plusieurs considérations sont à prendre en compte : la fréquence de l horloge du système logique est très souvent inférieure à la fréquence de référence dérivée d un quartz En effet, plus la fréquence de fonctionnement du système logique est élevée, plus la consommation est importante et plus l échauffement de la puce est important Ce point conduit à choisir, pour fréquence d horloge du système logique, la fréquence minimale requise pour le sous-ensemble le plus exigeant au point de vue vitesse Il y a lieu de signaler ici que la fréquence de pilotage d un affichage multiplexé peut être quelconque par rapport à la fréquence de l horloge du système logique En effet, le signaux pilotant les afficheurs ne sont jamais rebouclés vers le système logique Ils font partie de la périphérie de ce système tout comme les signaux de synchronisation Une division de fréquence asynchrone est possible pour passer de la fréquence du quartz à celle de l horloge, puisque le signal de l horloge constitue la référence temporelle La façon dont ce signal a été généré importe peu Or un diviseur asynchrone nécessite beaucoup moins de composants qu un diviseur synchrone : il est constitué de simples bascules D dont les entrées sont reliées aux sorties complémentées de ces bascules En conséquence le diviseur consommera moins d'énergie et sera plus simple à concevoir Synthèse d un compteur avec des bascules D Cette technique consiste à décrire dans une table de vérité la succession des états souhaités puis les valeurs que doivent prendre les entrées D pour assurer cette succession d états Si après l état, le compteur doit passer à l état, il faut dès l état donner aux entrées D les valeurs de l état Ainsi au front actif suivant de l horloge, les valeurs des entrées D seront transférées vers les sorties Q et le compteur se trouvera à l état Les sorties Q i sont donc les fonctions d entrée de la table de vérité tandis que les entrées des bascules D i constituent les fonctions à synthétiser La technique de synthèse présentée dans ce cours consiste à établir les équations donnant les D i en fonction des Q i dans le cas général d un compteur modulo n, puis de modifier ces expressions en fonction du compteur modulo = n à réaliser Equations donnant les D i pour un compteur modulo n On procède par l exemple puis on déduit les relations pour n quelconque Exemple : compteur modulo 3 Table de vérité : N Q Q Q D D D 5
Equations donnant les D i en fonction des Q i : A partir de la table de vérité, on écrit : D = D Q D 3 4 5 6 7 ( Q Q ) ( Q Q ) = ( Q )( Q Q ) Q Généralisation : Q Q ( Q Q Q ) ( Q Q Q ) ( Q Q Q Q ) i D = et ( ) En généralisant, on obtient : Q Di i Qi Qi Q i Qi k k= n Compteur modulo N - Méthode de conditionnement des entrées Il faut, à l état N-, remettre à les équations qui ne le sont pas, c est à dire agir sur les entrées des bascules qui ne seront pas au niveau logique à l état N Nous expliquons ce principe pour un compteur modulo 44 Un tel compteur nécessite 6 bascules ( 6 =64>44) Nous déterminons les bascules sur lesquelles il faudra agir à l état 43 par la fonction de décodage s43 Q 5 Q 4 Q 3 Q Q Q 3 6 8 4 Etat 43 (s43 = ) Etat 44 (s44 = ) En explicitant l état 44 du compteur, on s aperçoit que les bascules Q, Q et Q 4 seront à l état après l état 43, ce que nous souhaitons ; il n y a donc pas lieu de modifier leurs équations Par contre, il faut remettre à les entrées D, D 3 et D 5 Nous le ferons en multipliant leur équation respective par s43, terme qui a la valeur à l état 43 La fonction de décodage s43 a pour équation : s43 5 Q 4Q3Q QQ En utilisant le principe de la première coïncidence, nous faisons disparaître les termes complémentés car cette coïncidence de pour Q 5, Q 3, Q et Q ne se retrouve pas dans le cycle de comptage avant l état s43 (ceci est une procédure systématique toujours applicable) D où les équations définitives : s43 5 Q3QQ D D Q D = [ Q ( Q Q )]s43 D3 = [ Q3 ( Q )]s43 D4 = [ Q4 ( Q3QQQ )] = [ Q ( Q )]s43 D5 5 4 3 Remarque : la remise à du compteur peut aussi se faire via les entrées de forçage (CLR) des bascules, il faut pour le cas précédent, activer les entrées de forçage CLR avec la fonction s44 Dans ce cas, le problème est qu il existe un état transitoire non souhaité en sortie du système 6