PREVIEW
Counter (8-bit)

Counter (8-bit)

Counters signal_cellular_alt_2_bar Intermediate schedule 25 min

Interactive Circuit

Compteur 8 bits

Vue d'ensemble

  • Objectif : le compteur 8 bits est un circuit numérique séquentiel qui progresse à travers une séquence de 256 états distincts (0 à 255) à l'application d'impulsions d'horloge. Il compte vers le haut et peut maintenir sa valeur actuelle ou être effacé en fonction des signaux de contrôle.
  • Symbole : le compteur 8 bits est représenté par un bloc rectangulaire avec des entrées pour l'horloge (CLK), l'effacement (CLR), l'autorisation (EN) et le chargement (LD), avec huit sorties de données représentant la valeur de comptage actuelle et une sortie de retenue.
  • Rôle dans DigiSim.io : sert de composant essentiel pour implémenter les fonctions de calage, de séquencement et de comptage dans les systèmes numériques, fournissant une plage plus large (256 états) que les compteurs plus petits pour les applications nécessitant plus d'états de comptage.

composant compteur 8 bits

Description fonctionnelle

Comportement logique

Le compteur 8 bits s'incrémente à travers une séquence binaire à chaque front montant d'horloge lorsqu'il est activé. Il compte uniquement vers le haut. Lorsqu'il est effacé, le compteur revient à zéro de manière asynchrone, indépendamment de l'horloge.

Table de fonctionnement :

CLR EN CLK Opération Effet sur la sortie
1 X X Effacement (async) Q = 0
0 1 Comptage ascendant Q[n+1] = Q[n] + 1
0 0 Maintien Q[n+1] = Q[n]
0 X 0 Pas de changement Q[n+1] = Q[n]

Note : ↑ représente un front montant d'horloge, X représente une condition « peu importe ». Le compteur boucle de 255 à 0.

Entrées et sorties

  • Entrées :

    • CLK (Clock) : broche 0. Déclenche le compteur sur le front montant.
    • CLR (Clear) : broche 1. Réinitialise le compteur à 0 de manière asynchrone lorsque HIGH.
    • EN (Enable) : broche 2. Autorise le comptage lorsque HIGH.
    • LD (Load) : broche 3. Réservée pour usage futur (chargement parallèle non actuellement pris en charge).
  • Sorties :

    • Q[7:0] : sortie 8 bits représentant la valeur de comptage actuelle (Q0=LSB, Q7=MSB).
    • Carry : sortie 1 bit qui passe à HIGH lorsque le compteur atteint sa valeur maximale (255).

