Compteurs synchrones et asynchrones
Dans le domaine de l'électronique numérique, un « compteur » est un circuit logique séquentiel. Le circuit se compose d'une série de bascules (flip-flops) : des circuits électroniques qui ont deux conditions stables, chacune correspondant à l'un de deux signaux d'entrée alternatifs. Les circuits peuvent parcourir une séquence d'états. Deux types de compteurs existent : synchrones et asynchrones.
Compteurs synchrones
Les compteurs synchrones consistent généralement en un élément de mémoire, implémenté à l'aide de bascules, et un élément combinatoire, traditionnellement implémenté à l'aide de portes logiques. Les portes logiques sont des circuits logiques avec une ou plusieurs bornes d'entrée et une borne de sortie, dans laquelle la sortie est commutée entre deux niveaux de tension déterminés par une combinaison de signaux d'entrée. L'utilisation de portes logiques pour la logique combinatoire réduit généralement le coût des composants pour les circuits compteurs à un minimum absolu, c'est donc une approche populaire.
Impulsion d'horloge (Clock Pulse)
Les compteurs synchrones ont une horloge interne, alors que les compteurs asynchrones n'en ont pas. En conséquence, toutes les bascules dans un compteur synchrone sont pilotées simultanément par une seule impulsion d'horloge commune. Dans un compteur asynchrone, la première bascule est pilotée par une impulsion d'une horloge externe et chaque bascule successive est pilotée par la sortie de la bascule précédente dans la séquence. C'est la différence essentielle entre les compteurs synchrones et asynchrones.
Compteurs asynchrones
Les compteurs asynchrones, également connus sous le nom de compteurs à propagation (ripple counters), sont le type le plus simple, nécessitant moins de composants et moins de circuits que les compteurs synchrones. Les compteurs asynchrones sont plus faciles à construire que leurs homologues synchrones, mais l'absence d'une horloge interne introduit également plusieurs inconvénients majeurs. Les bascules dans un compteur asynchrone changent d'état à des moments différents, donc les retards dans le changement d'un état à un autre — connus sous le nom de retards de propagation — s'additionnent pour créer un retard global. Plus un compteur asynchrone contient de bascules, plus le retard global est important.
Considérations
Typiquement, les compteurs asynchrones sont moins utiles que les compteurs synchrones dans les systèmes complexes à haute fréquence. Certains circuits intégrés réagissent plus vite que d'autres, donc si un événement externe se produit près d'une transition entre états — lorsque certains, mais pas tous, les circuits intégrés ont changé d'état — cela peut introduire des erreurs dans le compteur. De telles erreurs sont difficiles à prédire en raison de la différence de temps aléatoirement variable entre les événements. De plus, les retards de propagation peuvent rendre difficile la détection, ou le décodage, de l'état de sortie d'un circuit compteur asynchrone électroniquement.
