You are on page 1of 19

ISE Design Suite

El entorno para desarrollar aplicaciones en VHDL se llama ISE Design Suite. Esta herramienta
contiene todo el software necesario para crear los proyectos en VHDL desde su edicin hasta
su transferencia a la tarjeta de desarrollo (Spartan 3E Starter Kit).
Debido a que es una herramienta desarrollada por Xilinx, slo funcionar con los dispositivos
de dicho fabricante. Sin embargo, el cdigo base escrito en VHDL se puede aplicar a cualquier
dispositivo sin importar el fabricante simplemente adaptndolo a la sintaxis del mismo.
En el proceso de instalacin del software se da la posibilidad de configurarlo en distintos
modos, dependiendo de la licencia que se tenga. Para propsitos acadmicos la versin ms
conveniente es la Webpack. Esta licencia es gratuita y slo basta con inscribirse en la web del
fabricante (www.xilinx.com) para obtenerla.
Al instalar el software dos conos de acceso directo se generan para el desarrollo de
soluciones.

Xilinx ISE Design Suite: Abre el entorno principal donde se elaboran los proyectos
en VHDL. Es la primera aplicacin que se emplea.
Xilinx PlanAhead: Permite configurar la conexin fsica de las aplicaciones creadas
con los terminales del FPGA.

Xilinx ISE Project Navigator

Para desarrollar las aplicaciones en VHDL vamos a utilizar el ISE Project Navigator. Al abrir este
programa, presenta tres zonas definidas:

1. rea de Diseo: En esta zona se muestran el nombre del proyecto as como el


dispositivo asociado y todos los archivos creados para dicho proyecto, incluyendo
la jerarqua de acuerdo al orden de dichas aplicaciones y todos los procesos que se
pueden realizar con ellos. Para ver que procesos se pueden aplicar a un archivo,
este debe estar seleccionado y en la parte inferior aparecer la lista de procesos.
2. Consola de status: Indica que se est realizando con determinado archivo as como
los errores y advertencias presentados luego de cada proceso. Cada vez que se
realice algo en los archivos se deben verificar las pestaas de esta zona.
3. Editor: En esta ventana se pueden ver los resultados, editar aplicaciones y revisar
plantillas de ayuda. Es el rea de trabajo de los archivos.
El procedimiento para empezar a trabajar es como sigue:

1. Creacin de un proyecto. Para crear el proyecto vamos al men File New Project.

En el campo Name escribimos el nombre del proyecto. Este nombre no debe tener
espacios en blanco ni caracteres especiales. Debe empezar siempre con una letra
y no discrimina maysculas de minsculas.
Al escribir el nombre del proyecto, automticamente en los campos Location y
Working Directory aparece una ruta con el nombre del proyecto. Para conservar el
orden, el software crea el folder con el mismo nombre del proyecto pues all
guardar todos los archivos que el usuario vaya creando y todos aquellos que se
generen automticamente.
Debemos tener en cuenta que existe un directorio por defecto, el cual debe ser
siempre un directorio sencillo y corto desde la raz del disco duro. Por ese motivo
en el ejemplo la ruta es C:\VHDL. Se debe evitar usar una ruta muy larga y que
pueda incluir caracteres especiales o espacios en blanco, pues el sistema en
algunos procesos no puede reconocer estas rutas y aparecern errores extraos.
Luego de darle Next, aparecer la siguiente pantalla

En esta ventana se establecen las especificaciones del proyecto:


a. Dispositivo: Se indica cual es el dispositivo que se emplear. Esta opcin es
importante pues en los procesos que vinculan la aplicacin creada con el
dispositivo fsico, este debe ser exacto con el empleado en la tarjeta para
que lo pueda configurar de acuerdo a sus parmetros. Los datos que se
requieren ingresar son:
i. Product Category: Cual es el grupo de uso al que corresponde. Con la
opcin All se pueden ver todos los casos.
ii. Family: Indica a que familia de pertenece el que vamos a emplear.
iii. Device: Corresponde al cdigo del dispositivo empleado. Este cdigo
establece la mayora de las caractersticas internas del FPGA.
iv. Package: Empaque fsico que nos dice como estn dispuestos los
terminales del FPGA y como estn conectados con la arquitectura
interna.
v. Speed: Establece el tiempo de respuesta del FPGA.
b. Caracterstica del Entorno: Establece qu se va a utilizar en el desarrollo de
las aplicaciones. Dentro de ella se destaca:
i. Synthesis Tool: Indica el programa que el sistema utilizar para
sintetizar las aplicaciones. Se puede escoger el que viene con el
entorno o una herramienta de otro fabricante.
ii. Simulator: Al igual que el caso anterior, permite elegir el software de
simulacin que se emplear. Existen variedad de simuladores y para
propsitos acadmicos se emplear el simulador propio de Xilinx
(ISim)
iii. Preferred Language: Establece que lenguaje se emplear para escribir
las aplicaciones. Las opciones que hay son Verilog y VHDL. Para todas
las aplicaciones que desarrollemos siempre elegiremos VHDL.
iv. VHDL Source Analysis Standard: Establece que versin del lenguaje
(VHDL) emplear el sistema para verificar la correcta escritura del
cdigo desarrollado.

