Ingeniera
Medios a utilizar
Por cada prctica y por cada puesto de laboratorio, los
materiales a utilizar es:
Cantidad
1
1
1
Descripcin
Computadora
Tarjeta de desarrollo Basys2 Digilent
Software Xilinx ISE Webpackv14.7
Introduccin
En VHDL un sistema digital est compuesto por la
interconexin de un conjunto de mdulos. Estos son unidades
lgicas donde se puede especificar la descripcin de un
circuito digital, sea sencillo o complejo, de tal manera que
puedan utilizarse para construir diseos de mayor
complejidad, creando lo que se denomina un diseo con
jerarqua. En esta prctica aprenderemos la estructura bsica
de un mdulo y la forma en cmo se conecta a otros mdulos.
Actividades previas
Tabla de verdad del mdulo ANDOR (Figura 1).
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
1
0
1
0
1
1
1
Desarrollo de la prctica
Crear un nuevo proyecto ISE
En esta prctica vamos a crear un mdulo llamado ANDOR
con tres entradas (A, B y C) y una salida (F), despus
usaremos dos veces este mismo mdulo en otro mdulo
superior llamado LOGIC.
Importante: Seguir las instrucciones del laboratorio 1
para crear un nuevo proyecto en ISE.
1. Cerrar cualquier proyecto que est abierto y crear un
proyecto nuevo llamado ANDOR. El mdulo debe tener 3
entradas (A, B, C) y una salida (F).
U1
U2
Ac se agregan los
componentes
Ac se instancian los
archivos que se utilizan en el
proyecto
Componente del
Archivo ANDOR
);
END COMPONENT;
signal F1 : std_logic;
begin
U1: ANDOR
A =>
B =>
C =>
F =>
);
U2: ANDOR
A =>
B =>
C =>
F =>
);
PORT MAP(
J,
K,
L,
F1
PORT MAP(
F1,
M,
N,
Q
P <= F1;
endBehavioral;
"J"
"K"
"L"
"M"
"N"
"P"
"Q"
loc
loc
loc
loc
loc
loc
loc
=
=
=
=
=
=
=
"G3" ;
"B4" ;
"K3" ;
"L3" ;
"P11";
"P6" ;
"P7" ;
Actividades propuestas
Prctica
1. Realizar un proyecto que implemente un sistema combinacional
que sea capaz de sumar dos bits y presente en su salida un bit de
acarreo. Este sistema se le conoce como Semi Sumador
(HalfAdder) y tendr el siguiente comportamiento segn su tabla de
verdad.
Entradas
A
0
0
1
1
Salidas
B
0
1
0
1
Cout
0
0
0
1
S
0
1
1
0
stim_proc: process
begin
-- holdresetstatefor 100 ns.
waitfor 100 ns;
-- waitfor<clock>_period*10;
-- insertstimulushere
a<= '0';
b<= '1';
waitfor 100 ns;
a<= '1';
b<= '0';
waitfor 100 ns;
a<= '1';
b<= '1';
waitfor 100 ns;
a<= '0';
b<= '0';
waitfor 100 ns;
wait;
endprocess;
signal s : std_logic;
BEGIN
-- InstantiatetheUnitUnder Test (UUT)
uut: sumador PORT MAP (
a => a,
b => b,
cout => cout,
s => s
);
-- Stimulusprocess
stim_proc: process
begin
-- holdresetstatefor 100 ns.
waitfor 100 ns;
-- insertstimulushere
a<= '0';
b<= '1';
waitfor 100 ns;
a<= '1';
b<= '0';
waitfor 100 ns;
a<= '1';
b<= '1';
waitfor 100 ns;
a<= '0';
b<= '0';
waitfor 100 ns;
wait;
endprocess;
END;
Actividades de aprendizaje
Indague acerca del lenguaje VHDL. Conteste.