
Dans cette leçon, le présentateur explique les limites des compteurs asynchrones (retards de propagation, glitches) et introduit les compteurs synchrones où toutes les bascules sont pilotées par le même signal d'horloge, éliminant ainsi l’accumulation de retards. Il détaille la conception d’un compteur synchrone modulo 5 à l’aide de bascules D flip‑flop : détermination du nombre de bascules nécessaires, construction de la table de vérité, utilisation du tableau de Karnaugh pour simplifier les fonctions d’entrée D2, D1 et D0 (D2 = Q0·Q1, D1 = Q0 ⊕ Q1, D0 = ¬Q0·Q1 + ¬Q2). Le schéma logique résultant, composé de portes ET, OU et OU exclusif, est présenté. Enfin, il indique que la même méthode s’applique aux compteurs modulo 10, 16, aux décompteurs ou aux compteurs spécialisés (pairs, impairs).
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon consacrée à la logique séquentielle. Aujourd'hui, nous allons découvrir le compteur synchrone. Dans la vidéo précédente, nous avons étudié le compteur asynchrone. Son principe repose sur l'utilisation de plusieurs bascules T ou JK placées en série. La sortie d'une bascule sert d'horloge à la suivante. Tandis que seul un premier état dansé par un signal externe. Toutes les bascules fonctionnent sur le front descendant de l'horloge, et leurs entrées sont maintenues à 1 pour activer le mode toggle. Le circuit obtenu agit à la fois comme un compteur asynchrone et comme un diviseur de fréquence. Cependant, dans notre analyse, nous avons supposé que les bascules réagissaient instantanément, sans retard. Or, dans la réalité, chaque bascule introduit un temps de propagation. Ce retard de propagation devient rapidement problématique. Chaque bascule ajoute son propre délai, si bien que les transitions ne se produisent plus exactement au même instant. Comme résultat, les sorties du compteur ne changent pas toutes de manière parfaitement coordonnée. Sur un chronogramme, on observe des décalages successifs entre les bits, ce qui peut provoquer des valeurs intermédiaires erronées pendant un court instant. Ce phénomène génère des glitches, c'est-à-dire des impulsions électriques parasites et ultra-rapides. Concrètement, un glitch est une fausse valeur temporaire, comme un passage furtif par l'état 0 lors d'une transition directe de 1 à 2, provoqué par le retard de commutation d'une bascule. Plus on augmente le nombre de bascules, plus ce retard global s'accumule. Les glitches deviennent alors plus fréquents et plus lents. Et le compteur finit par perdre en fiabilité lorsqu'il doit atteindre des séquences longues. Ce phénomène limite donc drastiquement la fréquence de l'horloge et la vitesse maximale à laquelle un compteur asynchrone peut fonctionner correctement sans générer d'erreurs de lecture. Pour remédier à ce problème, on utilise le compteur synchrone. Dans cette version, toutes les bascules sont commandées directement par le même signal d'horloge. Elles changent donc d'état quasiment en même temps, ce qui garantit une transition coordonnée, Même si chaque bascule possède un léger retard interne, celui-ci ne s'accumule pas comme dans le compteur asynchrone, car aucune bascule ne dépend de la sortie de la précédente pour basculer. Le fonctionnement reste ainsi beaucoup plus fiable, même lorsque le nombre de bascules augmente et que l'on travaille à des fréquences élevées. Pour concevoir un compteur synchrone, on peut utiliser différentes bascules: D, JK, voire parfois RS. Toutefois, l'usage de la bascule D s'avère le plus simple, car il ne possède qu'une seule entrée de données, ce qui facilite grandement son pilotage. Bien entendu, dans ce contexte, il s'agit de la bascule D flip-flop sensible au front, et non pas de la bascule D latch sensible au niveau. Imaginons maintenant que l'on souhaite concevoir un compteur synchrone modulo 5, c'est-à-dire un circuit qui compte de 0 à 4 puis revient automatiquement à 0 pour recommencer la séquence. Le principe que nous allons expliquer ici est généralisable. Il s'applique de la même manière pour un compteur modulo 10, modulo 16 ou n'importe quelle autre valeur. J'ai choisi l'exemple du modulo 5 afin de simplifier la démonstration et de réduire le nombre de cas à analyser, tout en gardant une logique claire et représentative. Pour réaliser notre compteur synchrone modulo 5, nous allons adopter les bascules D comme élément de base. Le nombre de bascules nécessaires est de 3. En effet, le principe est que le nombre maximal de séquences de comptage doit être inférieur ou égal à 2 à la puissance n, où n représente le nombre de bascules utilisées. Dans notre cas, nous voulons compter jusqu'à 5 valeurs distinctes, c'est-à-dire de 0 à 4. Or, 2 à la puissance 3 est égal à 8, ce qui est supérieur à 5. Donc 3 bascules suffisent pour couvrir la plage de comptage souhaitée. Tout en laissant quelques combinaisons binaires inutilisées que nous devrons gérer pour forcer le retour à 0 après l'état 4. Nous allons noter les sorties de nos 3 bascules par Q0, Q1 et Q2. La sortie Q0 représente le LSB ou bit de poids faible, tandis que Q2 représente le MSB ou bit de poids fort. Par ailleurs, chaque bascule dispose également de sa sortie inversée Q-bar, ce qui nous offre davantage de flexibilité pour concevoir les équations logiques nécessaires au compteur au lieu d'ajouter un inverseur externe pour inverser la sortie Q. Afin de définir comment relier nos bascules entre elles et éventuellement ajouter de la logique externe via les portes logiques, nous allons établir la table de vérité du compteur. Dans cette table, nous placerons les sorties Q2, Q1 et Q0, en rappelant que Q2 est le bit de poids fort et Q0 le bit de poids faible. Les valeurs inscrites correspondront aux états successifs du compteur, c'est-à-dire les nombres de 0 à 4 en décimal, donc de 000 à 100 en binaire. De l'autre côté de la table, nous allons indiquer les prochaines sorties du compteur, que nous noterons Q2+, Q1+ et Q0+. Ces valeurs représentent l'état que prendront les bascules au prochain front d'horloge. Dans le cas d'un compteur modulo 5, la séquence est la suivante: après l'état 000, on obtient 001, ensuite 010, puis 011, puis 100, et enfin on revient à 000 pour recommencer le cycle. Or, dans le cas d'un compteur synchrone basé sur des bascules D, les prochaines sorties ne sont rien d'autre que les entrées actuelles des bascules. En effet, le fonctionnement d'une bascule D consiste simplement à copier l'entrée D vers la sortie Q au moment du front actif de l'horloge. Ainsi, nous pouvons remplacer directement Q2+ par D2, Q1+ par D1 et Q0+ par D0. Pour générer les fonctions logiques de notre compteur synchrone modulo 5, nous allons utiliser le tableau de Karnaugh. Commençons par la fonction de D2. Nous allons remplir le tableau en fonction des valeurs issues de la table de vérité. Comme nous travaillons avec 3 variables Q0, Q1 et Q2, notre tableau comporte 8 cases. Or, notre compteur ne parcourt que 5 états, de 000 à 100. Les 3 combinaisons restantes ne sont jamais atteintes. On les appelle les valeurs indifférentes. Donc, qu'elles soient prises comme 0 ou comme 1, elles n'affectent pas le fonctionnement global du compteur, puisqu'elles ne correspondent à aucun état réel de la séquence. Ensuite, nous allons regrouper les cases contenant des 1 par puissance de 2, c'est-à-dire des groupes de 1, de 2, de 4, etc. Plus les regroupements sont grands, plus la fonction obtenue est simplifiée. C'est justement dans ce cas que les valeurs indifférentes deviennent utiles. En effet, nous pouvons les traiter comme des 1 ou comme des 0 selon ce qui nous arrange, afin de faciliter la simplification de l'équation logique finale. Pour le regroupement choisi, on obtient la fonction logique D2= Q0× Q1. Passons maintenant à la fonction de D1. En suivant les mêmes étapes de simplification, on peut former 2 regroupements, ce qui conduit à l'expression D1= Q0'× Q1+ Q0× Q1'. Autrement dit, D1 correspond à l'expression Q0 XOR Q1. Enfin, pour la fonction de D0, le même raisonnement nous amène à l'équation D0= Q2 barre Q0 barre+ Q1 Q0 barre. En factorisant, on obtient D0= Q0 barre Q1+ Q2 barre. Le circuit logique correspondant à notre compteur synchrone modulo 5 peut maintenant être représenté. On y retrouve les 3 bascules D reliées entre elles et pilotées par la même horloge. Les entrées D2, D1 et D0 sont alimentées par les équations logiques que nous avons établies. Ce schéma illustre clairement comment la logique externe composée de portes ET, OU et OU exclusif vient compléter les bascules pour assurer la séquence correcte de comptage de 0 à 4, puis le retour automatique à 0. Je rappelle qu'en suivant exactement le même raisonnement, il est possible de concevoir des compteurs modulo 10 ou modulo 16, selon les besoins. On peut également réaliser des décompteurs qui décrémentent la séquence binaire au lieu de l'incrémenter. Enfin, il est tout à fait envisageable de créer des compteurs spécialisés, par exemple des compteurs pairs ou des compteurs impairs qui ignorent volontairement certaines valeurs de la séquence. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm

Algorithme d'Euclide pour calculer le PGCD #algorithm #euclid #programming #coding #algorithms