Una vez establecidos los parmetros del proyecto, se hace clic en Next y se
mostrar un resumen de lo que se est creando. Es importante leer este resumen,
pues se puede haber pasado por alto alguna de las opciones. Para finalizar la
creacin del proyecto se hace clic en Finish.
Una vez creado el proyecto ahora se pueden incorporar los archivos que formarn
parte del mismos.

2. Creacin e incorporacin de aplicaciones en el proyecto: Se pueden crear varios


tipos de archivos e incorporarlos al proyecto. El procedimiento es como sigue:
a. Crear nuevo archivo: Se elige File New y se abrir una ventana donde
pregunta que tipo de archivo se va a crear.

Las opciones que hay son:


Text File, cuando se crea un archivo de texto usando reglas del lenguaje
empleado.
Schematic, para incorporar un diagrama esquemtico.
Symbol, para crear un smbolo de la aplicacin.
En nuestro caso siempre se crearn archivos de texto. El entorno queda listo
as:
b. Uso de plantillas: El entorno provee una serie de ayudas basado en plantillas
para facilitar la edicin de nuestras aplicaciones. Para utilizar estas plantillas se
elige el men Edit Language templates y aparecer la siguiente pantalla.

Esta ventana muestra por categoras todas las plantillas que se pueden utilizar.
Una de las plantillas ms empleadas es de las libreras.
Al tener seleccionada la opcin que se desea usar en el archivo que se ha
creado, hacer clic con el botn derecho y elegir del men desplegable la opcin
Use in file. Automticamente las lneas de cdigo que indican el uso de libreras
se incorporan al nuevo archivo.

c. Escritura del cdigo y guardado de archivo: Con las libreras incorporadas se


puede empezar a trabajar en el cdigo de la aplicacin. Debemos tener en
cuenta la estructura en VHDL: Entidad y Arquitectura. Si la estructura bsica no
est correctamente escrita, no se podr incorporar el archivo al proyecto pues
el entorno no reconocer la estructura. Para guardar simplemente se hace clic
en Save y debemos tener en cuenta dos puntos importantes:
i. Nombre del archivo: debe ser similar al nombre de la entidad.
ii. Tipo de archivo: VHDL pues por defecto el sistema guarda en tipo Verilog.
d. Incorporacin al proyecto: Cuando el archivo est listo, debe incorporarse al
proyecto, porque a pesar de haberlo editado y guardado, an no es parte del
mismo. Para hacer la incorporacin se hace lo siguiente:
i. Ubicar en el panel izquierdo el nombre del proyecto y hacerle clic con el
botn derecho.

ii. Seleccionar la opcin Add Source y aparecer una ventana con los
archivos disponibles para agregar. Ubique el archivo que desee agregar y
haga doble clic sobre el mismo.
iii. El sistema mostrar una ventana indicando que ha agregado el archivo sin
errores.
iv. Al darle OK, el archivo se agregar al proyecto y se convertir en el Top
Module, es decir, el archivo por defecto que utilizar el proyecto para los
procesos principales.

v. Cabe mencionar que, si la estructura del archivo no est correctamente


escrita (incluyendo los punto y coma), el archivo se incorporar al proyecto
pero no se mostrar en el rbol de la izquierda pues al no estar
correctamente escrito lo bsico, no podr reconocer el tipo de archivo.
Para solucionar esto, hay que verificar la correcta escritura de todo el
archivo y corregir lo que sea necesario, siempre guardando. Cuando todo
est correcto automticamente el archivo aparecer en el rbol de la
izquierda, no es necesario volver a agregarlo.

