PREVIEW
Decoder (3-to-8)

Decoder (3-to-8)

Encoders/Decoders signal_cellular_alt_2_bar Intermediate schedule 20 min

Interactive Circuit

Décodeur 3 vers 8

Vue d'ensemble

  • Objectif : Le décodeur 3 vers 8 est un circuit numérique combinatoire qui convertit un code binaire d'entrée 3 bits en huit lignes de sortie mutuellement exclusives, en activant exactement une ligne de sortie en fonction de la valeur d'entrée.
  • Symbole : Typiquement représenté par un bloc rectangulaire avec trois entrées binaires (A0, A1, A2), une entrée d'activation (EN) et huit sorties (Y0-Y7).
  • Rôle dans DigiSim.io : Sert de bloc de construction essentiel dans les systèmes numériques pour le décodage d'adresses, la sélection mémoire, le démultiplexage de données et la génération de signaux de commande.

composant décodeur 3 vers 8

Description fonctionnelle

Comportement logique

Le décodeur 3 vers 8 « décode » l'information binaire en un format de sortie one-hot, où une seule des huit lignes de sortie possibles est active pour chaque combinaison d'entrée unique. Lorsqu'il est activé, la ligne de sortie correspondant à la valeur binaire d'entrée est activée, tandis que toutes les autres sorties restent inactives.

Table de vérité :

Enable A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 X X X 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0 0 0 1 0
1 0 1 0 0 0 0 0 0 1 0 0
1 0 1 1 0 0 0 0 1 0 0 0
1 1 0 0 0 0 0 1 0 0 0 0
1 1 0 1 0 0 1 0 0 0 0 0
1 1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0

Remarque : X signifie « peu importe ». Certaines implémentations utilisent des sorties actives à l'état bas ou un enable actif à l'état bas, inversant la logique de sortie présentée ci-dessus.

Entrées et sorties

  • Entrées :

    • A0 : bit de poids faible (LSB) de l'entrée binaire 3 bits.
    • A1 : bit du milieu de l'entrée binaire 3 bits.
    • A2 : bit de poids fort (MSB) de l'entrée binaire 3 bits.
    • EN : entrée d'activation contrôlant l'activité du décodeur.
  • Sorties :

    • Y0-Y7 : huit sorties mutuellement exclusives, dont une seule est active à la fois lorsque le décodeur est activé. Y0 correspond à l'entrée binaire 000, Y1 à 001, et ainsi de suite jusqu'à Y7 pour 111.

Paramètres configurables

  • Logique de sortie : indique si les sorties sont actives à l'état haut ou à l'état bas.
  • Logique d'activation : indique si l'entrée enable est active à l'état haut ou à l'état bas.
  • Activations multiples : certaines implémentations prennent en charge plusieurs entrées d'activation (avec fonctionnalité ET/OU).
  • Délai de propagation : temps nécessaire pour que les sorties changent après une modification des entrées.

Représentation visuelle dans DigiSim.io

Le décodeur 3 vers 8 est affiché sous la forme d'un bloc rectangulaire avec des broches d'entrée (A0, A1, A2, EN) sur le côté gauche et huit broches de sortie (Y0-Y7) sur le côté droit. Une fois connecté dans un circuit, le composant indique visuellement la sortie active par des changements de couleur sur les fils de connexion.

Valeur pédagogique

Concepts clés

  • Décodage binaire : démontre comment les systèmes numériques convertissent des codes binaires compacts en lignes de commande individuelles.
  • Encodage one-hot : montre comment les valeurs binaires peuvent être représentées dans un format où un seul bit est actif.
  • Décodage d'adresses : illustre une technique fondamentale utilisée dans les systèmes mémoire et E/S.
  • Démultiplexage de signaux : présente le concept de routage de signaux basé sur l'adressage binaire.
  • Logique combinatoire : fournit un exemple pratique de conception de circuits combinatoires utilisant des portes ET et NON.

Objectifs d'apprentissage

  • Comprendre comment les valeurs binaires peuvent être décodées en signaux de sortie mutuellement exclusifs.
  • Apprendre la relation entre adressage binaire et sélection de composants dans les systèmes numériques.
  • Reconnaître comment les décodeurs permettent un contrôle efficace de plusieurs sous-systèmes avec un minimum de lignes d'entrée.
  • Appliquer les concepts de décodage à l'adressage mémoire, à la sélection de périphériques et à la génération de signaux de commande.
  • Comprendre comment les décodeurs peuvent être mis en cascade ou combinés pour créer des structures de décodage plus grandes.

