Concevez un multiplexeur
Concevez un multiplexeur
Principe
De manière générale, un multiplexeur est utilisé pour transmettre une grande quantité d'informations via un nombre réduit de connexions. Un multiplexeur numérique est un circuit qui sélectionne des informations binaires parmi l'un des nombreux signaux logiques d'entrée, et les dirige vers une seule sortie.
Une description comportementale du multiplexeur est la suivante : si Sel=0, la sortie f vaut la valeur binaire de l'entrée In0, si Sel=1 la sortie f vaut la valeur binaire de l'entrée In1.
Case (sel)
0 : f=In0;
1 : f=In1
endcase
La table de vérité correspondante est donnée ci-dessus. La valeur "x" signifie ici "quelle que soit la valeur". Sur la 1re ligne du tableau, f recopie la valeur de In1, quelle que soit la valeur de In0.
Le symbole usuel du multiplexeur est donné ci-dessous. Ce symbole existe dans la palette des symboles de DSCH. Il se compose des deux entrées multiplexées In0 et In1 du côté gauche, de la commande Sel au bas du symbole et de la sortie f à droite.
Le multiplexeur à base de transistors N et P
L'un des circuits les plus simples pour la cellule de multiplexage consiste en une combinaison de transistors MOS canal N et canal P. Le MOS canal N est performant pour laisser passer la valeur logique 0, le MOS canal P pour laisser passer la valeur logique 1. La combinaison des 2 permet d'avoir un commutateur idéal, que l'entrée soit 0 ou 1. Cette implémentation se fait au prix d'un inverseur supplémentaire pour assurer la commande du commutateur.
Le MUX complet est donc constitué de deux cellules MOS N et MOS P, ainsi que d'un inverseur, comme indiqué ci-dessus. Sur la simulation de gauche (Sel=0), c'est la cellule du haut qui permet le transfert de In0 vers la sortie. En effet, avec Sel=0, les transistors NMOS et PMOS de la cellule du haut sont passants (avec un 1 sur la grille du NMOS et un 0 sur la grille du PMOS). Par contre, les deux transistors NMOS et PMOS de la cellule du bas sont coupés, ce qui isole In1 de la sortie pour éviter un conflit en sortie entre In0 et In1.
Pour Sel=1 (simulation à droite), la cellule du haut est déconnectée, la cellule du bas relie In1 à la sortie.
Simulation du multiplexeur
La simulation utilise deux horloges préprogrammées avec des périodes bien différenciées : l'une est beaucoup plus rapide que l'autre. Lorsque Sel vaut 0, le signal clk1 est copié sur f, lorsque Sel vaut 1, c'est clk2 qui est copié sur f.
Multiplexeur à n bits
Le multiplexeur n vers 1 effectue la sélection d'une ligne d'entrée particulière parmi n lignes d'entrée.
La figure ci-dessous illustre une implémentation possible du multiplexeur 8 en 1, basée sur un réseau de multiplexeurs élémentaires. L'horloge connectée à l'entrée In6 se retrouve en sortie si les 3 entrées du multiplexeur valent 0b110, soit la valeur 6 au clavier.
Une description comportementale du multiplexeur n-à-1 est donnée ci-dessous :
Case (Sel)
0 : f=In0;
1 : f=In1;
2 : f=In2;
3 : f=In3;
4 : f=In4;
5 : f=In5;
6 : f=In6;
7 : f=In7;
endcase
Dans ce chapitre, vous avez conçu un multiplexeur élémentaire puis un multiplexeur à plusieurs entrées. Vous allez, dans le chapitre suivant, réaliser la fonction inverse qui consiste à utiliser un nombre pour sélectionner une fonction parmi plusieurs disponibles.