Qu'est-ce que Multiplexeur ?
Circuit qui sélectionne une entrée parmi plusieurs selon un signal de sélection et la transmet en sortie. Aussi appelé sélecteur. Le circuit inverse, qui aiguille une entrée vers une sortie parmi plusieurs, est le démultiplexeur.
Nom japonais: マルチプレクサ
« Multiplexeur » apparaît dans 7 questions d'entraînement réparties sur 5 thèmes, dont Photonique sur silicium, HDL et vérification, Circuits logiques.
Domaine: Circuits logiques
Comment un multiplexeur sélectionne
Un multiplexeur (mux) 2 vers 1 produit Y = S'·A + S·B : l'entrée A lorsque le signal de sélection S vaut 0, et l'entrée B lorsque S vaut 1. Avec n bits de sélection, un mux choisit parmi 2ⁿ entrées : un mux 8 vers 1 nécessite donc trois lignes de sélection. En CMOS, les mux sont réalisés en logique ET-OU ou NAND-NAND, à partir de portes de transmission, ou sous forme d'arbres de mux 2 vers 1 pour les grandes largeurs. Le mux est aussi un élément logique universel : en reliant ses entrées de données aux constantes d'une table de vérité, un mux 2ⁿ vers 1 réalise n'importe quelle fonction booléenne à n entrées.
Où l'on trouve des multiplexeurs
Les chemins de données des processeurs regorgent de mux : ils sélectionnent les opérandes de l'ALU parmi les registres ou les valeurs immédiates, transmettent les résultats par des chemins de contournement (bypass) pour éviter les blocages du pipeline, choisissent le compteur ordinal suivant et commutent les bus partagés. Les blocs logiques des FPGA réalisent des fonctions arbitraires grâce à des tables de correspondance (LUT), de petites mémoires lues à travers un arbre de mux. En conception en vue du test, les bascules de scan ajoutent un mux à l'entrée de données pour pouvoir chaîner les bascules en registres à décalage en mode test. Sur les cartes, des multiplexeurs analogiques partagent un seul ADC entre plusieurs capteurs, et des multiplexeurs I2C séparent des composants ayant la même adresse.
Questions fréquentes
Combien de lignes de sélection faut-il pour un multiplexeur 8 vers 1 ?
Trois, car 2³ = 8. En général, un mux à 2ⁿ entrées de données nécessite n lignes de sélection.
Quelle est la différence entre un multiplexeur et un démultiplexeur ?
Un multiplexeur sélectionne une entrée parmi plusieurs et la transmet à une sortie unique. Un démultiplexeur prend une entrée unique et l'aiguille vers une sortie parmi plusieurs.
Comment un multiplexeur peut-il réaliser n'importe quelle fonction logique ?
On relie les lignes de sélection aux variables d'entrée de la fonction et on fixe chaque entrée de données à 0 ou à 1 selon la table de vérité. Le mux fournit alors la bonne valeur de la table pour chaque combinaison d'entrées : c'est le principe des tables de correspondance des FPGA.