Exemples d'utilisation / Scénarios

  • Sélection de puce mémoire : utiliser le décodeur pour sélectionner l'une des huit puces mémoire en fonction des bits d'adresse.
  • Adressage de périphériques E/S : activer un périphérique spécifique parmi huit options possibles.
  • Décodage d'instructions : générer des signaux de commande à partir de codes d'opération dans un processeur.
  • Commande d'afficheurs multiplexés : sélectionner quel chiffre activer dans un système d'affichage multi-chiffres.
  • Sélection de points de test : acheminer un signal de test vers l'un des huit points de test possibles.
  • Implémentation de machine à états : générer des signaux de commande spécifiques à un état dans un contrôleur numérique.
  • Routage de données : diriger les données vers l'une des huit destinations possibles à partir d'un sélecteur 3 bits.

Notes techniques

  • Le décodeur 3 vers 8 peut être implémenté à l'aide de trois inverseurs et de huit portes ET à 4 entrées.
  • Chaque ligne de sortie suit la fonction booléenne : Y(n) = EN • An • Am • Ak (où n est le numéro de la sortie, et An, Am, Ak les bits d'adresse ou leurs compléments).
  • Quelques implémentations en circuit intégré courantes incluent le 74138 (décodeur 3 vers 8 avec sorties actives à l'état bas) et le 74238 (décodeur 3 vers 8 avec sorties actives à l'état haut).
  • La mise en cascade de deux décodeurs 3 vers 8 avec un bit d'adresse supplémentaire permet de créer un décodeur 4 vers 16.
  • Le délai de propagation est typiquement de 10 à 25 ns dans les implémentations en circuit intégré standard, selon la technologie.
  • Dans DigiSim.io, le décodeur modélise précisément le fonctionnement des CI décodeurs standard avec une activation correcte des sorties.

Caractéristiques

  • Configuration des entrées :

    • Trois entrées binaires d'adresse (A0, A1, A2)
    • Entrée d'activation optionnelle (EN)
    • Charge d'entrée cohérente avec la famille logique utilisée
    • Niveaux logiques standard (typiquement compatibles TTL ou CMOS)
    • Peut inclure un enable actif à l'état bas dans certaines implémentations
    • Peut inclure plusieurs entrées d'activation (fonction ET/OU)
    • Protection des entrées contre les décharges électrostatiques généralement présente
  • Configuration des sorties :

    • Huit sorties mutuellement exclusives (Y0-Y7)
    • Sorties actives à l'état haut ou à l'état bas selon l'implémentation
    • Encodage one-hot (une seule sortie active à la fois lorsque activé)
    • Toutes les sorties inactives lorsque le décodeur est désactivé
    • Capable de piloter des charges numériques standard
    • Peut inclure des variantes à collecteur ouvert/drain ouvert pour la fonctionnalité OU câblé
    • Certaines implémentations comportent des sorties verrouillées
    • La charge en sortie affecte le délai de propagation
  • Fonctionnalité :

    • Convertit un code binaire 3 bits en l'une des huit lignes de sortie
    • Sorties mutuellement exclusives (encodage one-hot)
    • L'entrée d'activation contrôle le fonctionnement global
    • Fonctionnement combinatoire (pas d'horloge requise)
    • Peut être mis en cascade pour des décodeurs plus grands
    • Convertisseur binaire vers unaire
    • Souvent utilisé avec des sorties actives à l'état bas pour la sélection de puces
    • Sortie déterminée uniquement par l'état actuel de l'entrée
  • Délai de propagation :

    • Entrée vers sortie : typiquement 7-20 ns
    • Enable vers sortie : typiquement 8-25 ns
    • Dépendant de la technologie (TTL, CMOS, etc.)
    • Un délai cohérent sur toutes les lignes de sortie est souhaitable
    • Paramètre critique dans les systèmes mémoire à haute vitesse
    • Influencé par la charge en sortie
    • Sensible à la température et à la tension
    • Affecte le timing du système et les exigences de setup d'adresse
  • Fan-out :

    • Pilote typiquement 10 à 20 charges standard
    • Capacité de courant en sortie définie par la famille logique
    • Peut nécessiter une mise en tampon pour les situations à fort fan-out
    • Paramètre critique pour les applications de chip select
    • Les sorties actives doivent fournir un courant suffisant pour les périphériques cibles
    • Cohérent avec les spécifications de la famille logique
    • Peut varier entre dispositifs d'une même famille
  • Consommation électrique :

    • Exigences en puissance faibles à modérées
    • Puissance statique minimale dans les implémentations CMOS
    • La puissance dynamique augmente avec la fréquence de commutation
    • Proportionnelle au nombre de sorties actives
    • Dépendante de la technologie (CMOS offrant la plus faible puissance statique)
    • La consommation augmente avec la charge fan-out
    • Valeurs typiques : 5-25 mW en activité, < 1 mW en veille (CMOS)
  • Complexité du circuit :

    • Complexité modérée
    • Implémenté avec des portes logiques de base
    • Implémentations à base de ET ou de NON-ET courantes
    • Nécessite 8 chemins de décodage distincts
    • Logique supplémentaire pour la fonction d'activation
    • Les implémentations intégrées réduisent le nombre de composants externes
    • Complexité minimale par rapport à la fonctionnalité fournie

Méthodes de mise en œuvre

  1. Mise en œuvre au niveau des portes

    • Construit à partir de portes logiques de base (ET, NON)
    • Chaque sortie nécessite une porte ET à 4 entrées (3 entrées d'adresse + enable)
    • Les inverseurs d'entrée génèrent les signaux compléments si nécessaire
    • Signal d'activation commun à toutes les sorties
    • Implémentation directe de la fonction de décodage
    • Exemple pédagogique clair du fonctionnement d'un décodeur
    • Simple mais nécessite de nombreuses portes
    • Structure régulière qui simplifie l'agencement
  2. Implémentation NAND/NOR

    • Utilise des portes NAND ou NOR avec des inversions appropriées
    • Souvent plus efficace dans certaines familles logiques
    • Peut produire naturellement des sorties actives à l'état bas
    • Courante dans les implémentations TTL
    • Tire parti des types de portes courants dans la technologie
    • Peut réduire le nombre de composants
    • Peut offrir de meilleures performances
    • Approche standard dans de nombreux circuits intégrés
  3. Implémentation en circuit intégré

    • CI décodeurs dédiés : 74xx138 (décodeur 3 vers 8)
    • Diverses fonctionnalités : enables, verrous, collecteur ouvert
    • Disponibles dans différentes familles logiques
    • Timing et charge bien caractérisés
    • Interfaces et brochages standard
    • Souvent utilisés pour le décodage d'adresses mémoire et périphériques
    • Plusieurs entrées d'activation pour la mise en cascade
    • Solution rentable et compacte
  4. Décodeurs 2 vers 4 en cascade

    • Deux décodeurs 2 vers 4 avec contrôle d'activation
    • Le MSB sélectionne quel décodeur est actif
    • Approche plus modulaire
    • Utilise des composants plus petits et courants
    • Potentiellement utile lorsque des décodeurs 2 vers 4 sont déjà disponibles
    • Le décodage à deux niveaux peut avoir des implications de timing
    • Démontre les principes de mise en cascade des décodeurs
    • Bloc de construction pour des décodeurs plus grands
  5. Implémentation PLA/ROM

    • Approche par réseau logique programmable
    • Utilise une structure ET-OU
    • Utilisée dans les implémentations FPGA et CPLD
    • Configurable pour divers schémas de décodage
    • Flexible pour des schémas d'adressage personnalisés
    • Plus complexe mais très polyvalente
    • Courante dans les dispositifs programmables modernes
    • Peut être optimisée pour la vitesse ou l'utilisation des ressources
  6. Implémentation à base de démultiplexeur

    • Démultiplexeur 1 vers 8 avec entrée maintenue à l'état haut
    • Les entrées d'adresse contrôlent le routage
    • Fonctionnellement équivalente à un décodeur
    • Perspective alternative sur la fonction de décodage
    • Peut tirer parti de composants démultiplexeurs existants
    • Illustre la relation entre décodage et démultiplexage
    • Peut offrir des avantages de conception ou de ressources dans certains contextes
  7. Implémentation à base de multiplexeur

    • Des multiplexeurs configurés peuvent implémenter des fonctions de décodeur
    • Approche moins intuitive mais polyvalente
    • Courante dans les implémentations FPGA
    • Tire efficacement parti des ressources disponibles
    • Peut être préférée lorsque les multiplexeurs sont abondants
    • Démontre l'équivalence fonctionnelle de différentes structures
    • Technique d'implémentation avancée

Applications

  1. Décodage d'adresses mémoire

    • Sélection de puces RAM/ROM
    • Activation de banques mémoire
    • Partitionnement de l'espace d'adressage
    • Sélection d'E/S mappées en mémoire
    • Sélection de voie de cache
    • Sélection de page
    • Commande d'entrelacement mémoire
  2. Sélection de périphériques

    • Adressage de périphériques E/S
    • Chip selects de périphériques
    • Sélection d'esclave de bus
    • Adressage de port
    • Multiplexage de périphériques
    • Sélection de canal
    • Allocation de ressources matérielles
  3. Décodage d'instructions

    • Décodage d'instructions CPU
    • Décodage de codes d'opération
    • Adressage de microcode
    • Sélection d'unité d'exécution
    • Implémentation de machine à états
    • Génération de signaux de commande
    • Sélection d'opération
  4. Démultiplexage

    • Commande de routage de données
    • Sélection de canal
    • Direction de port de sortie
    • Distribution de signaux
    • Routage de bus
    • Commande de chemin de données
    • Diffusion sélective
  5. Génération de signaux de commande

    • Implémentation de séquenceur
    • Sorties de machines à états
    • Génération de mots de commande
    • Création de signaux de timing
    • Reset/preset sélectif
    • Sélection de mode
    • Configuration système
  6. Systèmes d'affichage

    • Sélection de chiffre d'affichage
    • Pilotage de ligne/colonne de matrice LED
    • Sélection de segment LCD
    • Adressage de mémoire d'affichage
    • Adressage de générateur de caractères
    • Commande de mode d'affichage
    • Décodeur de segments
  7. Test et débogage

    • Sélection de point de test
    • Routage de sortie diagnostique
    • Sélection de signal de débogage
    • Commande d'autotest intégré
    • Commande de chaîne de scan
    • Génération de codes d'erreur
    • Isolation de fautes

Limitations

  1. Restrictions de fan-out

    • Capacité de pilotage en courant limitée
    • Peut nécessiter une mise en tampon pour les applications à forte charge
    • Les sorties actives doivent piloter tous les périphériques connectés
    • Les sorties fortement chargées présentent un délai accru
    • Peut limiter la vitesse maximale de fonctionnement
    • Critique dans les applications de chip select
    • Peut nécessiter des étages tampons supplémentaires
  2. Implications du délai de propagation

    • Exigences de temps de setup d'adresse
    • Limite la fréquence de fonctionnement maximale
    • Chemin critique dans le timing d'accès mémoire
    • Peut introduire des aléas temporels
    • Délai entre changement d'adresse et stabilisation des sorties
    • Les décodeurs en cascade ont un délai accru
    • Affecte le taux d'horloge système dans les conceptions synchrones
  3. Considérations de consommation

    • Significative lorsque de nombreuses sorties changent simultanément
    • Augmente avec la fréquence de fonctionnement
    • Devient critique dans les dispositifs sur batterie
    • Peut entraîner une chute de tension d'alimentation pendant les transitions
    • Rebond de masse dans les applications haute vitesse
    • Gestion thermique dans les systèmes haute vitesse
    • Pics de puissance lors des transitions d'adresse
  4. Défis d'évolutivité

    • Croissance exponentielle des sorties pour une augmentation linéaire des entrées
    • Les grands décodeurs nécessitent des ressources importantes
    • Limites du nombre de broches pour les grands décodeurs
    • La mise en cascade introduit un délai supplémentaire
    • La complexité augmente fortement avec la taille
    • La consommation augmente avec la taille
    • La complexité de test augmente exponentiellement
  5. Aléas de fonctionnement

    • Glitchs lors des transitions d'entrée
    • Plusieurs sorties momentanément actives durant les transitions
    • Violations de temps de setup et de hold d'adresse
    • Sensibilité au bruit sur les entrées d'enable
    • Décodage partiel dans les grands systèmes en cascade
    • Timing du signal d'enable critique
    • Conditions de course dans les systèmes asynchrones

Détail d'implémentation du circuit

Décodeur 3 vers 8 de base avec portes ET

graph TB
    A0[A0] --> NOT0[NOT]
    A1[A1] --> NOT1[NOT]
    A2[A2] --> NOT2[NOT]
    EN[Enable]
    
    NOT0 --> AND0[AND]
    NOT1 --> AND0
    NOT2 --> AND0
    EN --> AND0
    AND0 --> Y0[Y0: 000]
    
    A0 --> AND1[AND]
    NOT1 --> AND1
    NOT2 --> AND1
    EN --> AND1
    AND1 --> Y1[Y1: 001]
    
    NOT0 --> AND2[AND]
    A1 --> AND2
    NOT2 --> AND2
    EN --> AND2
    AND2 --> Y2[Y2: 010]
    
    A0 --> AND3[AND]
    A1 --> AND3
    NOT2 --> AND3
    EN --> AND3
    AND3 --> Y3[Y3: 011]
    
    NOT0 --> AND4[AND]
    NOT1 --> AND4
    A2 --> AND4
    EN --> AND4
    AND4 --> Y4[Y4: 100]
    
    A0 --> AND7[AND]
    A1 --> AND7
    A2 --> AND7
    EN --> AND7
    AND7 --> Y7[Y7: 111]

Logique : chaque sortie est active lorsque le motif d'adresse 3 bits correspondant est présent et que le décodeur est activé.

Circuit intégré décodeur 3 vers 8 74HC138

Configuration des broches :

Groupe de broches Signal Fonction
Entrées A, B, C Entrées d'adresse (A0-A2)
Activations G1 Enable actif à l'état HAUT
Activations /G2A, /G2B Enables actifs à l'état BAS
Sorties Y0-Y7 Sorties actives à l'état BAS
Alimentation Vcc, GND +5 V et masse

Condition d'activation : décodeur actif lorsque G1=1 ET /G2A=0 ET /G2B=0

Sélection de sortie : une seule sortie est à l'état LOW à la fois selon l'adresse C:B:A

Remarque : le 74HC138 possède des sorties actives à l'état bas (Y0-Y7) et trois entrées d'enable : G1 (active à l'état haut), G2A et G2B (toutes deux actives à l'état bas). Le décodeur est activé lorsque G1=1, G2A=0 et G2B=0.

Composants associés

  • Décodeur 2 vers 4 : décodeur plus petit avec deux entrées et quatre sorties
  • Décodeur 4 vers 16 : décodeur plus grand avec quatre entrées et seize sorties
  • Décodeur binaire vers 7 segments : convertit des valeurs binaires en motifs d'afficheur 7 segments
  • Décodeur BCD vers décimal : convertit le BCD en dix sorties
  • Encodeur prioritaire : opération inverse, convertit one-hot en binaire avec priorité
  • Démultiplexeur : achemine une entrée vers l'une de plusieurs sorties
  • Décodeur d'adresses : décodeur spécialisé pour l'adressage mémoire
  • Décodeur d'instructions : décodeur spécialisé pour le traitement des instructions CPU
  • Décodeur de bus : utilisé pour le décodage d'adresses de bus dans les systèmes informatiques
  • Convertisseur binaire vers code Gray : composant de conversion apparenté dans les systèmes numériques

school Parcours d'apprentissage

arrow_back Prérequis

arrow_forward Prochaines étapes

help_outline Foire aux questions

Comment fonctionnent les décodeurs dans les systèmes mémoire ?

3 bits d'adresse sélectionnent 1 des 8 puces mémoire. Seule la puce sélectionnée est activée pour répondre aux opérations de lecture/écriture.

Quelle est la relation entre les décodeurs et les ROM ?

Un décodeur est essentiellement une ROM où chaque adresse produit un motif one-hot. Les ROM étendent cela avec des motifs de sortie programmables.

play_arrow Exécuter le circuit en direct

Voir d'autres composants