PREVIEW
Comparator (4-bit)

Comparator (4-bit)

Arithmetic signal_cellular_alt_2_bar Intermediate schedule 20 min

Interactive Circuit

Comparateur

Vue d'ensemble

  • Objectif : Le comparateur est un circuit numérique qui compare deux nombres binaires et produit des sorties indiquant leurs valeurs relatives (égales, supérieures ou inférieures). Il détermine la relation entre deux entrées binaires et génère des signaux d'état basés sur cette comparaison.
  • Symbole : Le comparateur est représenté par un bloc rectangulaire avec deux entrées pour les nombres comparés (A et B) et des 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 les opérations de comparaison de valeurs essentielles à l'implémentation de logique conditionnelle, de réseaux de tri et de systèmes de commande.

composant comparateur

Description fonctionnelle

Comportement logique

Le comparateur examine deux entrées binaires 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.

Table de vérité (pour un comparateur 1 bit) :

A B A=B A>B A<B Relation
0 0 1 0 0 Égal
0 1 0 0 1 Inférieur
1 0 0 1 0 Supérieur
1 1 1 0 0 Égal

Remarque : pour les comparateurs multi-bits, la comparaison s'étend sur tous les bits.

Entrées et sorties

  • Entrées :

    • A[n:0] : premier opérande n bits pour la comparaison.
    • B[n:0] : second opérande n bits pour la comparaison.
    • Certaines implémentations peuvent inclure des entrées de commande supplémentaires comme un enable (EN) ou des entrées de mise en cascade pour construire des comparateurs plus grands.
  • Sorties :

    • Égal (=) : sortie 1 bit qui est HIGH lorsque A est égal à B.
    • Supérieur (>) : sortie 1 bit qui est HIGH lorsque A est supérieur à B.
    • Inférieur (<) : sortie 1 bit qui est HIGH lorsque A est inférieur à B.

Paramètres configurables

  • Largeur en bits : nombre de bits des entrées comparées (1 bit, 4 bits, 8 bits, etc.).
  • Mode de comparaison : indique si la comparaison concerne des nombres binaires non signés ou signés (complément à deux).
  • Délai de propagation : temps nécessaire pour que les sorties changent après une modification des entrées.
  • Configuration des sorties : certaines implémentations peuvent avoir des sorties actives à l'état bas ou omettre certains résultats de comparaison.

Représentation visuelle dans DigiSim.io

Le comparateur est affiché sous la forme d'un bloc rectangulaire avec des entrées étiquetées sur le côté gauche (A[n:0], B[n:0]) et des sorties (=, >, <) sur le côté droit. Une fois connecté dans un circuit, le composant indique visuellement le résultat de la comparaison par les valeurs affichées sur ses sorties et par des 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 de magnitude : montre comment la taille relative de valeurs binaires est établie dans les systèmes numériques.
  • Logique combinatoire : présente une application pratique des circuits combinatoires à sorties multiples.
  • Opérations bit à bit : introduit le concept de comparaison bit par bit et la manière dont elle détermine les relations entre nombres.

Objectifs d'apprentissage

  • Comprendre comment les systèmes numériques comparent des valeurs numériques.
  • Apprendre l'implémentation d'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 comparaison de nombres signés et non signés.

Exemples d'utilisation / Scénarios

  • Branchement conditionnel : déterminer s'il faut effectuer un branchement dans un CPU en fonction de la comparaison de valeurs de registres.
  • Réseaux de tri : blocs de construction pour ranger des données par ordre croissant ou décroissant.
  • Détection de seuil : 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 à 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.

Notes techniques

  • Les comparateurs simples 1 bit sont typiquement implémentés à l'aide de portes XOR (pour l'égalité) et de portes ET avec inverseurs (pour les inégalités).
  • Les comparateurs multi-bits peuvent être construits comme des comparateurs à propagation (simples mais plus lents) ou comparateurs parallèles (plus rapides mais plus complexes).
  • Pour la comparaison de nombres signés, le bit de poids fort nécessite un traitement spécial car il représente le signe.
  • La mise en cascade de plusieurs comparateurs permet de comparer des nombres binaires plus larges, au prix d'un délai de propagation accru.
  • Dans DigiSim.io, le comportement du comparateur modélise des composants numériques réels avec une gestion correcte des entrées multi-bits.
  • Pour un fonctionnement à haute vitesse, des techniques look-ahead similaires à celles des additionneurs peuvent être implémentées pour réduire le délai de comparaison.

Applications

  1. Unités arithmétiques et logiques (ALU) dans les processeurs
  2. Comparaison d'adresses dans les systèmes mémoire
  3. Décodage d'instructions dans les CPU
  4. Algorithmes de tri de données
  5. Comparateurs à fenêtre dans les convertisseurs analogique-numérique
  6. Vérification de plage dans les systèmes de sécurité et de validation
  7. Systèmes de vérification de mots de passe
  8. Comparaison de magnitude dans les systèmes de commande
  9. Tests d'égalité dans les processeurs de signaux numériques
  10. Prédiction de branchement dans les processeurs en pipeline

Implémentation

Les comparateurs peuvent être implémentés en utilisant :

  • Des portes logiques de base (ET, OU, NON, XOR)
  • Des CI comparateurs spécialisés (74HC85, 74LS682, etc.)
  • Des dispositifs logiques programmables (FPGA, CPLD)
  • Des fonctions ALU intégrées dans les microprocesseurs
  • Diverses architectures :
    • Comparateurs à propagation (plus simples mais plus lents)
    • Comparateurs parallèles (plus rapides mais plus complexes)
    • Architectures arborescentes (équilibre vitesse/complexité)

Implémentation du circuit

Un comparateur 1 bit de base peut être implémenté avec la logique suivante :

Détection d'égalité

graph LR
    A[A] --> XNOR[XNOR Gate]
    B[B] --> XNOR
    XNOR --> EQ[Equal A=B]

Détection « supérieur à »

graph LR
    A[A] --> AND1[AND Gate]
    BN[B'] --> AND1
    AND1 --> GT[Greater Than A>B]

Détection « inférieur à »

graph LR
    AN[A'] --> AND2[AND Gate]
    B[B] --> AND2
    AND2 --> LT[Less Than A<B]

Pour les comparateurs multi-bits, ces circuits sont combinés avec une logique de mise en cascade appropriée.

Composants associés

  • Comparateur de magnitude : spécialisé dans la comparaison de magnitude de nombres binaires
  • Comparateur d'égalité : se concentre uniquement sur la détermination de l'égalité de deux valeurs
  • Comparateur à fenêtre : détermine si une valeur tombe dans une plage spécifiée
  • ALU : contient une fonctionnalité de comparaison parmi de nombreuses autres opérations
  • Porte XNOR : utilisée pour la comparaison d'égalité bit à bit
  • Soustracteur : peut être utilisé pour la comparaison en examinant le signe de la différence

school Parcours d'apprentissage

arrow_back Prérequis

arrow_forward Prochaines étapes

help_outline Foire aux questions

Comment fonctionne un comparateur de magnitude ?

Il compare deux nombres binaires bit par bit, produisant trois sorties : A>B, A=B, A<B. Une seule sortie est HIGH à la fois.

Où sont utilisés les comparateurs ?

Conditions de saut dans les CPU, circuits de tri, détecteurs min/max et tout circuit devant prendre des décisions basées sur des valeurs relatives.

play_arrow Exécuter le circuit en direct

Voir d'autres composants