You are on page 1of 9

Página |0

INSTITUTO POLITECNICO
NACIONAL

ESIME ZACATENCO

PRACTICA 6

PROFESOR: LUGO SILVA ALEJANDRO

 GONZALEZ TRUJANO
DAVID
 ANGUIANO GAZANINI
CARisA SILVANA
GRUPO: 5CM3
Página |1

INTRODUCCION TEÓRICA

MULTIPLEXOR
Un multiplexor es un circuito digital que selecciona una de entre varias entradas de
datos 2𝑛 y lleva su valor lógico a la única salida Z del circuito. La selección de los
datos se realiza mediante una o varias entradas de control. La codificación binaria
resultante de las entradas (𝐼𝑛 ) indica el índice de la entrada “I” que pasa a la
salida. Existiendo una entrada de habilitación (enable), la cual pone en
funcionamiento el circuito, y trabajo en bajo o activó.

EJEMPLO.-Multiplexor de 4x1.

 TABLA DE VERDAD

𝑺𝟏 𝑺𝟎 Z
0 0 𝐼0
0 1 𝐼1
1 0 𝐼2
1 1 𝐼3

DEMULTIPLEXOR
Realiza el proceso opuesto del multiplexor 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.

EJEMPLO.- Demultiplexor de una entrada y 4 salidas.


Página |2

 TABLA DE VERDAD

𝑺𝟏 𝑺𝟎 𝒀𝟑 𝒀𝟐 𝒀𝟏 𝒀𝟎
0 0 0 0 0 I
0 1 0 0 I 0
1 0 0 I 0 0
1 1 I 0 0 0

DESARROLLO
Para realizar esta práctica es necesario saber como resolver los problemas
propuesto. Tomando en cuenta los siguientes tres puntos importantes:

1. Obtener la función en forma de suma de mini términos.


2. El mutiplexor deberá tener (n-1) líneas de selección (2 𝑛−1 𝑥 1); dónde
n=numero de variables de la función.
3. Se elije una variable para ser conectada en las entradas del MUX; Las
restantes se conectarán en las terminales de selección.

También para el desarrollo óptimo de esta práctica nos apoyamos en un software


(VHDL).

EXPERIMENTO 1
En este experimento realizaremos un MULTIPLEXOR de 4x1 y juntamente el
DEMULTILEXOR de una entrada y cuatro salidas, mediante el software
programaremos el circuito requerido.

CODIGO EN VHDL
-- Título: Plantilla básica para programas en VHDL
-- Autor: Anguiano Gazanini Carisa Silvana & Gonzales Trujano David
-- Versión: 1.0 Fecha: 1-04-11
-- Descripción: multiplexor 4X1 y demultiplexor 1X4
-- F1F0 = 11 (iguales); F1F0= 10 nibble alto > nibble bajo; F1F0 = 01 caso restante.

library ieee; --Definición de bibliotecas.


use ieee.std_logic_1164.all;
Página |3

entity Mux4a1 is --Definición de la entidad


port(I: in std_logic_vector(3 downto 0); --Variablesde entrada
S: in std_logic_vector(1 downto 0); --Lineas de seleccion
Z: out std_logic;

B: out std_logic_vector(3 downto 0);


Y: in std_logic
);

end Mux4a1;

architecture Funcionamiento of Mux4a1 is --Definición de la arquitectura


begin
with S select
Z <= I(0) when "00",
I(1) when "01",
I(2) when "10",
I(3) when others;

B <= "0001" when (Y='1' and S="00") else


"0010" when (Y='1' and S="01") else
"0100" when (Y='1' and S="10") else
"1000" when (Y='1' and S="11") else
"0000";
end Funcionamiento;

El siguiente diagrama muestra el proceso en el cual están conectados.


Página |4

EXPERIMENTO 2
Para este experimento programaremos dentro de la GAL22V10D 7 Multiplexores
de 2x1

CODIGO EN VHDL
-- Título: Plantilla básica para programas en VHDL
-- Autor: Anguiano Gazanini Carisa Silvana & Gonzales Trujano David
-- Versión: 1.0 Fecha: 29-04-11
-- Descripción: Circuito de 7 Multiplexores de 2X1 dentro de un chip

