Instituto Politécnico
Nacional
Escuela Superior de
Computación
Fundamentos de Diseño Digital
Semestre 23-1
Prof. Cesar Mujica Ascencio
Práctica: “Multiplexor”
Integrantes:
• Álvarez Aguilar Jesús
• López Domínguez Daniel Efraín
• Mendoza Carreón Oscar
• Miranda Pardo Ángel
• Téllez Partida Mario
Grupo: 3CM3
Introducción
Para la realización de esta práctica también ocuparemos programar en VHDL y utilizar la
GAL, en este caso del “multiplexor” es un dispositivo que sirve para transmitir datos de
diferentes entradas a una sola salida,
es decir, todos los datos que entran
salen por el mismo lugar, se pueden
manejar señales tanto analógicas
como digitales.
Este circuito funciona como un
conmutador que solo permite
seleccionar la lectura de una de las
entradas, pero debido a la gran
velocidad de conmutación que tiene, se
llega a creer que puede leer todas las
entradas al mismo tiempo
Desarrollo
Tabla de verdad
D C B A S1 S2 Y
0 0 0 1 0 0 A
0 0 1 0 0 1 B
0 1 0 0 1 0 C
1 0 0 0 1 1 D
Mapa de Karnaugh
CD\AB 00 01 11 10
00 1 1
01 1
11
10 1
Ecuación:
𝐴̅B̅̅̅̅ ̅̅̅̅̅̅ + ̅̅̅̅̅̅
𝐶𝐷 + A𝐵𝐶𝐷 𝐴𝐵𝐶 D + ̅̅̅̅
𝐴𝐵C𝐷 ̅
Código:
Library IEEE;
use IEEE.STD_LOGIC_1164.all;
ENTITY mux IS
PORT (a: IN std_logic_vector(3 DOWNTO 0);
b: IN std_logic_vector(3 DOWNTO 0);
c: IN std_logic_vector(3 DOWNTO 0);
d: IN std_logic_vector (3 DOWNTO 0);
sel: IN std_logic_vector(1 DOWNTO 0);
salida: OUT std_logic_vector(3 DOWNTO 0));
END mux;
ARCHITECTURE synth OF mux IS
BEGIN
With sel select
salida <=a when"00",
b when"01",
c when "10",
d when others;
END synth;
Conclusiones:
Estuvo entretenido realizar esta práctica, tuve algunos problemas al momento de realizar
el código, pero después me di cuenta que tenia un error en el mapa de Karnaugh, por lo que
ya lo corregí y modifique el código y todo salió bien.
Referencias
[Link]