Sie sind auf Seite 1von 16

APRENDA A PROGRAMAR EN ISE Project Navigator

Por: M. en C. Arnoldo Ulises Villalobos Guerra


Este tutorial est dedicado a los alumnos de Ing. Electrnica del ITESZ con el objetivo de iniciar a los
alumnos en el lenguaje VHDL con ISE Project Navigator.
1.1 LENGUAJE VHDL
Los lenguajes de descripcin de hardware (HDL) son utilizados para describir la arquitectura
y comportamiento de sistemas electrnicos los cuales fueron desarrollados para trabajar con diseos
complejos.
VHDL es un lenguaje de descripcin de hardware de alta velocidad. Los circuitos descritos
en VHDL pueden ser simulados utilizando herramientas de simulacin para reproducir el
funcionamiento del circuito. Adems utilizando herramientas de sntesis se puede implementar dicho
circuito en un dispositivo lgico programable.
1.2 ENTIDAD
La entidad es la descripcin externa de un circuito, aqu se enumeran las entradas y las
salidas del diseo. Una entidad es anloga a un smbolo esquemtico de los diagramas electrnicos,
el cual describe las conexiones del dispositivo hacia el resto del diseo.

Para determinar la entidad del circuito anterior, se tiene que nombrar las entradas y salidas.
Por ejemplo las entradas se pueden nombrar con las primeras letras del alfabeto y las salidas con
las ltimas letras (usted puede nombrarlas como guste).

A
B
Y
C
D

De esta manera la entidad est conformada por cinco entradas nombradas A,B,C,D y E y dos salidas
Y y Z.
1.3 ARQUITECTURA
La arquitectura es la descripcin del funcionamiento interno del circuito. Una arquitectura
describe el funcionamiento de la entidad a la que hace referencia.
La entidad y arquitectura se utilizan para representar la descripcin completa de un diseo.
Por ejemplo, para crear la arquitectura del circuito siguiente tenemos que apoyarnos de dos
seales y describir el comportamiento interno.
A
B
Y
C
D
E

Primero definimos las seales s1 y s2. Las seales son conexiones internas, estas
conexiones nos sirven para describir el circuito.
A
B

s1
Y

C
D

s2

La arquitectura podra ser de la siguiente manera:


s1<= A AND B;
s2<= C OR D;
Y<= s1 AND s2;
Z<= s2 OR E;

Importante: El orden de las ecuaciones no importa, recuerde que VHDL tiene


comportamiento paralelo o concurrente.

1.4 PRIMER PROGRAMA


En este apartado se ver cmo implementar el circuito anterior en la tarjeta NEXYS 2.
Lo primero que se tiene que hacer es crear un nuevo proyecto en ISE Project Navigator.

A continuacin se da un nombre al proyecto y se especifica la ruta en donde se desea


guardarlo.

Despus se tiene que elegir la familia, el dispositivo, el empaquetado y la velocidad del


dispositivo. La tarjeta nexys 2 cuenta con un FPGA XC3S500E de la familia SPARTAN3E.

Una vez credo el proyecto damos click derecho en el proyecto y creamos una nueva fuente.

A continuacin se selecciona mdulo VHDL y se le da un nombre.

A continuacin se especifican los puertos de la entidad. A,B,C,D y E se especifican como


entradas, y Y y Z como salidas.
A

B
Y
C
D
Z
E

En nuestro archivo VHD se observa la entidad creada

La entidad creada se llama prog1 y tiene 7 puertos, 5 puertos son entradas (A,B,C,D y E) y 2
puertos son salidas (Y y Z). Todos los puertos son del tipo STD_LOGIC. Este tipo representa una
lgica multivaluada de 9 valores. Adems del 0 lgico y el 1 lgico, posee alta impedancia Z,
desconocido X sin inicializar U entre otros.
Despus en la arquitectura se describen las ecuaciones lgicas del comportamiento del
circuito.
A
B

s1
Y

C
D

s2
Z

E
Por ultimo declaramos las seales.

1.4.1 SINTETIZAR
La sintetizacin es la creacin del archivo que contiene los 1 y 0 lgicos que se bajan a la
memoria del dispositivo. Para sintetizar se guardan todos los cambios y se da doble click en
Synthesize.

Una vez sintetizado dar doble click en Implement Design

Y por ltimo doble click en Generate Programming File

1.4.2 MAPEO DE PINES


Para mapear las entradas y salidas en pines especficos se hace uso del software
planAhead, para ello dar doble click en Floorplan Area.

En este caso se utilizar los primeros swiches 0,1,2,3,4 y 5 y leds 0 y 1.

Seleccionar los pines correspondientes.

Por ultimo click guardar.

Para verificar el mapeo en ISE solo dar doble click en Implement Design

A continuacin en la pestaa de Design Summary click en Pinout Report

Para finalizar dar doble click en Generate Programming File

1.5 PROGRAMACION DE LA TARJETA


Conectar la tarjeta a la PC y poner el swich de encendido en posicin ON, despus dar doble
click en Manage Configuration Project.

Crear un nuevo proyecto.

Dar click en YES.

Click en OK

Dar click en YES

Seleccionar nuestro archivo .bit , y click Open

A continuacin Click en NO.

Click Cancel all.

Clik Cancel.

Por ultimo Click derecho sobre el icono del FPGA y click Program.

Listo, ahora pruebe el circuito.

2.0 DECLARACION DE VECTORES


Se puede declarar vectores en una entidad. Por ejemplo, en el siguiente circuito se
observa que la entrada es un vector llamado A y est conformado por 5 pines. La salida es un
vector llamado Y conformado por 2 pines.
A(0)
A(1)

Y(0)
A(2)
A(3)
Y(1)
A(4)
La entidad se crea de la siguiente manera:

Se usan 3 seales para describir la arquitectura


A(0)
A(1)

S1
Y(0)

A(2)
A(3)

S2

A(4)

S3

Y(1)

2.1 SIMULACION
Para simular se crea un archivo Test Bench, para ello click derecho en el proyecto y click en
New Source.

A continuacin se selecciona VHDL Test Bench, se le da un nombre y click Next.

Despus next, next y Finish.

Ahora se selecciona simulacin y doble click en el archivo Test Bech creado

Debido a que el circuito es un circuito combinacional y no secuencial se tiene que quitar


algunas lneas, ya que no se requieren seales de reloj.
constant <clock>_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: PRO3 PORT MAP (
A => A,
Y => Y
);
-- Clock process definitions
<clock>_process :process
begin
<clock> <= '0';
wait for <clock>_period/2;
<clock> <= '1';
wait for <clock>_period/2;
end process;

QUITAR ESTAS LINEAS

-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100 ns.
wait for 100 ns;
wait for <clock>_period*10;
El circuito tiene 5 entradas, es decir 32 combinaciones posibles. Se pueden simular todas las
combinaciones posibles de entrada. A continuacin se simulan algunas combinaciones.

A continuacin guardar todos los cambios y doble click en Behavioral Check Syntax.

Despues doble click en Simulate Behavioral Model.


Por ultimo click en Zoom to Full View.

Das könnte Ihnen auch gefallen