PREVIEW
Encoder (8-to-3)

Encoder (8-to-3)

Encoders/Decoders signal_cellular_alt_2_bar Intermediate schedule 20 min

Interactive Circuit

Encodeur 8 vers 3

Vue d'ensemble

  • Objectif : L'encodeur 8 vers 3 est un circuit numérique combinatoire qui convertit huit lignes d'entrée mutuellement exclusives en un code binaire 3 bits, indiquant laquelle des lignes d'entrée est active.
  • Symbole : Typiquement représenté par un bloc rectangulaire avec huit entrées (I0-I7) et trois sorties (Y2, Y1, Y0).
  • Rôle dans DigiSim.io : Sert de composant essentiel de réduction de données, permettant la conversion de signaux one-hot en représentations binaires compactes pour un traitement et une transmission plus efficaces.

composant encodeur 8 vers 3

Description fonctionnelle

Comportement logique

L'encodeur 8 vers 3 détecte laquelle de ses huit lignes d'entrée est active et produit un code binaire 3 bits unique correspondant à l'entrée active. Dans un encodeur standard, une seule entrée doit être active à la fois.

Table de vérité :

Entrées Sorties
I7 I6 I5 I4 I3 I2 I1 I0 Y2 Y1 Y0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1

Remarque : une seule entrée doit être active (haute) à la fois. Plusieurs entrées actives ou toutes les entrées inactives représentent des conditions invalides dans un encodeur de base.

Entrées et sorties

  • Entrées :

    • I0-I7 : huit entrées 1 bit, dont typiquement une seule est active à la fois dans les encodeurs standards.
  • Sorties :

    • Y2 : bit de poids fort (MSB) du code de sortie 3 bits.
    • Y1 : bit du milieu du code de sortie 3 bits.
    • Y0 : bit de poids faible (LSB) du code de sortie 3 bits.

Paramètres configurables

  • Niveau d'activation des entrées : indique si les entrées sont actives à l'état haut ou à l'état bas.
  • Logique de sortie : indique si les sorties suivent la logique positive ou négative.
  • Encodage prioritaire : indique si l'encodeur dispose d'une logique de priorité pour gérer plusieurs entrées actives.
  • Signal de sortie de validité : indique si l'encodeur produit un signal indiquant une condition d'entrée valide.
  • Délai de propagation : temps nécessaire pour que les sorties changent après un changement d'entrée.

Représentation visuelle dans DigiSim.io

L'encodeur 8 vers 3 est affiché sous la forme d'un bloc rectangulaire avec huit broches d'entrée sur le côté gauche (I0-I7) et trois broches de sortie (Y2, Y1, Y0) sur le côté droit. Une fois connecté dans un circuit, le composant indique visuellement l'entrée active et la sortie binaire correspondante par des changements de couleur sur les fils de connexion.

Valeur pédagogique

Concepts clés

  • Encodage binaire : démontre comment plusieurs lignes de signal peuvent être encodées en une représentation binaire plus compacte.
  • Réduction de données : montre comment réduire le nombre de lignes de signaux nécessaires à la représentation de l'information.
  • Conversion de codes : illustre la conversion d'un code one-hot (unaire) en code binaire.
  • Logique combinatoire : présente une application pratique des portes OU dans une fonction numérique utile.
  • Multiplexage de signaux : introduit les concepts liés à la sélection de signaux et à l'identification de canaux.

Objectifs d'apprentissage

  • Comprendre comment les systèmes numériques encodent efficacement plusieurs signaux sous forme binaire.
  • Apprendre la relation entre activation d'entrée et code binaire de sortie correspondant.
  • Reconnaître les défis posés par les conditions d'entrée invalides et les façons de les gérer.
  • Appliquer les concepts d'encodage à la conception de systèmes à câblage réduit et chemins de données simplifiés.
  • Comprendre la dualité logique entre encodeurs et décodeurs dans les systèmes numériques.

Exemples d'utilisation / Scénarios

  • Encodage de clavier : convertir plusieurs entrées clavier en codes binaires pour traitement.
  • Gestion d'interruptions prioritaires : encoder plusieurs sources d'interruption en un vecteur binaire pour un processeur.
  • Traitement d'entrées capteurs : convertir plusieurs activations de capteurs en données binaires compactes.
  • Sélection de banc mémoire : encoder quel banc mémoire est actuellement actif ou adressé.
  • Sélection de périphérique d'entrée : générer des codes binaires identifiant le périphérique d'entrée actif.
  • Encodage d'état : convertir des signaux d'état en représentation binaire compacte dans les machines à états.
  • Commande de multiplexeur : générer des signaux de sélection pour piloter des multiplexeurs à partir de lignes de commande individuelles.

