Vous êtes sur la page 1sur 6

INSTITUTO POLITÉCNICO

NACIONAL

ESCUELA SUPERIOR DE
INGENIERÍA MECÁNICA Y
ELÉCTRICA
Unidad Zacatenco
Ingeniería en Comunicaciones y
Electrónica

MATERIA: Circuitos Digitales

Práctica 7: Multiplexor y
Demultiplexor

ALUMNOS:
 Estrada Juárez Gerardo Moisés
 Linares Rojas Francisco Manuel
 Ramos Velásquez Karla
Grupo: 5CM7
INTRODUCCION TEÓRICA

MULTIPLEXOR

El multiplexor (MUX) es un circuito combinacional que tiene varios canales de datos


de entrada y solamente un canal de salida. Sólo un canal de la entrada pasará a la
salida y este será el que haya sido escogido mediante unas señales de control.

Ejemplo: Si utiliza un multiplexor de 4 canales de entrada. Uno de los cuatro canales


de entrada será escogido para pasar a la salida y esto se logra con ayuda de las
señales de control o selección.

La cantidad de líneas de control que debe de tener el multiplexor depende del


número de canales de entrada. En este caso, se utiliza la siguiente fórmula: Número
de canales de entrada =2n., donde n es el número de líneas de selección.

 Para un multiplexor de 4 canales de entrada, n = 2


 Si la cantidad de canales de entrada fuese 8, las líneas de control serían 3.
La fórmula: 8 = 2n, n = 3
 Si la cantidad de canales de entrada fuese 16, las líneas de control serían 4.
La fórmula: 16 = 2n, n = 4
 Si sólo hay 6 canales de entrada, se utiliza un multiplexor de 3 líneas de
control, (don dos líneas de control no es suficiente, pues solo llega hasta 4)
 Si hubiera 13 canales de entrada se utiliza un multiplexor de 4 líneas
 Si hubiera sólo 2 canales de entrada, sería necesario un multiplexor con una
línea de selección.

Normalmente se utilizan multiplexores con canales de entrada y salida. Si se desea


lograr canales de dos bits o más, se ponen a trabajar multiplexores en paralelo.
Líneas de control para un multiplexor de dos entradas

Dos canales de un solo bit. La única entrada de selección puede tener 2n = 2


posibles valores, donde n = 1.

 Con la línea de control en “0” se escoge el primer canal de entrada (canal 0)


y lo pasa a la salida.
 Con la línea de control en “1” se escoge el segundo canal de entrada (canal
1) y lo pasa a la salida.

Líneas de control para un multiplexor de 4 entradas

Son necesarias 2 líneas de selección o control para lograr direccionar las 4


entradas. Las combinaciones posibles de las líneas de control o selección son:
 00 para la primera entrada (entrada 0) 01 para la segunda entrada (entrada
1)
 10 para la tercera entrada (entrada 2) 11 para la cuarta entrada (entrada 3)

Líneas de control para un multiplexor de 8 entradas

Son necesarias 3 líneas de selección para lograr direccionar las 8 entradas. Las
combinaciones serían:

 000 para la primera entrada (entrada 0)


 001 para la primera entrada (entrada 1)
 010 para la primera entrada (entrada 2)
 011 para la primera entrada (entrada 3)
 100 para la primera entrada (entrada 4)
 101 para la primera entrada (entrada 5)
 110 para la primera entrada (entrada 6)
 111 para la primera entrada (entrada 7)

Como se puede observar, las líneas de selección, representan el número en


binario que escoge la entrada que pasará a la salida.

DEMULTIPLEXOR

En electrónica digital, un de multiplexor es un


circuito combinacional que tiene una entrada de
información de datos d y n entradas de control que
sirven para seleccionar una de las 2n salidas, por
la que ha de salir el dato que presente en la
entrada. Esto se consigue aplicando a las
entradas de control la combinación binaria
correspondiente a la salida que se desea
seleccionar.

Por ejemplo, si queremos que la información que


tenemos en la entrada d, salga por la salida S4,
en la entrada de control se ha de poner, de
acuerdo con el peso de la misma, el valor 100, que es el 4 en binario.

En el campo de las telecomunicaciones el demultiplexor es un dispositivo que puede


recibir a través de un medio de transmisión compartido una señal compleja
multiplexada y separar las distintas señales integrantes de la misma
encaminándolas a las salidas correspondientes.

La señal compleja puede ser tanto analógica como digital y estar multiplexada en
cualquiera de las distintas formas posibles para cada una de ellas.
El demultiplexor, es un circuito combinacional que aunque la función básica es la
que hemos explicado, puede utilizarse en muchos casos como decodificador y
adopta cualquiera de las funciones que un decodificador realiza.

Una aplicación muy práctica de los demultiplexores utilizados como


decodificadores, si lo combinamos con una puerta NO-Y NAND, es la generación
de funciones lógicas, de modo, que si nos dan la función lógica F=S3(2,4,5,7), las
salidas correspondientes a los unos lógicos se conectarían a la puerta NO-Y.

En este caso la entrada de información se puede utilizar como entrada inhibidora si


mantenemos a cero lógico, y subiéndola a uno, cuando queremos inhibir la
generación de la función.

Una de las funciones que realiza el decodificador hexadecimal como demultiplexor,


es la función de conectar, a sendos contadores, C0 a C15, que reciben los impulsos
de una entrada común a todos. Cada uno posee una entrada de inhibición que
según el estado en que se encuentra (0,1), permite o no que se realice el contaje
de los impulsos. Cada entrada de inhibición se conecta a una salida del
demultiplexor.

DESARROLLO

Para el desarrollo de esta práctica nos apoyamos en un software (VHDL).

EJERCICIO 1

Diseñe un multiplexor de 8-1 usando el lenguaje VHDL, compruebe su tabla


de verdad por medio de la tarjeta de desarrollo. Siga el mismo procedimiento
para introducir una tabla de verdad que el utilizado en la práctica anterior.

Código en VHDL:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity mux8x1
port(din:in std_logic_vector(7 downto 0);sel:in std_logic_vector(2 downto 0);dout:out
std_logic);
end mux8x1;

architecture beh123 of mux8x1


begin
process(din,sel)
begin
case sel is
when"000"=>dout<=din(0);
when"001"=>dout<=din(1);
when"010"=>dout<=din(2);
when"011"=>dout<=din(3);
when"100"=>dout<=din(4);
when"101"=>dout<=din(5);
when"110"=>dout<=din(6);
when"111"=>dout<=din(7);
when others=>
dout<='z';
end case;
end process;
end beh123;

EJERCICIO 2

Diseñe un demultiplexor de 1-8 usando el lenguaje de programación VHDL.


Compruebe la tabla de verdad por medio del simulador o por medio de la
tarjeta de desarrollo. En este caso no es posible utilizar la misma forma de
asignar la tabla de verdad. Debe utilizar otra herramienta que es el “CASE-
WHEN”, similar al swith-case de otros lenguajes de programación. Investigue
la sintaxis y su forma de implementación.

Código en VHDL:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity dmux1X8 is
port(f:in std_logic;
s:in std_logic_vector(2 downto 0);
y:out std_logic_vector(7 downto 0));
end demux1X8;

architectural behavioral of dmux1 is


begin
y(0)<=f when s="000"else'0';
y(1)<=f when s="001"else'0';
y(2)<=f when s="010"else'0';
y(3)<=f when s="011"else'0';
y(4)<=f when s="100"else'0';
y(5)<=f when s="101"else'0';
y(6)<=f when s="110"else'0';
y(7)<=f when s="111"else'0';
end behavioral;