3. Sntesis del archivo: Con el archivo incorporado al proyecto el siguiente paso


consiste en sintetizarlo. En este proceso, el entorno verifica si el archivo cumple
con todas las reglas sintcticas del lenguaje, indicando cuales pueden ser los
posibles errores y/o advertencias sobre el contenido del archivo. El procedimiento
para realizar la sntesis es el siguiente:
a. El archivo que se va a procesar debe estar seleccionado. Esto es importante
porque al seleccionar el archivo, en la parte inferior aparecen todos los
procesos que se le pueden aplicar.
b. Se hace doble clic sobre la opcin Synthesize XST para iniciar el proceso.
c. Si el archivo est bien formateado, el proceso mostrar un check.

d. Si el archivo tiene errores, el proceso mostrar una x y se debe revisar la


pestaa de errores. Muy importante, al revisar la lista de errores se debe
desplazar hasta el primero de la lista, pues los primeros errores que aparecen
pueden ser los que eliminen errores posteriores. Al solucionar los errores
siempre debe guardar el archivo y volver ejecutar el proceso.
e. Si el archivo tiene advertencias, significa que el proceso encontr algunas
inconsistencias. Esto no necesariamente crear problemas posteriores, pero es
conveniente levantar las advertencias pues puede ocasionar respuestas no
deseadas.

f. Con la sntesis correcta, se debe verificar el funcionamiento de la aplicacin a


travs de la simulacin.

Notas:

Al emplear nombres en los puertos, seales y otros elementos creados, no utilice


palabras reservadas por el sistema como p.e. entity, architecture, library, etc.
Para cada proceso que se realice siempre se debe verificar la consola, incluyendo la
pestaa de errores (Errors) y advertencias (Warnings).
No se deben mover los archivos de la carpeta creada por el sistema, esto altera la
estructura del proyecto.
El panel izquierdo correspondiente al Diseo debe estar siempre en la vista
Implementation. La otra vista, Simulation, se usa para los procesos de simulacin.
Si por alguna razn se graba el archivo en formato Verilog (.v), debe abrir la carpeta
del proyecto, borrar el archivo y guardarlo nuevamente con el tipo VHDL. (.vhd).
ISE Design Suite

Xilinx ISim

La aplicacin ISim permite realizar la simulacin de las aplicaciones desarrolladas en el Project


Navigator. Con la simulacin se pueden ver los resultados de funcionamiento antes de
implementarlo en el dispositivo (FPGA) y corregir los errores o alguna otra situacin que no
este llevndose a cabo de acuerdo a lo planteado en los objetivos del problema.
ISim no puede recibir la aplicacin escrita en VHDL tal cual se ha creado. Se requiere de una
estructura que tenga los elementos necesarios para ejecutar una simulacin (stimulus). Este
es un nuevo archivo tambin escrito en VHDL y que contiene la aplicacin original.
El procedimiento para llevar a cabo una simulacin es como sigue:

1. Preparacin del archivo de simulacin: Para preparar el archivo de simulacin se debe


haber realizado la sntesis de la aplicacin y que esta sea correcta.

2. Ubicar el nombre del proyecto y hacer clic con el botn derecho.


3. Escogemos la opcin New Source que nos conducir a la ventana donde estn
listados todos los tipos de archivos que pueden crearse dentro del Project Navigator.

4. Para simulaciones escogemos la opcin VHDL Test Bench. Este tipo de archivo
prepara el entorno para realizar la simulacin. En el lado derecho se debe escribir el
nombre del archivo que estamos creando. Una sugerencia es utilizar el mismo nombre
del archivo original (.vhd) y agregarle el sufijo _tst para diferenciarlo del original. Con
esto listo podemos continuar presionando Next.
5. Se presenta la nueva ventana donde el sistema pregunta por la asociacin del archivo
de simulacin con la aplicacin original. Como pueden haber muchos archivos, hay que
verificar con cuidado a cual se hace referencia y resaltarlo para luego hacer clic en
Next.

6. Al final, se mostrar el resumen de lo que se est creando, adems de algunas otras


caractersticas. Luego de comprobar que todo est correcto hacemos clic en Finish
7. El sistema crear en base a una plantilla interna una nueva aplicacin en VHDL pero
esta vez con los elementos para simular una aplicacin.

8. El nuevo archivo presenta algunos elementos necesarios para la simulacin. Debemos