Notes techniques

  • L'encodeur 8 vers 3 implémente les expressions booléennes suivantes : Y0 = I1+I3+I5+I7, Y1 = I2+I3+I6+I7, Y2 = I4+I5+I6+I7.
  • Les encodeurs de base ne gèrent pas bien les entrées multiples actives ; des encodeurs prioritaires sont nécessaires dans ces cas.
  • L'activation de I0 ne peut pas être distinguée de l'état toutes-entrées-inactives sans logique supplémentaire.
  • Certaines implémentations d'encodeurs incluent une sortie « valid » indiquant qu'au moins une entrée est active.
  • Les encodeurs avec logique de priorité produisent le code binaire correspondant à l'entrée active de plus haut numéro.
  • Dans DigiSim.io, le comportement de l'encodeur modélise la fonctionnalité standard avec une génération de sortie correcte pour les entrées actives.

Caractéristiques

  • Configuration des entrées :
    • Huit entrées (I0-I7), dont normalement une seule est active à la fois
    • Entrées actives à l'état haut (1 représente une entrée active)
  • Configuration des sorties :
    • Trois sorties (Y2, Y1, Y0) représentant le code binaire 3 bits
    • Y2 est le bit de poids fort (MSB)
    • Y0 est le bit de poids faible (LSB)
  • Fonctionnalité :
    • Convertit une entrée one-hot (une seule ligne active) en binaire
    • Réduit huit lignes de signaux à trois lignes binaires
  • Délai de propagation :
    • Typiquement 5-15 ns (dépendant de la technologie)
    • Généralement inférieur à celui des décodeurs de taille similaire
  • Fan-Out :
    • Chaque sortie pilote typiquement 10 à 50 portes (dépendant de la technologie)
  • Niveaux logiques :
    • Compatibles avec les familles logiques standard (TTL, CMOS)
  • Complexité du circuit :
    • Moyenne (nécessite plusieurs portes OU)
    • Moins complexe que les circuits décodeurs équivalents
  • Limitations :
    • Les encodeurs de base ont des états invalides (entrées multiples actives)
    • Pas de gestion des entrées toutes à zéro dans les implémentations simples

Méthodes de mise en œuvre

  1. Utilisation de portes OU
    • Chaque bit de sortie est formé en effectuant un OU sur des entrées spécifiques
    • Les expressions booléennes pour chaque sortie :
      • Y0 = I1 + I3 + I5 + I7
      • Y1 = I2 + I3 + I6 + I7
      • Y2 = I4 + I5 + I6 + I7
graph LR
    I1[I1] --> OR0[OR Gate]
    I3[I3] --> OR0
    I5[I5] --> OR0
    I7[I7] --> OR0
    OR0 --> Y0[Y0 LSB]
    
    I2[I2] --> OR1[OR Gate]
    I3 --> OR1
    I6[I6] --> OR1
    I7 --> OR1
    OR1 --> Y1[Y1]
    
    I4[I4] --> OR2[OR Gate]
    I5 --> OR2
    I6 --> OR2
    I7 --> OR2
    OR2 --> Y2[Y2 MSB]

Motif d'encodage : chaque bit de sortie est HIGH lorsqu'une entrée associée à cette position de bit est active.

  1. Implémentation en encodeur prioritaire

    • Gère les cas où plusieurs entrées sont actives
    • Produit le code de l'entrée active de plus haute priorité
    • Utilise une logique de priorité supplémentaire et des enables
  2. Utilisation de multiplexeurs

    • Peut être implémenté avec des multiplexeurs et des entrées fixes
    • Moins courant mais utile dans des architectures FPGA spécifiques
  3. Circuits intégrés

    • Disponibles dans les familles logiques 74xx (par exemple 74148)
    • Souvent implémentés avec des capacités d'encodage prioritaire
    • Certaines versions incluent des entrées d'enable et des drapeaux de validité

