DE INGENIERA
4-1 (MSB = 4)
8-5 (MSB = 8)
4-1 (MSB = 4)
8-5 (MSB = 8)
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
A
B
C
D
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
2
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
3
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
DISPLAY_1
A
B
C
D
A
B
C
D
-
DISPLAY_2
A
B
C
D
A
B
C
D
-
DISPLAY_3
A
B
C
D
A
B
C
D
ON
mux 4:1
A[3..0]
B[3..0]
S6
ON
C[3..0]
f
e
g
d
Row1
D[3..0]
mux1
mux2
mux3
mux4
Selector
a
b
a
c
d
f
b
g
e
f
e
c
g
d
punto
Decodificador
4 BIT A 7-SEG
Teclado
a
b
c
f
e
g
d
b
c
f
e
g
d
b
c
Para la realizacin de la prctica se debe tener en cuenta el hardware de la tarjeta PRINCE. En el manual de usuario de
dicha tarjeta (http://www.dea.icai.upco.es/sadot/sed/UG_PRINCE_2.1.pdf) se indican los nmeros de las patillas de la FPGA a
las que estn conectados cada uno de los dispositivos usados en la prctica (microinterruptores, indicadores y pulsadores) y sus
niveles lgicos. Conviene destacar que los indicadores estn multiplexados, de forma que todos ellos comparten las seales de
datos y slo se iluminan aquellos cuya seal MUX est activa. As, para encender el DISPLAY_1 hay que activar la salida
MUX_1 de la FPGA, para el DISPLAY_2 la salida MUX_2 y as sucesivamente. Por otro lado, los pulsadores usados forman
parte del teclado matricial. Para poder usarlos es necesario poner a cero la primera fila (salida ROW_1). De esta manera, si se
pulsa el 0, obtendremos un nivel bajo en la entrada COL_1, si se pulsa el 1, el nivel bajo se obtendr en la entrada COL_2 y si
se pulsan el 3 o el 4, se obtendr un nivel bajo en las entradas COL_3 o COL_4, respectivamente.
En la documentacin de la prctica se deber indicar el proceso de diseo seguido, las simulaciones realizadas, los esquemas y
el cdigo VHDL que componen el diseo, etc.
1.- TRABAJO PREVIO.
1.
2.
-- Multiplexor 4 a 1 de 4 bits
-- Autor: SAF, JDMF
-- Versin: 1.0
-
library ieee;
use ieee.std_logic_1164.all;
u
library ieee;
use ieee.std_logic_1164.all; -- Define STD_LOGIC
u
ENTITY hex7seg IS
PORT(
x : IN STD_LOGIC_VECTOR(3 downto 0);
a,b,c,d,e,f,g : OUT STD_LOGIC
);
END hex7seg;
ENTITY mux4a1
PORT(
-- Entradas
a, b, c, d:
s0,s1
:
Salida
:
);
END mux4a1;
IS
de datos
IN STD_LOGIC_VECTOR(3 downto 0);
IN STD_LOGIC; -- Seleccin
OUT STD_LOGIC_VECTOR(3 downto 0)