Décodeur
Vue d'ensemble
- Objectif : Le décodeur est un circuit de logique combinatoire qui convertit un code binaire d'entrée en un ensemble de lignes de sortie individuelles, où une seule sortie est active pour chaque code d'entrée unique. Il déploie une représentation binaire compacte en un format « one-hot ».
- Symbole : Le décodeur dans DigiSim.io est un décodeur 2 vers 4 représenté par un bloc rectangulaire avec 2 lignes d'entrée binaires (A0, A1) et 4 lignes de sortie (Y0, Y1, Y2, Y3).
- Rôle dans DigiSim.io : Sert de bloc de construction fondamental pour le décodage d'adresses, le routage de données et la génération de signaux de commande dans les circuits numériques.

Description fonctionnelle
Comportement logique
Le décodeur active exactement une ligne de sortie en fonction de la valeur binaire présente sur ses entrées. Seule la sortie correspondant à la combinaison binaire d'entrée passe à HIGH ; toutes les autres sorties restent à LOW.
Table de vérité (décodeur 2 vers 4) :
| A1 | A0 | Y0 | Y1 | Y2 | Y3 |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 | 1 |
Entrées et sorties
Entrées :
- Entrées d'adresse (A0, A1) : 2 entrées binaires qui déterminent quelle sortie sera activée.
Sorties :
- Lignes de sortie (Y0-Y3) : 4 lignes de sortie, dont une seule est active (HIGH) pour chaque combinaison d'entrée unique.
Paramètres configurables
- Niveau actif : indique si les sorties sont actives à l'état haut (1) ou à l'état bas (0).
- 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 est affiché sous la forme d'un bloc rectangulaire avec 2 broches d'entrée (A0, A1) sur le côté gauche ou inférieur et 4 broches de sortie (Y0-Y3) sur le côté droit ou supérieur. Il porte une étiquette « 2:4 ». Une fois connecté dans un circuit, le composant indique visuellement quelle sortie est active par des changements de couleur sur les fils de connexion.
Valeur pédagogique
Concepts clés
- Encodage/décodage binaire : démontre comment des valeurs binaires peuvent être étendues en représentations one-hot.
- Sélection d'adresse : illustre comment des adresses binaires sont utilisées pour sélectionner des emplacements mémoire ou périphériques spécifiques.
- Encodage one-hot : introduit le concept consistant à n'avoir qu'un seul signal actif parmi de nombreux signaux possibles.
- Conception de logique combinatoire : montre comment des fonctions complexes peuvent être implémentées avec des éléments logiques de base.
Objectifs d'apprentissage
- Comprendre comment les valeurs binaires sont décodées en lignes de sélection individuelles.
- Apprendre comment les décodeurs permettent un adressage efficace dans les systèmes numériques.
- Reconnaître le rôle des décodeurs dans les systèmes mémoire et les unités de commande.
- Appliquer les décodeurs à la conception de circuits de décodage d'adresses et de générateurs de signaux de commande.
- Comprendre comment les décodeurs peuvent être mis en cascade pour créer de plus grandes structures de décodage.
Exemples d'utilisation / Scénarios
- Adressage mémoire : sélectionner des puces mémoire ou emplacements mémoire spécifiques en fonction des bits d'adresse.
- Décodage d'instructions : générer des signaux de commande à partir des codes d'opération dans les processeurs.
- Sélection d'entrées/sorties : activer des périphériques spécifiques en fonction des valeurs d'adresse.
- Pilotage d'afficheurs : convertir des valeurs binaires en motifs de segments dans les systèmes d'affichage.
- Décodage d'état : générer des signaux de commande spécifiques selon l'état courant dans des machines à états.
Notes techniques
- Le décodeur DigiSim.io est un décodeur 2 vers 4 avec 2 entrées (A0, A1) et 4 sorties (Y0-Y3).
- La relation entre le nombre d'entrées (n) et de sorties (m) d'un décodeur est typiquement m = 2^n.
- Les décodeurs peuvent être mis en cascade pour former des décodeurs plus grands. Par exemple, deux décodeurs 2 vers 4 avec une entrée supplémentaire peuvent former un décodeur 3 vers 8.
- Dans les décodeurs actifs à l'état bas, les sorties sont normalement HIGH et passent à LOW lorsqu'elles sont sélectionnées, ce qui est souvent utilisé pour les sélections de puces mémoire.
- Dans DigiSim.io, les décodeurs réagissent immédiatement aux changements d'entrée, modélisant le comportement combinatoire de ces composants.
Types de décodeurs
Décodeurs binaires
- Décodeurs n vers 2ⁿ standard (par exemple 2 vers 4, 3 vers 8, 4 vers 16)
- Convertissent un code binaire en sortie one-hot
Décodeurs BCD vers décimal
- Décodeurs 4 vers 10 convertissant le BCD en affichage décimal
- Courants dans les applications d'affichage
Décodeurs d'adresses
- Utilisés pour la sélection d'adresses mémoire et E/S
- Comportent souvent des sorties de sélection de puce
Décodeurs pour afficheurs 7 segments
- Convertissent des entrées binaires/BCD en sorties pour afficheurs 7 segments
- Décodeurs 4 vers 7 pour les afficheurs numériques
Démultiplexeurs
- Cas particulier de décodeurs utilisés pour le routage de données
- Acheminent une entrée vers l'une de plusieurs sorties
Décodeurs actifs à l'état bas
- Sorties normalement à l'état haut, sorties actives passant à l'état bas
- Souvent utilisés dans les systèmes mémoire
Applications
Décodage d'adresses mémoire
- Sélection de la bonne puce ou du bon emplacement mémoire
- Génération de chip select dans les systèmes mémoire
Décodage d'instructions
- Génération de signaux de commande dans les CPU
- Interprétation des codes d'opération
Routage de données
- Acheminement des données vers les unités de traitement appropriées
- Adressage de bus dans les microprocesseurs
Systèmes d'affichage
- Pilotage d'afficheurs 7 segments
- Commande de matrices LCD/LED
Balayage de claviers/clavier matriciel
- Balayage de claviers matriciels
- Commande de périphériques d'entrée
Opérations de démultiplexage
- Routage de signaux dans les systèmes de communication
- Sélection de canaux
Génération de signaux de commande
- Génération de signaux de commande spécifiques à partir de codes d'instruction
- Sorties de machines à états
Méthodes de mise en œuvre
Réseaux de portes logiques
- Portes ET avec inverseurs d'entrée selon les besoins
- Souvent organisés en structure arborescente
Circuits intégrés
- 74LS138 : décodeur 3 vers 8
- 74LS154 : décodeur 4 vers 16
- 74LS47 : décodeur BCD vers 7 segments
Implémentation à portes NAND/NOR
- Utilisation de portes universelles pour toutes les fonctions du décodeur
- Nécessite typiquement moins de portes qu'avec ET/OU
Conception HDL
- Utilisation d'instructions case ou d'assignations conditionnelles
- Aisément paramétrable pour différentes tailles
Mise en œuvre à base de ROM
- Utilisation de tables de correspondance pour les fonctions de décodage complexes
- Approches de logique programmable
Implémentation du circuit (décodeur 2:4)
Un décodeur 2 vers 4 simple peut être implémenté à l'aide de portes ET avec inverseurs :
graph LR
InputA0[A0] --> NotGate0[NOT]
InputA1[A1] --> NotGate1[NOT]
NotGate0 --> AndGate0[AND]
NotGate1 --> AndGate0
AndGate0 --> OutputY0[Y0: 00]
InputA0 --> AndGate1[AND]
NotGate1 --> AndGate1
AndGate1 --> OutputY1[Y1: 01]
NotGate0 --> AndGate2[AND]
InputA1 --> AndGate2
AndGate2 --> OutputY2[Y2: 10]
InputA0 --> AndGate3[AND]
InputA1 --> AndGate3
AndGate3 --> OutputY3[Y3: 11]
Sélection de sortie : chaque sortie correspond à une combinaison d'adresse 2 bits unique.
Équations booléennes (décodeur 2:4)
Pour un décodeur 2 vers 4 :
- Y0 = Ā1 · Ā0
- Y1 = Ā1 · A0
- Y2 = A1 · Ā0
- Y3 = A1 · A0
Où · représente le ET logique et Ā représente le NON logique
Composants associés
- Encodeurs : effectuent l'opération inverse (one-hot vers binaire)
- Multiplexeurs : sélectionnent une entrée parmi plusieurs en fonction des lignes de sélection
- Démultiplexeurs : fonctionnellement similaires mais acheminent les données plutôt que de générer des motifs
- Encodeurs prioritaires : encodeurs spéciaux qui gèrent plusieurs entrées actives
- Pilotes d'afficheurs : contiennent souvent des décodeurs pour la commande d'affichage
- Décodeurs d'adresses mémoire : spécialisés pour les systèmes mémoire
- Réseaux logiques programmables : peuvent implémenter des fonctions de décodeur