Applications

  1. Encodage d'adresses

    • Conversion de plusieurs lignes de sélection en adresses binaires
    • Encodage de sélection de banc mémoire
    • Sélection de registre dans les processeurs
  2. Traitement d'entrées

    • Conversion de multiples entrées capteurs en valeurs binaires
    • Encodage clavier dans les systèmes informatiques
    • Encodage de sélection d'entrée utilisateur
  3. Commande de multiplexeur

    • Génération de signaux de sélection pour de plus grands systèmes de multiplexeurs
    • Sélection de canal dans les systèmes de communication
    • Sélection de source d'entrée dans les systèmes numériques
  4. Traitement d'interruptions

    • Encodage de plusieurs sources d'interruption en valeurs binaires
    • Gestion d'interruptions prioritaires dans les systèmes processeur
    • Identification de périphériques dans les systèmes multi-périphériques
  5. Compression de données

    • Forme basique d'encodage pour réduire les lignes de signaux
    • Conversion de codes one-hot en représentation binaire
    • Élément de schémas d'encodage plus larges dans les systèmes de communication
  6. Instrumentation numérique

    • Conversion de plusieurs sélections de calibres en signaux de commande binaires
    • Encodage de sélection de mode dans les équipements de test
    • Sélection de format d'affichage sur les afficheurs numériques
  7. Implémentation de machine à états

    • Encodage des transitions d'état dans les contrôleurs numériques
    • Réduction de la représentation d'état dans les circuits séquentiels
    • Décodage de commandes dans les unités de contrôle

Limitations

  1. Résolution des conflits d'entrées

    • Les encodeurs standards ont un comportement indéfini avec plusieurs entrées actives
    • Nécessitent un encodage prioritaire pour un fonctionnement fiable avec plusieurs entrées
  2. Condition d'entrées toutes à zéro

    • Les encodeurs de base ne peuvent pas distinguer toutes-entrées-inactives de I0 active
    • Peuvent nécessiter une sortie de signal valide supplémentaire pour un fonctionnement correct
  3. Variations du délai de propagation

    • Différents chemins peuvent avoir des délais différents
    • Peut entraîner des glitchs lors des transitions d'entrée
  4. Sensibilité au bruit

    • Susceptibles aux erreurs d'encodage causées par le bruit
    • Peuvent nécessiter un filtrage d'entrée dans des environnements bruyants
  5. Extension limitée des entrées

    • Difficile à mettre en cascade pour de plus grands nombres d'entrées
    • Nécessite une logique supplémentaire pour plus de 8 entrées

Détail d'implémentation du circuit

Expressions booléennes

L'encodeur 8 vers 3 peut être décrit par les expressions booléennes suivantes :

Y0 = I1 + I3 + I5 + I7
Y1 = I2 + I3 + I6 + I7
Y2 = I4 + I5 + I6 + I7

Où :

  • I0 à I7 sont les entrées
  • Y0, Y1, Y2 sont les sorties
  • « + » représente le OU logique

Logique d'encodeur prioritaire

Pour la fonctionnalité d'encodage prioritaire, une logique supplémentaire garantit que seule l'entrée de plus haute priorité affecte la sortie :

Y0 = (I1 AND NOT(I2, I4, I6)) OR (I3 AND NOT(I4, I6)) OR (I5 AND NOT(I6)) OR I7
Y1 = (I2 AND NOT(I4, I6)) OR (I3 AND NOT(I4, I6)) OR I6 OR I7
Y2 = I4 OR I5 OR I6 OR I7

Logique de sortie de validité

Pour détecter la condition d'entrée valide (au moins une entrée active) :

VALID = I0 OR I1 OR I2 OR I3 OR I4 OR I5 OR I6 OR I7

Composants associés

  • Encodeur 4 vers 2 : version plus simple encodant quatre entrées en deux sorties
  • Encodeur 16 vers 4 : version plus grande encodant seize entrées en quatre sorties
  • Encodeur prioritaire : encodeur amélioré qui résout plusieurs entrées actives
  • Décodeur 3 vers 8 : effectue l'opération inverse, convertissant le binaire en code one-hot
  • Encodeur BCD : encodeur spécial qui convertit les entrées décimales en BCD
  • Multiplexeur : souvent utilisé avec les encodeurs pour la sélection de données basée sur des valeurs encodées
  • Encodeur binaire : terme général pour les encodeurs convertissant en représentation binaire
  • Encodeur de clavier matriciel : encodeur spécialisé pour le traitement des entrées clavier

school Parcours d'apprentissage

arrow_back Prérequis

arrow_forward Prochaines étapes

help_outline Foire aux questions

Comment fonctionne l'encodage de priorité 8 vers 3 ?

8 entrées sont encodées en 3 bits (binaire 0-7). L'entrée 7 a la priorité la plus haute. Si les entrées 3 et 7 sont toutes deux actives, la sortie affiche 111 (7).

play_arrow Exécuter le circuit en direct

Voir d'autres composants