Paramètres configurables

  • Sensibilité au front d'horloge : si le compteur réagit aux fronts montants ou descendants de l'horloge.
  • Type de réinitialisation : si la réinitialisation est synchrone (uniquement sur les fronts d'horloge) ou asynchrone (immédiate).
  • Valeur de réinitialisation : la valeur à laquelle le compteur se réinitialise (typiquement zéro).
  • Séquence de comptage : si le compteur suit une séquence binaire, BCD ou autre.
  • Délai de propagation : le temps nécessaire pour que les sorties changent après un événement déclencheur.

Représentation visuelle dans DigiSim.io

Le compteur 8 bits est affiché sous la forme d'un bloc rectangulaire avec des entrées étiquetées sur le côté gauche (CLK, RST, EN, UP/DOWN) et des sorties (Q[7:0], COUT) sur le côté droit. L'entrée d'horloge est typiquement marquée d'un symbole triangulaire indiquant la sensibilité au front. Lorsqu'il est connecté dans un circuit, le composant indique visuellement son état actuel via la valeur binaire affichée sur ses sorties et les changements de couleur sur les fils de connexion.

Valeur pédagogique

Concepts clés

  • Logique séquentielle : démontre comment les circuits numériques maintiennent et mettent à jour leur état au fil du temps.
  • Comptage binaire : illustre la progression à travers les séquences de nombres binaires.
  • Fonctionnement synchrone : montre comment les signaux d'horloge coordonnent et synchronisent les opérations numériques.
  • Arithmétique modulaire : présente le concept de bouclage lorsqu'un compteur dépasse sa plage.
  • Logique de contrôle : introduit l'utilisation des contrôles d'autorisation et de direction pour modifier le comportement du circuit.

Objectifs d'apprentissage

  • Comprendre comment les compteurs progressent à travers les séquences binaires et maintiennent leur état.
  • Apprendre comment les signaux de contrôle comme la réinitialisation, l'autorisation et la direction affectent le fonctionnement du compteur.
  • Reconnaître la différence entre les conceptions de compteur synchrone et asynchrone.
  • Appliquer les compteurs 8 bits dans la conception de minuteries, séquenceurs et générateurs d'adresses.
  • Comprendre le concept de débordement/sous-débordement du compteur et comment les sorties de retenue signalent ces conditions.

Exemples d'utilisation / scénarios

  • Génération d'adresses : accès séquentiel aux emplacements mémoire dans un CPU ou contrôleur.
  • Implémentation de minuterie : création de délais précis ou mesure d'intervalles de temps.
  • Comptage d'événements : décompte des occurrences d'événements ou impulsions dans les systèmes numériques.
  • Division de fréquence : division d'une fréquence d'horloge d'entrée par un facteur programmable.
  • Séquencement d'état : implémentation de la logique de séquencement pour les machines à états finis.
  • Acquisition de données : contrôle du calage pour l'échantillonnage des signaux analogiques.
  • Systèmes de contrôle numérique : génération de séquences de calage pour les opérations de contrôle.

Notes techniques

  • Le compteur 8 bits peut être implémenté en utilisant diverses architectures :
    • Compteur asynchrone (à propagation) : simple mais avec des problèmes de délai de propagation à travers les positions de bits.
    • Compteur synchrone : toutes les bascules changent simultanément, fournissant un calage plus fiable.
  • Un compteur binaire 8 bits peut représenter des valeurs de 0 à 255 avant de boucler.
  • La fréquence de fonctionnement maximale est limitée par le délai de propagation à travers la logique du compteur.
  • Les compteurs peuvent être mis en cascade pour créer des compteurs plus larges (16 bits, 32 bits) en connectant la sortie de retenue d'un compteur à l'autorisation du suivant.
  • Les configurations de compteur spéciales comme les compteurs Johnson ou les compteurs en anneau fournissent différentes séquences de comptage pour des applications spécifiques.
  • Dans DigiSim.io, le comportement du compteur simule les composants numériques du monde réel avec une gestion correcte des entrées de contrôle et un fonctionnement synchrone.

Caractéristiques

  • Configuration des entrées :

    • Entrée d'horloge (CLK) : déclenche les transitions d'état, typiquement actives sur le front montant
    • Entrée de réinitialisation (RST) : réinitialise de manière asynchrone le compteur à zéro lorsqu'elle est activée
    • Entrée d'autorisation (EN) : active ou désactive l'opération de comptage
    • Contrôle de direction (UP/DOWN) : détermine la direction de comptage (haut quand high, bas quand low)
    • Compatible avec les niveaux logiques numériques standard
    • Peut inclure des entrées supplémentaires dans certaines implémentations (chargement, préréglage, etc.)
    • Plage de fréquence d'horloge typique : DC à 50+ MHz selon la technologie
  • Configuration des sorties :

    • Huit sorties d'état (Q0-Q7)
    • Sortie de retenue/emprunt (Cout) — activée lorsque le compteur déborde (haut) ou sous-déborde (bas)
    • Chaque sortie représente un bit de la valeur de comptage actuelle
    • Q0 est le bit de poids faible (LSB), Q7 est le bit de poids fort (MSB)
    • Capable de piloter les charges numériques standard
    • Peut inclure des sorties complémentaires dans certaines implémentations
  • Fonctionnalité :

    • Compte à travers une séquence binaire de 0 à 255 (ou 255 à 0)
    • Plage 8 bits complète fournit 256 états distincts
    • Boucle de 255 à 0 lors du comptage ascendant
    • Boucle de 0 à 255 lors du comptage descendant
    • Sortie de retenue générée lors des conditions de bouclage
    • Peut être configuré pour différentes séquences de comptage
    • Comptage modulo-N possible avec une logique supplémentaire
  • Délai de propagation :

    • Horloge à sortie : 15-35 ns typique
    • Temps de mise en place : 10-20 ns avant le front d'horloge
    • Temps de maintien : 0-10 ns après le front d'horloge
    • Réinitialisation à sortie : 10-25 ns
    • Dépendant de la technologie (TTL, CMOS, etc.)
    • Les conceptions synchrones ont un calage de sortie cohérent
    • Délais plus élevés dans les implémentations asynchrones en cascade
  • Sortance :

    • Pilote typiquement 10-20 charges standard
    • La charge de sortie affecte le délai de propagation
    • Peut nécessiter une mise en tampon pour les applications à forte sortance
    • Les implémentations CMOS modernes ont une capacité de pilotage améliorée
  • Consommation :

    • Consommation statique minimale dans les implémentations CMOS
    • La consommation dynamique augmente avec la fréquence d'horloge
    • Proportionnelle au nombre de bits qui changent d'état
    • Plus élevée que les compteurs 4 bits en raison de bascules supplémentaires
    • Fonctionnalités de gestion d'alimentation dans de nombreuses implémentations
    • Peut être significative dans les applications à grande vitesse
  • Complexité du circuit :

    • Complexité modérée à élevée
    • Nécessite huit bascules plus la logique de contrôle
    • Conceptions synchrones plus complexes que les asynchrones
    • Logique supplémentaire pour des fonctionnalités comme le chargement parallèle
    • La complexité augmente avec l'ensemble des fonctionnalités
    • Les versions intégrées réduisent le nombre de composants externes

Méthodes d'implémentation

  1. Compteur asynchrone (à propagation)

    • Cascade de huit bascules (typiquement de type T ou JK)
    • La sortie de chaque bascule pilote l'horloge de la suivante
    • Implémentation simple mais avec des problèmes de délai de propagation
    • Le LSB change à chaque horloge, les bits supérieurs changent quand pilotés
    • Inadapté aux applications haute vitesse
    • Des glitches peuvent se produire pendant les transitions
    • La conception la plus simple mais avec des limitations de calage
  2. Compteur synchrone

    • Toutes les bascules partagent une horloge commune
    • Les transitions d'état se produisent simultanément
    • Logique combinatoire supplémentaire détermine quelles bascules basculent
    • Plus complexe que la conception à propagation mais avec un meilleur calage
    • Fonctionnement à plus haute vitesse que les conceptions asynchrones
    • Comportement de calage prévisible
    • Peut être implémenté avec des bascules D, JK ou T
  3. Compteur binaire réversible

    • Capacité de comptage bidirectionnel
    • Logique de contrôle de direction pour chaque bascule
    • Complexité supplémentaire pour le contrôle de direction
    • Courant dans les compteurs spécifiques à l'application
    • Implémentation synchrone préférée pour un fonctionnement fiable
    • Logique de retenue/emprunt pour les deux directions de comptage
  4. Compteur préréglable

    • Inclut la capacité de chargement parallèle
    • Entrées de données pour chaque bit
    • Signal de contrôle d'autorisation de chargement
    • Peut être initialisé à n'importe quelle valeur
    • Utile pour cadencer des intervalles spécifiques
    • Multiplexeurs supplémentaires pour le chemin de chargement
    • Courant dans les applications de minuterie programmable
  5. Compteur décimal codé binaire (BCD)

    • Compteur 8 bits modifié avec deux décades BCD
    • Compte de 0 à 99 en décimal
    • Logique de réinitialisation pour chaque section 4 bits au comptage 10
    • Utile pour les applications de comptage lisibles par l'humain
    • Courant dans les affichages et interfaces utilisateur
    • Logique de décodage plus complexe
  6. Implémentation par circuits intégrés

    • Disponible sous forme de CI compteurs dédiés
    • Couramment dans la série 74xx (74LS590, 74HC590, 74HC393 en cascade)
    • Diverses fonctionnalités : préréglable, mise en cascade, haut/bas
    • Différentes technologies pour diverses exigences vitesse/consommation
    • Peut inclure des fonctionnalités supplémentaires comme les sorties trois états
    • Réduit le nombre de composants dans les conceptions de système
  7. Implémentation FPGA/ASIC

    • Implémentation efficace utilisant bascules et LUT
    • Hautement configurable et optimisable
    • Facile d'ajouter des fonctionnalités spécialisées
    • Souvent synthétisée à partir de descriptions HDL
    • Économe en ressources dans la logique programmable moderne
    • Peut être adaptée à des exigences de calage spécifiques

Applications

  1. Adressage mémoire

    • Compteur de programme dans les microcontrôleurs et CPU
    • Génération d'adresses pour l'accès séquentiel à la mémoire
    • Compteurs de rafraîchissement DRAM
    • Pointeurs de pile dans les systèmes informatiques
    • Contrôleurs DMA pour les transferts mémoire
    • Séquencement à travers les emplacements mémoire
  2. Génération de calage

    • Intervalles de calage de précision (jusqu'à 256 cycles d'horloge)
    • Génération de délai programmable
    • Contrôle de largeur d'impulsion
    • Coordination du calage système
    • Sous-systèmes d'horloge temps réel
    • Génération de timeout
  3. Division de fréquence

    • Diviseurs d'horloge avec rapports de division jusqu'à 256
    • Synthèse de fréquence de précision
    • Générateurs de signaux
    • Générateurs de débit en bauds pour la communication
    • Gestion d'horloge dans les systèmes numériques
    • Mise à l'échelle de fréquence
  4. Comptage d'événements

    • Décompte d'événements à grande plage
    • Comptage d'impulsions en instrumentation
    • Comptage de révolutions
    • Mesure de débit
    • Surveillance du taux d'occurrence
    • Comptage de chaîne de production
  5. Systèmes de contrôle numérique

    • Implémentation de machines à états
    • Opérations de contrôle de séquencement
    • Calage de contrôle moteur
    • Contrôleurs de processus
    • Séquencement d'automatisation industrielle
    • Algorithmes de contrôle basés sur le temps
  6. Acquisition de données

    • Contrôle du calage d'échantillonnage
    • Séquencement de contrôle ADC
    • Adresses de mise en tampon de données
    • Génération de déclenchement de mesure
    • Contrôle du taux d'échantillonnage
    • Compteur de moyennage pour la réduction du bruit
  7. Systèmes de communication

    • Compteur de trame pour les paquets de données
    • Séquencement d'octets dans les protocoles série
    • Calage de communication
    • Séquencement de protocole
    • Compteurs de détection d'erreurs
    • Générateurs de calage de bits

Limitations

  1. Contraintes de calage

    • Fréquence de fonctionnement maximale limitée par la technologie
    • Exigences de temps de mise en place et de maintien pour un fonctionnement fiable
    • Préoccupations de décalage d'horloge dans les systèmes complexes
    • Accumulation de délai de propagation dans les conceptions asynchrones
    • Exigences de calage de récupération de réinitialisation
    • Calage incohérent à travers tous les bits dans les implémentations à propagation
  2. Glitches et conditions de course

    • Glitches de sortie pendant les transitions (en particulier dans les conceptions asynchrones)
    • États intermédiaires pendant les transitions multi-bits
    • Critique dans les applications de contrôle
    • Faux déclenchement potentiel de la logique en aval
    • Hasards dans la logique de décodage de sortie
    • Conditions de course dans les chemins de rétroaction du compteur
  3. Limitations de plage

    • Limité aux valeurs 8 bits (0-255)
    • Nécessite la mise en cascade pour des plages de comptage plus larges
    • Gestion du débordement pour les comptages dépassant la plage
    • Logique supplémentaire nécessaire pour les séquences non binaires
    • Le comptage modulo-N nécessite une logique supplémentaire
    • Inefficace pour les petites plages de comptage
  4. Consommation

    • Consommation dynamique élevée à des taux d'horloge rapides
    • Pics de consommation pendant les transitions multiples de bits
    • Significative dans les applications alimentées par batterie
    • Augmente avec la fréquence de commutation
    • Plus élevée que les compteurs plus petits en raison de plus de bascules
    • Considérations thermiques dans les opérations à grande vitesse
  5. Complexité de conception

    • Plus complexe que les compteurs plus petits
    • Les fonctionnalités avancées augmentent les exigences logiques
    • Les conceptions synchrones nécessitent plus de logique combinatoire
    • Complexité de test et de vérification
    • Augmentation du nombre de composants ou des ressources logiques
    • Analyse de calage complexe pour les applications critiques

Détail de l'implémentation du circuit

Compteur ascendant binaire synchrone 8 bits

graph TB
    Clock[Clock CLK] --> FlipFlop0[Flip-Flop 0]
    Clock --> FlipFlop1[Flip-Flop 1]
    Clock --> FlipFlop2[Flip-Flop 2]
    Clock --> DOTS[...]
    Clock --> FlipFlop7[Flip-Flop 7]
    
    Reset[Reset RST] --> FlipFlop0
    Reset --> FlipFlop1
    Reset --> FlipFlop2
    Reset --> DOTS
    Reset --> FlipFlop7
    
    FlipFlop0 --> OutputQ0[Q0]
    FlipFlop1 --> OutputQ1[Q1]
    FlipFlop2 --> OutputQ2[Q2]
    DOTS --> QDOTS[...]
    FlipFlop7 --> OutputQ7[Q7]
    
    ControlLogic[Enable & Clock<br/>Control Logic]
    Enable[Enable EN] --> ControlLogic
    UpDown[UP/DOWN] --> ControlLogic
    ControlLogic -.-> FlipFlop0
    ControlLogic -.-> FlipFlop1
    ControlLogic -.-> FlipFlop2
    ControlLogic -.-> FlipFlop7

Compteur binaire 8 bits 74HC590 avec registre de sortie

    ┌─────────────────┐
    │                 │
    │     74HC590     │
    │                 │
CLK ┤CP            Q0 ├── Q0
    │                 │
MR  ┤MR            Q1 ├── Q1
    │                 │
    │               Q2 ├── Q2
    │                 │
    │               Q3 ├── Q3
    │                 │
    │               Q4 ├── Q4
    │                 │
    │               Q5 ├── Q5
    │                 │
    │               Q6 ├── Q6
    │                 │
    │               Q7 ├── Q7
    │                 │
CEP ┤CEP              │
    │                 │
CET ┤CET          Q7S ├── Cout
    │                 │
OE  ┤OE               │
    │                 │
RCK ┤RCK              │
    │                 │
    └─────────────────┘

CP = entrée d'impulsion d'horloge, MR = Master Reset, CEP/CET = entrées d'autorisation de comptage, OE = autorisation de sortie, RCK = horloge de registre, Q7S = sortie de retenue

Composants associés

  • Compteur 4 bits : compteur plus petit avec plage 0-15
  • Compteur 16 bits : compteur étendu avec plage 0-65535
  • Compteur BCD : compte en séquences de chiffres décimaux
  • Compteur réversible : compteur bidirectionnel avec contrôle de direction
  • Compteur chargeable : compteur avec capacité de chargement parallèle de données
  • Compteur Johnson : registre à décalage avec rétroaction inversée, avec un changement de bit par état
  • Compteur en anneau : registre à décalage avec rétroaction directe, faisant circuler un seul bit
  • Compteur en cascade : plusieurs compteurs connectés pour étendre la plage de comptage
  • Diviseur de fréquence : compteur utilisé spécifiquement pour la division d'horloge
  • Compteur de programme : compteur spécialisé pour le séquencement d'instructions dans les processeurs

school Parcours d'apprentissage

arrow_back Prérequis

arrow_forward Prochaines étapes

help_outline Foire aux questions

Quel est l'intervalle d'un compteur 8 bits ?

Un compteur 8 bits compte de 0 à 255 (décimal) ou de 00000000 à 11111111 (binaire), fournissant 256 états uniques.

play_arrow Exécuter le circuit en direct

Voir d'autres composants