Post on 04-Jul-2015
P á g i n a | 0
INSTITUTO POLITECNICO NACIONAL
ESIME ZACATENCO
PRACTICA 6
PROFESOR: LUGO SILVA ALEJANDRO
GONZALEZ TRUJANO DAVID
ANGUIANO GAZANINI CARisA SILVANA
GRUPO: 5CM3
P á g i n a | 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
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.
𝑺𝟏 𝑺𝟎 Z
0 0 𝐼0 0 1 𝐼1 1 0 𝐼2 1 1 𝐼3
P á g i n a | 2
TABLA DE VERDAD
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;
𝑺𝟏 𝑺𝟎 𝒀𝟑 𝒀𝟐 𝒀𝟏 𝒀𝟎
0 0 0 0 0 I 0 1 0 0 I 0 1 0 0 I 0 0 1 1 I 0 0 0
P á g i n a | 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 á g i n a | 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 á g i n a | 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 á g i n a | 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 á g i n a | 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;