Décodeur

Un décodeur est un circuit combinatoire qui sert à interpréter des données encodées, le plus souvent en binaire. Il prend un groupe (vecteur) de \(n\) bits en entrée, et active une sortie parmi jusqu’à \(2^n\) sorties différentes. Dans le cas où certaines combinaisons d’entrées ne sont pas utilisées, moins de \(2^n\) sorties peuvent être produites.

Dans un décodeur générique, chaque combinaison binaire distincte activera une seule sortie. Il y a une correspondance directe entre chaque sortie possible et un minterm d’entrée.

Circuit du décodeur trois-vers-huit. Circuit du décodeur trois-vers-huit

Tableau 7 : Tableau de vérité du décodeur trois-vers-huit
$$x$$ $$y$$ $$z$$   $$D_0$$ $$D_1$$ $$D_2$$ $$D_3$$ $$D_4$$ $$D_5$$ $$D_6$$ $$D_7$$
0 0 0   1 0 0 0 0 0 0 0
0 0 1   0 1 0 0 0 0 0 0
0 1 0   0 0 1 0 0 0 0 0
0 1 1   0 0 0 1 0 0 0 0
1 0 0   0 0 0 0 1 0 0 0
1 0 1   0 0 0 0 0 1 0 0
1 1 0   0 0 0 0 0 0 1 0
1 1 1   0 0 0 0 0 0 0 1

Décodeur avec sortie active basse et signal de contrôle

On peut aussi concevoir des décodeurs basés sur des portes NAND et dont la sortie sélectionnée est active au niveau bas. Une autre fonction utile est un signal de contrôle \(E\) qui n’active une sortie que lorsqu’il est activé.

Le décodeur deux-vers-quatre, dont le circuit est présenté ci-dessous, comoprte ces deux caractéristiques. Comme on peut voir dans le tableau de vérité, tant que le signal de contrôle est inactif ( \(E = 1\) puisque ce signal est également actif bas), les sorties sont inactives (au niveau 1) quelles que soient les entrées \(x\) et \(y\). Lorsque \(E = 0\), une seule sortie passe à 0, selon le code binaire présent aux entrées \(x\) et \(y\). Notez que ce décodeur a été conçu et étiqueté en fonction d’entrées \(x\) et \(y\) qui sont actives haut.

Décodeur à sortie active basse. Décodeur à sortie active basse

Tableau 8 : Tableau de vérité, décodeur 2 vers 4 avec sortie active basse
$$E$$ $$x$$ $$y$$   $$D_0$$ $$D_1$$ $$D_2$$ $$D_3$$
0 0 0   0 1 1 1
0 0 1   1 0 1 1
0 1 0   1 1 0 1
0 1 1   1 1 1 0
1 0 0   1 1 1 1
1 0 1   1 1 1 1
1 1 0   1 1 1 1
1 1 1   1 1 1 1

Implémentation de fonctions arbitraires au moyen d’un décodeur

Puisqu’un décodeur active sélectivement les \(2^n\) minterms possibles à partir de ses \(n\) entrées, il est possible d’implémenter, en somme de produits, une fonction quelconque en acheminant les minterms de la fonction à une porte OU. Il est même possible d’implémenter plusieurs fonctions différentes, en leur consacrant chacune une porte OU de sortie.

Voici par exemple une fonction réalisée à partir d’un décodeur trois-vers-huit. L’entrée \(I\) correspond à un vecteur de trois bits. Le tableau de vérité correspondant est donné. On peut voir que les minterms choisis permettent d’implémenter

\[Y = \sum(0,2,5,6)\]

Fonction arbitraire réalisée au moyen d'un décodeur. Fonction arbitraire réalisée au moyen d’un décodeur

Tableau 9 : Tableau de vérité pour la fonction arbitraire
I2 I1 I0   Y
0 0 0   1
0 0 1   0
0 1 0   1
0 1 1   0
1 0 0   0
1 0 1   1
1 1 0   1
1 1 1   0

Une fonction qui comporte de nombreux minterms exige l’utilisation d’une porte OU avec un grand nombre d’entrées. Si la fonction à réaliser exige plus de \(2^n/2\) minterms, il est alors plus avantageux d’implémenter le complément de la fonction, qui nécessitera moins de \(2^n/2\) minterms, et d’inverser ensuite la sortie pour obtenir la fonction.


Sous-module précédent:
Sous-module suivant: