Vous êtes sur la page 1sur 5

MULTIPLEXORES Y DEMULTIPLEXORES

Multiplexores
Los multiplexores son sistemas combinacionales con un canal de salida, n canales de
entrada y m lneas de seleccin, tal que 2m n. El nmero binario presente en las lneas de
seleccin determina qu canal de entrada se conecta con el de salida.
Los multiplexores se utilizan habitualmente para muestrear los estados lgicos de
diferentes variables uno tras otro y transferirlos a una salida comn.
El siguiente ejemplo muestra el bloque funcional, la tabla de verdad y el circuito
combinacional de un multiplexor de cuatro canales.

s1 s0 a

0 0 e0

1 0 e1

0 1 e2

1 1 e3

Mltiple multiplexor de n canales


Se compone de varios multiplexores de n canales que tienen en comn las entradas de
seleccin. Este circuito selecciona un dato entre n de longitud tantos bits como
multiplexores. Por ejemplo, el siguiente cudruple multiplexor de 2 canales selecciona un
dato entre dos de longitud 4 bits.

Demultiplexores
Los demultiplexores son circuitos combinacionales que se utilizan para distribuir la
informacin de entrada entre varias salidas.
El siguiente ejemplo muestra el bloque funcional, la tabla de verdad y el circuito
combinacional de un demultiplexor de 4 canales. La relacin de dependencia

significa

que cada combinacin decimal de 0 a 3 de los canales de seleccin acta sobre la


respectiva entrada de informacin 0 a 3 realizando el producto lgico por 1 con la entrada
de informacin seleccionada y por 0 con las restantes.

E E C C C C
1

0 0 0 0 0 D

0 1 0 0 D 0

1 0 0 D 0 0

1 1 D 0 0 0

Mltiple demultiplexor de n canales


Se compone de varios demultiplexores que tienen en comn las entradas de seleccin.
Este circuito selecciona un salida entre n de longitud tantos bits como demultiplexores. Por
ejemplo, el siguiente doble demultiplexor de 4 canales selecciona una salida entre cuatro
de longitud 2 bits.

CODIGO
library ieee;
use ieee.std_logic_1164.all;
entity mux33 is
port(g: in std_logic_vector(3 downto 0);
sel: in std_logic_vector(1 downto 0);
enable: in std_logic;
h,i,j,k: out std_logic_vector(3 downto 0));
end mux33;
architecture aa of mux33 is
begin
process(g,sel,enable)
begin
if (enable='1')then
h<="ZZZZ";
i<="ZZZZ";
j<="ZZZZ";
k<="ZZZZ";
else
case (sel) is
when "00"=>h<=g;
i<="ZZZZ";
j<="ZZZZ";
k<="ZZZZ";
when "01"=>h<="ZZZZ";
i<=g;
j<="ZZZZ";
k<="ZZZZ";
when "10"=>h<="ZZZZ";
i<="ZZZZ";
j<=g;
k<="ZZZZ";
when others =>h<="ZZZZ";
i<="ZZZZ";
j<="ZZZZ";
k<=g;
end case;

end if;
end process;
end aa;

Vous aimerez peut-être aussi