library ieee; --Definición de bibliotecas.


use ieee.std_logic_1164.all;

entity SieteMux2a1 is --Definición de la entidad


port(A: in std_logic_vector(6 downto 0); --entrada A
B: in std_logic_vector(6 downto 0); --entradas B
S: in std_logic; --linea de seleccion
Z: out std_logic_vector(6 downto 0) --salidas
);

end SieteMux2a1;

architecture Funcionamiento of SieteMux2a1 is --Definición de la arquitectura


begin --(descripción del funcionamiento)
with S select
Z <= A when '0',
B when others;
end Funcionamiento;
Página |5

En el siguiente diagrama se muestra las conexiones entre los multiplexores.


Página |6

EXPERIMENTO 3
El cerebro humano contiene células especializadas llamadas neuronas. Cada
neurona tiene sinapsis de excitación y de inhibición (pulsos).Cada neurona
entrega a través de un axón una seña de salida que se representa mediante una
función llamada 𝐹 = (𝑎, 𝑏, 𝑐, 𝑑, 𝑒) cuyo estado depende de las siguientes
condiciones:

a) Si el número de sinapsis de excitación es igual o mayor al de sinapsis de


inhibición, entonces 𝑭 = 𝟏 .
b) Siempre que se tenga al menos un pulso de excitación, deberá tenerse al
menos un pulso en el puerto de inhibición, es decir, no es posible que
existan pulsos de excitación si no existe al menos un pulso de inhibición.

La siguiente figura representa el modelo simplificado de una neurona.


Página |7

TABLA DE VERAD

DEC a b c d e F
0 0 0 0 0 0 1
1 0 0 0 0 1 0
2 0 0 0 1 0 0
3 0 0 0 1 1 0
4 0 0 1 0 0 X
5 0 0 1 0 1 1
6 0 0 1 1 0 1
7 0 0 1 1 1 0
8 0 1 0 0 0 X
9 0 1 0 0 1 1
10 0 1 0 1 0 1
11 0 1 0 1 1 0
12 0 1 1 0 0 X
13 0 1 1 0 1 1
14 0 1 1 1 0 1
15 0 1 1 1 1 1
16 1 0 0 0 0 X
17 1 0 0 0 1 1
18 1 0 0 1 0 1
19 1 0 0 1 1 0
20 1 0 1 0 0 X
21 1 0 1 0 1 1
22 1 0 1 1 0 1
23 1 0 1 1 1 1
24 1 1 0 0 0 X
25 1 1 0 0 1 1
26 1 1 0 1 0 1
27 1 1 0 1 1 1
28 1 1 1 0 0 X
29 1 1 1 0 1 1
30 1 1 1 1 0 1
31 1 1 1 1 1 1
Página |8

COGIGO EN VHDL
-- Título: Plantilla básica para programas en VHDL
-- Autor: Anguiano Gazanini Carisa Silvana & Gonzales Trujano David
-- Versión: 1.0 Fecha: 1-04-11
-- Descripción: multiplexor 16X1
-- F1F0 = 11 (iguales); F1F0= 10 nibble alto > nibble bajo; F1F0 = 01 caso
restante.

library ieee; --Definición de bibliotecas.


use ieee.std_logic_1164.all;

entity Mux16a1 is --Definición de la entidad


port(I: in std_logic_vector(15 downto 0); --Variables de
entrada
S: in std_logic_vector(3 downto 0); --Lineas de seleccion
Z: out std_logic
);

end Mux16a1;

architecture Funcionamiento of Mux16a1 is --Definición de la arquitectura


begin
with S select
Z <= I(0) when "0000",
I(1) when "0001",
I(2) when "0010",
I(3) when "0011",
I(4) when "0100",
I(5) when "0101",
I(6) when "0110",
I(7) when "0111",
I(8) when "1000",
I(9) when "1001",
I(10) when "1010",
I(11) when "1011",
I(12) when "1100",
I(13) when "1101",
I(14) when "1110",
I(15) when others;

end Funcionamiento;

You might also like