Comparateur 8 bits
Vue d'ensemble
- Objectif : Le comparateur 8 bits est un circuit numérique qui compare deux nombres binaires 8 bits (A et B) et détermine leur amplitude relative, en générant des signaux de sortie qui indiquent si A est égal à B, supérieur à B ou inférieur à B.
- Symbole : Représenté par un bloc rectangulaire avec deux entrées 8 bits pour les nombres comparés (A[7:0] et B[7:0]) et trois sorties indiquant le résultat de la comparaison (A=B, A>B, A<B).
- Rôle dans DigiSim.io : Sert de composant fondamental de prise de décision dans les circuits numériques, permettant des opérations de comparaison de valeurs essentielles à la mise en œuvre de la logique conditionnelle, des réseaux de tri et des systèmes de contrôle.

Description fonctionnelle
Comportement logique
Le comparateur 8 bits examine deux entrées binaires 8 bits et détermine leur relation, en activant la ligne de sortie appropriée pour indiquer si la première entrée est égale, supérieure ou inférieure à la seconde entrée.
Table de vérité :
| Condition de comparaison | Sortie A=B | Sortie A>B | Sortie A<B |
|---|---|---|---|
| A = B | 1 | 0 | 0 |
| A > B | 0 | 1 | 0 |
| A < B | 0 | 0 | 1 |
Remarque : la comparaison est effectuée selon la valeur binaire des entrées A[7:0] et B[7:0], où A7/B7 sont les bits les plus significatifs.
Entrées et sorties
Entrées :
- A[7:0] : premier opérande 8 bits pour la comparaison.
- B[7:0] : deuxième opérande 8 bits pour la comparaison.
- Certaines implémentations peuvent inclure des entrées de contrôle supplémentaires comme un signal d'activation (EN) ou des entrées de mise en cascade pour construire des comparateurs plus grands.
Sorties :
- Égalité (A=B) : sortie 1 bit qui est HIGH lorsque A est égal à B.
- Supérieur (A>B) : sortie 1 bit qui est HIGH lorsque A est supérieur à B.
- Inférieur (A<B) : sortie 1 bit qui est HIGH lorsque A est inférieur à B.
Paramètres configurables
- Mode de comparaison : si la comparaison s'applique à des nombres binaires non signés ou signés (complément à deux).
- Logique de sortie : si les sorties sont actives à l'état haut ou actives à l'état bas.
- Délai de propagation : le temps que mettent les sorties à changer après une variation des entrées.
- Configuration de mise en cascade : si le comparateur peut être mis en cascade pour comparer des nombres plus grands.
Représentation visuelle dans DigiSim.io
Le comparateur 8 bits est affiché sous la forme d'un bloc rectangulaire avec des entrées étiquetées sur le côté gauche (A[7:0], B[7:0]) et des sorties (A=B, A>B, A<B) sur le côté droit. Lorsqu'il est connecté dans un circuit, le composant indique visuellement le résultat de la comparaison via les valeurs affichées sur ses sorties et les changements de couleur sur les fils de connexion.
Valeur pédagogique
Concepts clés
- Comparaison binaire : démontre comment les circuits numériques déterminent la relation entre des nombres binaires.
- Prise de décision : illustre comment les ordinateurs effectuent des comparaisons qui pilotent les opérations conditionnelles.
- Détermination d'amplitude : montre comment la taille relative des valeurs binaires est établie dans les systèmes numériques.
- Logique combinatoire : présente une application pratique des circuits combinatoires à plusieurs sorties.
- Contrôle de logique séquentielle : introduit comment les résultats de comparaison peuvent contrôler le flux d'opérations dans les circuits séquentiels.
Objectifs d'apprentissage
- Comprendre comment les systèmes numériques comparent des valeurs numériques.
- Apprendre l'implémentation des opérations de comparaison à l'aide de portes logiques.
- Reconnaître comment les résultats de comparaison pilotent la prise de décision dans les systèmes numériques.
- Appliquer les concepts de comparateur à la conception de circuits de sélection, de chercheurs de min/max et de détecteurs de plage.
- Comprendre la différence entre la comparaison de nombres non signés et signés.
Exemples d'utilisation / Scénarios
- Branchement conditionnel : déterminer s'il faut prendre une branche dans un CPU en comparant les valeurs de registres.
- Réseaux de tri : blocs de construction pour ordonner les données par ordre croissant ou décroissant.
- Détection de limite : identifier quand une valeur dépasse ou tombe en dessous de seuils spécifiques.
- Comparaison d'adresses : déterminer quand une adresse mémoire correspond à une valeur spécifique pour le décodage.
- Comparaison de fenêtre : détecter quand une valeur tombe dans une plage spécifique.
- Détection de zéro : identifier quand un résultat de calcul est égal à zéro.
- Systèmes de contrôle : comparer les points de consigne aux valeurs réelles dans les boucles de contrôle à rétroaction.
Notes techniques
- Le comparateur 8 bits peut être implémenté à l'aide d'une approche hiérarchique, comparant du bit le plus significatif au moins significatif.
- Pour les nombres non signés, la comparaison est simple, mais les nombres signés nécessitent un traitement particulier du bit le plus significatif.
- Le délai de propagation augmente avec le nombre de bits en raison de la nature en cascade de la plupart des implémentations de comparateurs.
- La mise en cascade de comparateurs permet de comparer des nombres plus larges que 8 bits, au prix d'un délai accru.
- Dans les systèmes à haute vitesse, des techniques d'anticipation similaires à celles des additionneurs peuvent être implémentées pour réduire le délai de comparaison.
- Dans DigiSim.io, le comportement du comparateur modélise des composants numériques réels avec une gestion appropriée des entrées multi-bits.
Caractéristiques
Configuration des entrées :
- Deux entrées binaires 8 bits (A[7:0] et B[7:0])
- Chaque entrée représente un nombre binaire (0-255)
- Accepte généralement les niveaux logiques numériques standard
- Peut inclure des entrées de mise en cascade dans les conceptions extensibles
- Charge d'entrée cohérente avec la famille logique
- Peut inclure des entrées de contrôle supplémentaires dans certaines implémentations
Configuration des sorties :
- Trois sorties principales indiquant le résultat de la comparaison :
- Égalité (A=B) : haute lorsque tous les bits correspondants concordent
- Supérieur (A>B) : haute lorsque A est numériquement plus grand que B
- Inférieur (A<B) : haute lorsque A est numériquement plus petit que B
- Les sorties fournissent généralement des niveaux logiques standard
- Peut inclure des options collecteur ouvert / drain ouvert pour les configurations OR câblées
- Capable de piloter des charges numériques standard
- Certaines implémentations peuvent fournir des sorties complémentaires
- Trois sorties principales indiquant le résultat de la comparaison :
Fonctionnalité :
- Effectue la comparaison simultanée de deux nombres 8 bits
- Évalue à la fois l'amplitude et l'égalité en une seule opération
- La comparaison binaire traite les entrées comme des nombres non signés par défaut
- Comparaison signée disponible dans les implémentations spécialisées
- Mise en cascade possible pour comparer des nombres plus larges
- Les états de sortie sont mutuellement exclusifs (une seule active à la fois)
- Implémentation logique combinatoire (sans horloge requise)
Délai de propagation :
- Entrée vers sortie : 15-35 ns typique
- Le délai augmente avec la largeur de bits en raison de la propagation de retenue
- Le chemin critique passe généralement par la détermination A>B et A<B
- La détection d'égalité est généralement plus rapide que la détection d'inégalité
- Dépendant de la technologie (TTL, CMOS, etc.)
- Les variations de température et de tension affectent le timing
- Les conceptions en cascade ont un délai cumulé
Fan-Out :
- Pilote généralement 10-20 charges standard
- La charge de sortie affecte le délai de propagation
- Peut nécessiter un tampon pour les applications à fan-out élevé
- Cohérent avec la famille logique utilisée
Consommation électrique :
- Puissance statique minimale dans les implémentations CMOS
- Puissance dynamique proportionnelle à l'activité de commutation
- La consommation augmente avec la fréquence de fonctionnement
- Une complexité modérée entraîne des besoins en énergie modérés
- Dépendant de la technologie (CMOS a la plus faible puissance statique)
- La puissance augmente avec les fonctionnalités supplémentaires
Complexité du circuit :
- Complexité modérée
- Nécessite une logique étendue pour la comparaison bit par bit
- La complexité d'implémentation augmente avec la largeur de bits
- Complexité supplémentaire pour la capacité de mise en cascade
- La comparaison d'amplitude est plus complexe que le test d'égalité
- Les implémentations intégrées réduisent le nombre de composants externes
Méthodes d'implémentation
Implémentation au niveau des portes
- Construit à partir de portes logiques de base (AND, OR, NOT, XOR)
- Circuits séparés pour la comparaison d'égalité et d'amplitude
- Les portes XOR sont généralement utilisées pour la détection d'égalité
- Logique en cascade pour la comparaison d'amplitude
- Conceptuellement simple mais nécessite de nombreuses portes
- L'implémentation pédagogique illustre les principes de comparaison
Logique de comparaison d'amplitude
- Utilise une logique de décision en cascade du MSB au LSB
- Privilégie les différences de bits d'ordre supérieur
- Implémentation en arbre de décision
- Chaque comparaison de bit dépend des résultats des bits supérieurs
- Plus efficace qu'une comparaison complète bit par bit
- Courante dans les implémentations de logique personnalisées
Implémentation par circuit intégré
- Circuits intégrés comparateurs dédiés
- Exemples : 74HC85 (4 bits, mise en cascade possible), 74HC688 (égalité 8 bits)
- Diverses fonctionnalités : entrées/sorties de cascade, versions égalité uniquement
- Disponibles dans différentes familles logiques (TTL, CMOS, etc.)
- Réduction du nombre de composants et de l'espace sur la carte
- Caractéristiques temporelles bien définies
Comparateurs 4 bits en cascade
- Deux comparateurs 4 bits combinés à une logique de contrôle
- Comparateurs 4 bits disponibles dans le commerce utilisés comme blocs de construction
- Logique supplémentaire pour combiner les résultats
- Comparateurs plus petits comparant les quartets supérieur et inférieur
- Résultats combinés en fonction de la signification
- Approche économique utilisant des composants standard
Implémentation à base de soustracteur
- Soustraction de B de A à l'aide d'un soustracteur binaire
- Les drapeaux de signe et de zéro du résultat déterminent la relation
- Efficace lorsqu'un soustracteur est déjà disponible
- Similaire à la façon dont les CPU effectuent les comparaisons
- L'implémentation à double usage partage le matériel arithmétique
- Courant dans les conceptions d'UAL
Implémentation FPGA/ASIC
- Implémenté à l'aide de structures LUT optimisées
- Tire parti des chaînes de retenue rapides dans les FPGA
- Peut être optimisé pour la vitesse ou la surface
- Délai potentiellement plus faible que les implémentations discrètes
- Souvent synthétisé à partir de descriptions HDL
- Économe en ressources dans la logique programmable moderne
Comparateurs spécialisés
- Comparateurs signés pour les nombres en complément à deux
- Comparateurs d'amplitude uniquement pour la comparaison de valeurs absolues
- Comparateurs de fenêtre pour tester si une valeur est dans une plage
- Comparateurs de seuil avec référence programmable
- Comparateurs flous avec bandes de tolérance
- Optimisations spécifiques à l'application
Applications
Opérations arithmétiques et logiques
- Branchement conditionnel dans les CPU
- Évaluation de résultats dans les UAL
- Détection de débordement / sous-débordement
- Vérification de plage pour les opérations
- Test de conditions limites
- Logique de décision pour les opérations mathématiques
Tri et recherche de données
- Élément de comparaison dans les réseaux de tri
- Implémentations de recherche binaire
- Opérations de requête de base de données
- Encodeurs de priorité et arbitres
- Détection de valeur maximale / minimale
- Filtres médians
Systèmes de contrôle
- Comparaison de point de consigne dans les boucles de contrôle
- Vérification de limite et détection de frontière
- Détection de franchissement de seuil
- Évaluation d'amplitude d'erreur
- Conditions d'enclenchement de sécurité
- Prise de décision en contrôle de processus
Traitement numérique du signal
- Détection de seuil d'amplitude
- Algorithmes de détection de pic
- Comparaison de niveau de signal
- Correspondance de motifs
- Contrôle de filtre adaptatif
- Vérification de plage pour les valeurs de signal
Systèmes de mémoire et d'E/S
- Décodage d'adresse et vérification de plage
- Comparaison d'adresse mémoire
- Fonctions d'unité de gestion de mémoire
- Comparaison de tags de cache
- Reconnaissance d'adresse de port d'E/S
- Vérification de limite DMA
Interfaces utilisateur et écrans
- Validation d'entrée
- Vérification de plage pour les entrées utilisateur
- Détection de seuil pour les entrées analogiques
- Détermination de niveau de barre graphique
- Détection de limite d'alarme
- Comparaison de sélection utilisateur
Test et vérification
- Comparaison du résultat attendu et réel
- Test de balayage de frontière
- Vérification de tolérance
- Détermination réussite / échec
- Vérification d'étalonnage
- Test fonctionnel des systèmes numériques
Limitations
Délai de propagation
- Délai significatif pour les comparaisons larges
- Limitations de propagation de retenue à haute vitesse
- La mise en cascade augmente le délai proportionnellement
- Chemin de timing critique dans les systèmes à haute vitesse
- Variations de délai avec la température et la tension
- Peut limiter les performances du système dans les applications critiques en temps
Contraintes de taille et de largeur
- Largeur fixe 8 bits nécessitant une mise en cascade pour des comparaisons plus larges
- Complexité de mise en cascade qui augmente avec la largeur
- Logique supplémentaire nécessaire pour la mise en cascade
- Dégradation des performances en cascade
- Complexité d'interconnexion dans les solutions multi-puces
- Les comparateurs dédiés plus larges peuvent être plus efficaces
Comparaison non signée vs signée
- Les comparateurs standard supposent des nombres non signés
- Considération particulière nécessaire pour les comparaisons signées
- Logique différente requise pour la comparaison en complément à deux
- La gestion du bit de signe ajoute de la complexité
- Peut nécessiter différentes implémentations pour différents types de nombres
- Les comparateurs universels sont plus complexes
Sensibilité au bruit
- Les transitions simultanées sur plusieurs entrées peuvent provoquer des parasites
- Résultat momentanément invalide pendant les changements d'entrée
- Peut nécessiter une synchronisation d'entrée dans les environnements bruyants
- Problèmes de métastabilité lorsqu'utilisé avec des entrées asynchrones
- Critique dans les applications de sécurité
- Peut nécessiter un filtrage ou une hystérésis
Compromis d'implémentation
- Compromis vitesse vs surface dans la conception
- La consommation augmente avec des implémentations plus rapides
- Une plus grande précision nécessite plus de ressources
- Décisions entre mise en cascade et implémentation monolithique
- La sélection de la technologie a un impact sur les capacités
- Considérations d'équilibre coût / complexité
Détail d'implémentation du circuit
Comparateur d'égalité 8 bits
graph LR
A0[A0] --> XOR0[XOR]
B0[B0] --> XOR0
A1[A1] --> XOR1[XOR]
B1[B1] --> XOR1
A2[A2] --> XOR2[XOR]
B2[B2] --> XOR2
A7[A7] --> XOR7[XOR]
B7[B7] --> XOR7
XOR0 --> NOR[NOR Gate]
XOR1 --> NOR
XOR2 --> NOR
XOR7 --> NOR
NOR --> EQ[A=B Output]
Logique : XOR sort 0 lorsque les bits correspondent, NOR sort 1 lorsque tous les XOR sont à 0 (tous les bits égaux).
Comparateur d'égalité 8 bits 74HC688
Configuration des broches :
| Groupe de broches | Pins | Fonction |
|---|---|---|
| Entrées A | P0-P7 | Entrée A 8 bits |
| Entrées B | Q0-Q7 | Entrée B 8 bits |
| Activation | /E | Activation active à l'état bas |
| Sortie | P=Q | Sortie d'égalité active à l'état bas |
| Alimentation | VCC, GND | +5 V et masse |
Fonctionnement :
- P=Q = LOW : lorsque /E=LOW ET tous les bits correspondent (P0=Q0, P1=Q1, ..., P7=Q7)
- P=Q = HIGH : lorsque désactivé (/E=HIGH) OU qu'un bit diffère
- Cas d'utilisation : comparaison rapide d'octets, décodage d'adresse
Comparateurs d'amplitude 4 bits 74HC85 en cascade
Configuration en cascade pour la comparaison 8 bits :
graph LR
A47[A4-A7<br/>Lower 4 bits] --> CMP1[74HC85<br/>Comparator 1]
B47[B4-B7<br/>Lower 4 bits] --> CMP1
A03[A0-A3<br/>Upper 4 bits] --> CMP2[74HC85<br/>Comparator 2]
B03[B0-B3<br/>Upper 4 bits] --> CMP2
CMP1 -->|A>B| CMP2
CMP1 -->|A=B| CMP2
CMP1 -->|A<B| CMP2
CMP2 --> OUT[Final Outputs<br/>A>B, A=B, A<B]
Connexion en cascade :
| Comparateur | Entrées | Entrées en cascade | Fonction |
|---|---|---|---|
| CMP1 (MSB) | A4-A7, B4-B7 | IA>B=1, IA=B=1, IA<B=0 | Compare les 4 bits supérieurs |
| CMP2 (LSB) | A0-A3, B0-B3 | À partir des sorties CMP1 | Compare les 4 bits inférieurs |
Fonctionnement : le résultat du comparateur de MSB se propage en cascade vers le comparateur de LSB pour la décision finale.
Composants associés
- Comparateur 4 bits : version plus petite pour les comparaisons à l'échelle du quartet
- Comparateur 16 bits : version étendue pour les comparaisons à l'échelle du mot
- Comparateur d'amplitude : détermine uniquement la relation supérieur / inférieur
- Comparateur d'égalité : teste uniquement l'égalité entre les entrées
- Comparateur de fenêtre : teste si une valeur est dans une plage spécifiée
- Soustracteur numérique : peut être utilisé pour implémenter des fonctions de comparaison
- UAL (Unité Arithmétique et Logique) : inclut souvent des opérations de comparaison
- Encodeur de priorité : détermine l'entrée active de plus haute priorité
- Multiplexeur numérique : souvent piloté par les sorties d'un comparateur
- Détecteur de zéro : comparateur d'égalité spécialisé testant le zéro