fijarnos en la definicin de la constante clk_period. Este valor siempre lo asume la
plantilla que creo el archivo, pero debemos modificarlo (cambiar el perodo) o
eliminarlo si la aplicacin no tiene seal de reloj en su construccin.
9. Entre los procesos que incluye el archivo de simulacin estn la vinculacin de la
aplicacin original, el proceso de reloj y el proceso de estimulo.

10. La vinculacin es indispensable pues es la nica forma de conectar el archivo original


con el archivo de simulacin. El proceso de reloj slo se debe considerar cuando la
aplicacin que se ha creado depende de seales de este tipo. De lo contrario hay que
eliminar todas las lneas. El proceso de estmulo es aquel donde se colocan los valores
aplicados a los puertos y el tiempo que se aplicar.
11. En el ejemplo, el sistema trabaja con un reloj y tiene una seal de reset que en la
definicin del archivo de simulacin est fijado en cero. Por consiguiente, en el proceso
de estmulo slo debemos decirle a la aplicacin que haga una espera indefinida
mientras los elementos trabajan.

12. Cuando el archivo de simulacin est listo, en el panel izquierdo se habilita la vista de
simulacin para ver el rbol en modo simulacin.
13. Como se indic antes, la parte inferior correspondiente a los procesos cambia
dependiendo del archivo que se est seleccionando. Para efectuar la simulacin se
debe seleccionar el archivo de simulacin creado (en nuestro caso contar4b_tst). No
se debe elegir el archivo original (contar4b) pues ISim no lo entender correctamente
y los resultados de la simulacin sern engaosos.
14. Para terminar de preparar el proceso de simulacin, en la lista de procesos hay que
hacer clic con el botn derecho sobre la opcin Simulate Behavioral Model.

15. Elegir la opcin Process Properties y se abrir la ventana donde estn las
propiedades para el simulador.
16. Casi todas las opciones son para simulaciones avanzadas, sin embargo hay uno que si
es necesario verificar: Simulation Run Time. Esta opcin permite establecer el tiempo
que durar la simulacin. Hay que ser cuidadoso con este valor, pues si se colocan
tiempos altos (rango de ms o s), el simulador se demorar bastante calculando los
resultados para cada iteracin (normalmente de 1ps). Por lo tanto hay que establecer
correctamente el tiempo para que la simulacin trabaje lo necesario. El tiempo
normalmente depende de cmo se fijaron los valores en el archivo de simulacin o de
cuanto tiempo le tomar a la aplicacin mostrar todos los resultados necesarios. Para
el ejemplo se establecer un tiempo de 800ns. Le damos OK para aceptar.
17. Para ejecutar la simulacin hacemos doble clic en Simulate Behavioral Model. Se abrir
el simulador y mostrar la formas de onda resultantes para los puertos.

18. En la pantalla con fondo negro se ven los resultados de la simulacin. Hay que prestar
mucha atencin a los tiempos en la parte superior. En el ejemplo se aprecia que
solamente son visibles los resultados desde 799,995 ns a 800,000 ns, lo cual es una
mnima parte del tiempo total de simulacin, por lo tanto hay que modificar la vista
para apreciar todo el rango. Para ello se emplea el botn Zoom to Full View.
19. En la figura aparecen algunos elementos importantes a considerar:
a. Cuando las seales son verdes significa que son seales estables.
b. Cuando las seales son rojas o naranjas significa que los puertos no tienen un
valor definido o tienen fluctuacin constante no controlada.
20. En este caso la salida q tiene XXXX y significa que el contador no est arrojando
resultados. Esto puede parecer que el diseo no est correcto, sin embargo el
problema no es el diseo sino una omisin que muchas veces se tiene al usar seales.
Cuando se usen seales es recomendable inicializarlas en un valor, que luego cambiar
cuando el circuito empiece a actuar.

21. En este caso la seal tempo debe tener un valor inicial. En este caso ser 0000.

22. Una vez realizada la correccin se debe guardar el archivo y volver a sintetizar.
Finalmente se ejecuta la simulacin y el resultado ser lo que se esperaba.
23. Se ve que los resultados son estables, pero hay que acercar para ver si son vlidos.

24. Se pueden realizar modificaciones al archivo de simulacin en el Project Manager para


mostrar otras alternativas valores de entrada. En el ejemplo podemos establecer que
luego de 200ns de iniciada la simulacin se puede cambiar Reset a 1 durante 85ns y
retomar la cuenta hasta el final.

25. El resultado se muestra a continuacin

You might also like