Anda di halaman 1dari 20

TUTORIAL DE ISE WebPack

TUTORIAL DE ISE WebPack 6.2i

1. INTRODUCCIÓN
El fin de este tutorial es proporcionar una guía rápida para el manejo básico del entorno
de desarrollo ISE WebPack 6.2i de Xilinx. Las diferentes versiones de ISE (Integrated
Software Environment) no son más que un entorno integrado de desarrollo (IDE: Integrated
Development Environment) que permite recorrer fácilmente las diferentes fases del proceso
de desarrollo de un circuito lógico, desde el diseño hasta la implantación sobre una arquitectura
reconfigurable. ISE se encarga de llamar de manera automática a las diferentes utilidades y
herramientas suministradas dependiendo de la etapa de diseño en la que nos encontremos.
Estas utilidades se pueden usar de manera separada y están disponibles en la ruta
%XILINX%\bin\nt. Algunos de estos programas funcionan bajo DOS y otros bajo Windows y
casi todos ellos disponen de una pequeña ayuda.

ISE se autodenomina Navegador de Proyecto (Project Navigator) y está orientado a


facilitar el proceso de desarrollo. La figura siguiente muestra la ventana de proyecto en la que
se aprecian las diferentes fases del flujo de diseño.

Diseño

Imposición de restricciones

Síntesis

Implementación

Configuración del dispositivo

Figura 1. Ventana de proyecto de ISE.

Resumidamente las fases de desarrollo son:


1. Diseño.
2. Imposición de restricciones.
3. Síntesis.
4. Implementación.
5. Configuración del dispositivo o carga del programa.

Cada una de estas etapas admite una variedad de formatos y herramientas tanto
nativas (de Xilinx) como de terceros. Los dispositivos reconfigurables pueden ser de dos
arquitecturas diferentes: FPGAs (Field Programmable Gate Array) y CPLDs (Complex
Programmable Logic Device).

El hilo conductor de este tutorial es la realización de un diseño sencillo desde la fase de


descripción hasta la carga en CPLD.

1
TUTORIAL DE ISE WebPack

2. FLUJO DE DISEÑO
En esta sección se presenta el flujo de diseño completo para lógica reconfigurable de
Xilinx. Podemos distinguir las siguientes etapas:
1. Diseño  modelado de un circuito lógico (HDL, esquemático, EDIF, máquina de
estados, etc.).
2. Imposición de restricciones  asignación de pines, limitaciones temporales.
3. Síntesis  traducción a puertas lógicas.
4. Implementación  generación del programa que configura un determinado
dispositivo destino (FPGA o CPLD).
5. Configuración del dispositivo  carga del programa en el dispositivo destino.

La figura siguiente ilustra lo dicho indicando las diferentes fases de desarrollo según la
enumeración anterior. Dicha enumeración no significa que necesariamente haya que seguir
ese orden de principio a fin, más bien es un proceso en el que se avanza y retrocede
iterativamente hasta alcanzar el objetivo.

Figura 2. Flujo de diseño Xilinx simplificado.

Cada una de las etapas del flujo de diseño puede realizarse dentro del entorno
integrado o bien utilizar herramientas de terceros. Algunas de esas herramientas también son
integrables en ISE si están convenientemente instaladas.

La lógica reconfigurable de Xilinx cuenta con dos tipos de dispositivos: FPGAs (Field
Programmable Gate Array) y CPLDs (Complex Programmable Logic Device). Cada uno de
ellos tiene sus fases de desarrollo específicas. Aquí nos centraremos en la configuración de
dispositivos CPLD.

2
TUTORIAL DE ISE WebPack

2.1. Flujo de diseño completo para CPLDs


El flujo de diseño completo concretado para CPLDs se muestra en la figura siguiente.
Se ha recuadrado la fase de simulación y verificación para separarla del proceso de
implementación en el dispositivo físico. Las líneas que se han trazado encima del diagrama de
flujo indican los dos posibles caminos que vamos a seguir: el diseño basado en esquemáticos o
en modelos VHDL.

Simulación y verificación
1
1

Figura 3. Flujo de diseño completo para CPLDs de Xilinx. Los rectángulos son aplicaciones o
utilidades, las elipses son librerías y los rectángulos redondeados tipos de ficheros

El diagrama mostrado en la figura identifica con diferentes símbolos las herramientas y


los ficheros que se van generando en cada paso. Las aplicaciones o utilidades que usaremos
como herramientas se reconocen porque se enmarcan en rectángulos mientras que los
diferentes tipos de ficheros se encuadran en rectángulos de esquinas redondeadas. En las
secciones siguientes se hace una descripción más detallada de todo esto.

3
TUTORIAL DE ISE WebPack

2.2. Fase de diseño, restricciones y síntesis


En el diagrama de flujo de diseño figura en primer lugar la entrada del circuito lógico
que deseamos implantar. Esta entrada se puede realizar de las siguientes maneras:
 HDL o lenguaje de descripción de hardware (VHDL, Verilog, ABEL).
 Esquemáticos.
 EDIF.
 NGC/BGO.
 Máquina de estados.
 Núcleo IP.

Para llevar a cabo esta entrada del circuito lógico el entorno ISE proporciona las
siguientes herramientas:
 Editor de texto. Genera diferentes extensiones dependiendo del lenguaje utilizado.
Para el caso de VHDL la extensión es .vhd.
 Editor de esquemáticos Es la utilidad ECS (Engineering Capture System) que
podemos encontrar bajo el nombre ECS.exe. Funciona tanto en el entorno
integrado ISE como de forma autónoma. Genera ficheros con extensión .sch.
 Editor de máquinas de estados. Es la utilidad StateCAD (fichero sc.exe). Permite
generar diagramas de estados (ficheros .dia) y traducirlos a algún lenguaje de
descripción de hardware.

Hay que tener en cuenta que el circuito ha de relacionarse con el exterior a través de
los pines del encapsulado del dispositivo configurable destino (CPLD en nuestro caso). Estos
pines están, a su vez, unidos a una serie de elementos de la placa de desarrollo (puertos de
entrada/salida, memoria, microcontrolador, etc.). Es necesario, por tanto, establecer las
asignaciones de entradas y salidas a los pines del dispositivo físico concreto. Esto forma parte
de las restricciones de usuario que además incluyen las limitaciones temporales.

Para realizar las asignaciones de pines del encapsulado tenemos las siguientes
herramientas:
 Editor de texto. Generamos un fichero de extensión .ucf.
 PACE: Pinout and Area Constrints Editor. Entorno gráfico que permite realizar
las asignaciones y salvarlas en un fichero de texto. Este fichero de texto tiene
extensión .ucf.

Finalmente hemos de realizar la traducción del circuito a puertas lógicas. Cuando el


diseño fuente se ha realizado en esquemático o con lenguajes de descripción de hardware
mediante modelados estructurales se puede disponer de la implementación en puertas lógicas
pero en otros casos no es así. La síntesis se puede realizar con las siguientes herramientas:
 XST: Xilinx Synthesis Technology. Es el sintetizador nativo de Xilinx y se
materializa en el ejecutable xst.exe. Genera (entre otros) un fichero de extensión .ngc.
 LeonardoSpectrum. Pertenece a Mentor Graphics y es integrable en ISE.
 Synplify. Pertenece a Synplicity y también es integrable en ISE.

Las etapas de diseño, imposición de restricciones (asignación de pines) y síntesis se


presentan con detalle en la figura siguiente.

1 1

Figura 4. Flujo de diseño Xilinx para entrada de modelos y síntesis.

4
TUTORIAL DE ISE WebPack

En la figura podemos observar como partiendo de esquemáticos pasamos a una


formalización textual a través de EDIF (Electronic Design Interchange Format). EDIF es una
normalización usada para intercambiar diseños entre diferentes sistemas de CAD y entre ellos
y los equipos de fabricación y ensamblado de circuitos impresos. Los ficheros EDIF tienen
extensión .edf.

Como hemos dicho, cuando partimos de descripciones realizadas con VHDL, Verilog o
ABEL es necesario intercalar una etapa de síntesis a puertas lógicas ya que estos modelos no
siempre se realizan basados en circuitos lógicos, es más, su mayor potencia se encuentra en
los modelados comportamentales, más cercanos a los programas de alto nivel que a los
circuitos digitales. La síntesis genera ficheros NGC (.ngc) o EDIF (.edf).

En esta fase del diseño es necesario comprobar las reglas lógicas y realizar
simulaciones que nos permitan justificar el correcto funcionamiento de nuestros circuitos. Como
herramientas de simulación integradas disponemos de:
 HDL Bencher: es el simulador nativo de Xillinx con salida de forma de onda que
nos permite ver los cronogramas que generan nuestros diseños.
 ModelSim de Model Technology integrable en ISE.

El conjunto de ficheros que describen el modelo (.ngc y .edf) y los que imponen
restricciones (.ucf) permiten abordar la siguiente fase, la de implementación.

2.3. Fase de implementación


La fase de implementación consiste en la creación del fichero de configuración que,
una vez cargado en el dispositivo programable, le hará trabajar conforme a las especificaciones
de nuestro diseño. Consta de dos partes: la creación de una base de datos o netlist que
recopile tanto el circuito diseñado como sus restricciones (fichero .ngd) y la creación del fichero
de programación propiamente dicho (.jed). La primera parte de la implementación se conoce
como fase de traducción (translate) mientras que la segunda es, en el caso de los dispositivos
CPLD, la fase de ajuste (fit).

La fase de traducción ejecuta NGDBuild (utilidad ngdbuild.exe) para mezclar todos los
ficheros que contienen la información del modelo (.ngc y .edf) y la información de restricciones
(.ucf) dando lugar a una base de datos o netlist que se almacena en un único fichero de
extensión .ngd. Esquemáticamente tendremos:

ficheros .ngc + ficheros .edf + ficheros .ucf  ngdbuild.exe  fichero.ngd


TRADUCCIÓN

En el caso de las CPLDs, la fase de ajuste consiste en partir de un fichero .ngd para
generar un fichero de tipo .jed. Esta tarea la lleva a cabo la utilidad CLPD Fitter plasmada en
el ejecutable cpldfit.exe que recibe como entrada un fichero de tipo .ngd además de los
parámetros (ver cpldfit.exe -help). Tendremos:

fichero.ngd  cpldfit.exe  fichero.jed


IMPLEMENTACIÓN

Figura 5. Fase de implementación (ajuste) sobre CPLD.

5
TUTORIAL DE ISE WebPack

La figura siguiente muestra el proceso completo de ajuste (fit) para CPLDs desde el
fichero de netlist .ngd hasta el fichero de configuración .jed listo para ser cargado en el
dispositivo reconfigurable.

Figura 6. Proceso completo de ajuste (fit) para CPLDs.

6
TUTORIAL DE ISE WebPack

2.4. Carga del programa de configuración


Disponemos de 2 opciones para cargar el programa de configuración en la pastilla
CPLD:
 La herramienta IMPACT de Xilinx que genera varios formatos de ficheros de
programación y que puede descargar el programa a través de un cable de
comunicación; y
 Las utilidades de la placa de desarrollo que proporciona XESS. En este caso
necesitamos un fichero de programación de extensión .svf.

IMPACT

Realiza dos funciones básicas: la configuración de un dispositivo a través de alguno de


los posibles cables desarrollados al efecto y la generación de ficheros de configuración en
diferentes formatos. Los cables disponibles son:
- Cable paralelo (  es nuestro caso).
- MultiPRO.
- MultiLINX (serie o USB).

La configuración del dispositivo se puede hacer con arreglo a uno de los cuatro modos
disponibles (ver documentación en línea para más detalles):
- Boundary-scan.
- SelectMAP (no CPLDs).
- SlaveSerial (no CPLDs).
- Desktop Configuration (únicamente cable MultiPRO).

Cruzando los cables disponibles y los dispositivos soportados por los diferentes modos
de configuración llegamos a la conclusión de que el único par que se adecua a nuestras
posibilidades es el modo Boundary-scan con el cable paralelo.

Utilidades XESS

Ver “MANUAL UTILIDADES xstools-v4_0.pdf”.

7
TUTORIAL DE ISE WebPack

3. DESCRIPCIÓN DEL DISEÑO EJEMPLO


Como ejemplo vamos a diseñar un decodificador de 7 segmentos. La figura siguiente
ilustra gráficamente lo que queremos hacer.

a0
a1
a2
a3 DEC

Figura 7. Esquema del decodificador de 7 segmentos.

El decodificador de 7 segmentos tiene como entrada un bus de 4 líneas que representa


un número hexadecimal (en el rango que va de 0 a F) y como salida 7 líneas que atacan al
display de 7 segmentos.

A continuación se ofrece el modelo VHDL de este decodificador tal y como se genera


en el editor de nuestra aplicación ISE WebPack 6.2i de Xilinx. Obsérvese como se incluye una
librería propia de Xilinx.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

-- Uncomment the following lines to use the declarations that are


-- provided for instantiating Xilinx primitive components.
library UNISIM;
use UNISIM.VComponents.all;

entity dec7seg is
port(hex: in bit_vector(3 downto 0);
led: out bit_vector(6 downto 0));
end dec7seg;

architecture comportamiento of dec7seg is


begin
process(hex)
begin
case hex is
when "0001" => led <= "0010010"; --1
when "0010" => led <= "1011101"; --2
when "0011" => led <= "1011011"; --3
when "0100" => led <= "0111010"; --4
when "0101" => led <= "1101011"; --5 6
when "0110" => led <= "1101111"; --6 ---
when "0111" => led <= "1010010"; --7 5| |4
when "1000" => led <= "1111111"; --8 --- <- 3
when "1001" => led <= "1111011"; --9 2| |1
when "1010" => led <= "1111110"; --A ---
when "1011" => led <= "0101111"; --B 0
when "1100" => led <= "1100101"; --C
when "1101" => led <= "0011111"; --D
when "1110" => led <= "1101101"; --E
when "1111" => led <= "1101100"; --F
when others => led <= "1110111"; --0
end case;
end process;
end comportamiento;

Modelo 1. Decodificador de 7 segmentos modelado en VHDL.

8
TUTORIAL DE ISE WebPack

El dispositivo físico de lógica reconfigurable que vamos a utilizar es la CPLD (Complex


Programmable Logic Device) xc95108 de Xilinx. El encapsulado es el PC84 de 84 pines y se
encuentra dentro de una placa de desarrollo de XESS denominada XC95-108+ que cuenta con
memoria SRAM, un microcontrolador 8051 y dispositivos de entrada/salida. El esquema se da
en la figura siguiente.

Figura 8. Esquema de la placa XS95 108+.

La entrada al decodificador de 7 segmentos se realizará por el puerto paralelo (pines


46, 47, 48, 50, 51, 52, 81 y 80) mientras que la salida al display se realiza por los pines 21, 23,
19, 17, 18, 14 y 15. Estas serán las asignaciones de pines que vamos a realizar en nuestro
diseño.

9
TUTORIAL DE ISE WebPack

4. ARRANQUE DE LA APLICACIÓN ISE WebPack


La versión ISE WebPack 6.2i es una edición libre, descargable de la página web de
Xillinx.

El arranque de la aplicación se realiza a través del menú inicio: Menú Inicio 


Programas  XIlinx  ISE WebPack 6. Después de la ventana de bienvenida aparece la
ventana principal del entorno, tal y como se muestra en la figura siguiente si no se ha realizado
ningún proyecto anteriormente.

Figura 9. Aspecto inicial de ISE WebPack 6.2i.

En la ventana principal se distinguen cuatro partes:


 Arriba a la izquierda se encuentra la ventana de ficheros fuente del proyecto.
 Debajo, a la izquierda, se encuentra la ventana de proyecto que representa el flujo
de diseño adaptado al dispositivo del proyecto.
 A la derecha se encuentra un espacio reservado para colocar los diferentes
editores del entorno.
 Abajo tenemos una ventana que muestra la salida texto generada por las
diferentes utilidades que van siendo llamadas en el proceso de diseño.

Cada vez que abrimos la aplicación se carga el último proyecto tratado mostrando el
estado correspondiente a las actuaciones realizadas en cada una de las ventanas.

Para cerrar la aplicación hay que seleccionar la opción File  Exit y confirmar en el
cuadro de diálogo correspondiente.

10
TUTORIAL DE ISE WebPack

5. CREACION DE UN PROYECTO

Para el entorno ISE un proyecto es un conjunto de unidades de diseño modelos en


lenguajes de descripción de hardware, esquemáticos, etc., unas restricciones de
implantación física y una arquitectura de dispositivo reconfigurable. Además de esto, el
proyecto integrará en el entorno algunas herramientas de simulación y síntesis que
seleccionará el usuario de entre las nativas de Xilinx y las proporcionadas por terceros.

Creación de nuestro proyecto:


1. Iniciar la aplicación ISE WebPAck 6.2i.
2. Seleccionar la opción File  New Project…. Aparecerá la ventana de dialogo de
la figura siguiente. En dicha ventana se establece el nombre del proyecto, el
directorio en el que desea ubicarse y tipo de fichero fuente de entre los disponibles
(lenguaje de descripción de hardware (HDL), esquemático, EDIF o NGC/NGO).
Pulsar el botón ‘Siguiente’.

Figura 10. Primera ventana de dialogo para la creación de un proyecto.

3. Aparece la ventana de diálogo de la figura siguiente en la que se determina el


dispositivo reconfigurable destino, su encapsulado y grado de velocidad. Las
herramientas de síntesis (XST de Xilinx) y simulación (ModelSim de Model
Technology) aparecen automáticamente si están instaladas en nuestro
computador. También se selecciona el lenguaje HDL concreto que se va a utilizar
en los ficheros fuente. Pulsar el botón ‘Siguiente’.

Figura 11. Segunda ventana de dialogo para la creación de un proyecto.

4. En las siguientes ventanas podemos determinar los ficheros fuente que vamos a
utilizar o bien optar por no dar ninguna información ya que siempre podemos
añadir nuevos ficheros en cualquier momento. Hacer clic en el botón ‘Finalizar’
para crear el proyecto.

11
TUTORIAL DE ISE WebPack

La creación del proyecto tiene las siguientes consecuencias:


1. Se crea el fichero de extensión .npl de configuración del proyecto en el directorio
del proyecto. En nuestro caso es decodificador7seg.npl.
2. Aparecen los ficheros fuente en la ventana de fuentes. Además de los ficheros de
modelos y restricciones tenemos una entrada para el dispositivo reconfigurable.
Con el menú contextual podemos crear un nuevo fichero fuente, añadir uno
existente, abrir uno presente con su editor específico, eliminar fuentes o consultar
las propiedades de cada elemento.
3. Aparece en la ventana de proyecto el flujo de diseño específico del dispositivo
destino. Cada una de las entradas del mismo pueden ejecutarse. Si el resultado es
correcto se marcará con el símbolo √ mientras que si genera errores se indicará
con el símbolo X.

Figura 12. Ventanas de fuentes y proyecto para nuestro ejemplo.

12
TUTORIAL DE ISE WebPack

6. EDITORES
El entorno integrado ISE dispone de varios editores adecuados a cada tipo de fichero
fuente (texto, esquemático, etc.). Concretamente vamos a tratar:
 Editor de texto.
 Editor de asignación de pines (PACE).
 Editor de esquemáticos (ECS).

6.1. Editor de texto


La figura siguiente ilustra el editor de texto. Se presenta el fichero VHDL
(decodificador7seg.vhdl) que modela el decodificador de 7 segmentos objeto del tutorial.

Figura 13. Editor de texto con el modelo del decodificador de 7 segmentos.

Este editor de texto indica el número de línea, permite introducir marcas y realizar
búsquedas. Cuenta con su barra de herramientas propia. Es común a todos los ficheros fuente
en modo texto.

6.2. Editor de asignación de pines (PACE)


La figura siguiente ilustra el editor PACE (Pinout and Area Constraints Editor) que se
utiliza para realizar las asignaciones de entradas/salidas a pines del encapsulado. Este editor
gráfico genera automáticamente un fichero de asignación de pines en modo texto de extensión
.ucf, en nuestro caso se denomina decodificador7seg.ucf. El diagrama del flujo de diseño
permite hacer la asignación de pines tanto en el entorno gráfico (Assign Package Pins) como
generando el fichero de texto (Edit Constraints (Text)) bajo la entrada User Constraints del
árbol de la ventana de proyecto.

13
TUTORIAL DE ISE WebPack

Figura 14. Editor PACE de asignación de pines con el encapsulado PC84 del dispositivo
xc95108 y la asignación correspondiente a nuestro modelo.

La asignación de pines que se ha realizado sobre PACE es la explicada en la Sección


“Descripción del Diseño Ejemplo” y se ajusta a la placa de desarrollo sobre la que estamos
trabajando. El fichero de texto con las restricciones de pines es decodificador7seg.ucf y se
muestra a continuación.

Figura 15. Editor de texto con el fichero de asignación de pines.

14
TUTORIAL DE ISE WebPack

6.3. Editor de esquemáticos (ECS)


La herramienta de edición de esquemáticos puede funcionar integrada con ISE o de
manera autónoma. Cuando los fuentes del proyecto son ficheros .sch el editor ECS se ejecuta
integradamente. Podemos llamarlo en %XILINX%\bin\nt\ECS.exe.
A continuación se propone un ejemplo de diseño esquemático. Se ha escogido el
símbolo de la librería de decodificadores que corresponde al decodificador 2 a 4. Se le han
realizado las asignaciones de marcadores de entrada/salida. Dichos marcadores indican los
puertos que relacionan el circuito con el exterior y serán los que posteriormente recibirán los
pines del encapsulado del dispositivo reconfigurable.

Figura 16. Editor ECS de esquemáticos.

El editor de esquemáticos es bastante intuitivo de manejar. Genera ficheros de


extensión .sch que se pueden añadir al proyecto (y mezclar con otros tipos de fuentes). Dentro
del proyecto podemos convertir el esquemático a lenguaje de descripción hardware (VHDL). El
procedimiento es el siguiente: dentro del árbol de la ventana de proyecto buscamos la entrada
Design Entry Utilities  View VHDL Functional Model y ejecutamos esta fase del flujo de
diseño. Si el resultado es correcto se marcará como tal en el árbol del proyecto y podremos ver
en el editor de texto el resultado. En la figura siguiente se muestra lo dicho.

Figura 17. Conversión de un esquemático a VHDL.

15
TUTORIAL DE ISE WebPack

7. SÍNTESIS E IMPLEMENTACIÓN
La síntesis y la implementación (traducción y ajuste) se encuentran bajo la misma
entrada del árbol del flujo de diseño.
 Implement Design  Synthesize – XST: es la síntesis a puertas lógicas. Genera
el fichero .ngc.
 Implement Design  Translate; fase de traducción dentro de la implementación.
Genera el fichero .ngd.
 Implement Design  Fit: fase de ajuste a CPLD dentro de la implementación.
Genera el fichero .jed.

La figura siguiente muestra el árbol del flujo de diseño y las entradas finalizadas con
éxito en lo que a nuestro ejemplo de diseño se refiere.

Figura 18. Síntesis e implementación (traducción y ajuste).

Como consecuencia de la ejecución de estos procesos se han generado con éxito


(entre otros) los siguientes ficheros:
 dec7seg.ngc: 15KB
 dec7seg.ngd: 20KB
 dec7seg.jed: 100KB

16
TUTORIAL DE ISE WebPack

8. CARGA DEL PROGRAMA DE CONFIGURACIÓN


Para configurar el dispositivo (en nuestro caso la CPLD xc95108) es necesario cargar
el programa. Disponemos de 2 caminos para realizar esta última tarea:
 La herramienta IMPACT de Xilinx que genera varios formatos de ficheros de
programación; y
 Las utilidades de la placa de desarrollo que proporciona XESS. En este caso
necesitamos un fichero de programación de extensión .svf.

8.1. Utilidad IMPACT


Ver la Sección “Carga del programa de configuración” para obtener más detalles. El
procedimiento a seguir será:
1. Lanzamos IMPACT desde la ventana de proyecto. En el árbol del flujo de diseño
elegimos la entrada Implement Design  Generate Programming File 
Configure Device (iMPACT) (ver figura anterior).
2. Una vez abierto el programa IMPACT nos aparece un cuadro de diálogo con
varios modos de configuración. Seleccionamos el modo Boundary-Scan. Este es
el único modo que soporta CPLDs y cable paralelo a la vez.
3. Seleccionamos la opción Enter a Boundary-Scan Chain.
4. Seleccionamos el fichero de configuración .jed que generamos como salida en la
fase de implementación.

Como consecuencia de la ejecución de esta secuencia de tareas obtenemos algo


similar a lo mostrado en la figura siguiente:

Figura 19. Aspecto de iMPACT para la CPLD xc95108 y el fichero de configuración


dec7seg.jed.

17
TUTORIAL DE ISE WebPack

Podemos observar como tenemos un dispositivo destino (CPLD xc95108 en nuestro


caso) y un programa de configuración preparado (dec7seg.jed). Las siglas TDI y TDO
responden a los acrónimos de Test Data In y Test Data Out respectivamente (ver
documentación).

Ahora podemos descargar el programa sobre el dispositivo CPLD a través del cable del
puerto paralelo. Para ello basta con activar el icono del dispositivo con el ratón y seleccionar
del menú contextual la tarea que se desee realizar. La figura siguiente ilustra las posibilidades.

Figura 20. Tareas disponibles para realizar sobre el dispositivo en modo configuración.

8.2. Utilidades XSTOOLs de XESS


Si la comunicación falla por cualquier causa (normalmente un funcionamiento
defectuoso del driver instalado por Xilinx para el puerto paralelo) no se podrán llevar a cabo
estas tareas y será necesario recurrir a las utilidades de XESS. Para ello hemos de construir un
fichero del tipo .svf. El procedimiento para generar un fichero de configuración en este formato
será:
1. Conmutar IMPACT al modo de generación de ficheros (Mode  File Mode).
2. Seleccionar la pestaña SVF-STAPL-XSVF. Automáticamente se muestra un
mensaje indicando que hay un dispositivo y un fichero de configuración en la
aplicación y se nos pregunta si queremos respetarlo. En caso afirmativo se nos
presenta como en el caso precedente. En caso negativo o que no estuviera
disponible lo debemos añadir con Add Xilinx Device….
3. Ahora podemos crear el fichero con tan sólo activar el icono del dispositivo con el
ratón y seleccionar del menú contextual la tarea que se desee realizar. La figura
siguiente ilustra la situación.

18
TUTORIAL DE ISE WebPack

Figura 21. Tareas disponibles para realizar sobre el dispositivo en modo generación de fichero.

En el caso de que seleccionemos la tarea ‘Program…’ y se genere el fichero .svf con


éxito obtendremos un mensaje como el siguiente:

Figura 22. Creación de un fichero de programación .svf con éxito.

Ahora con el fichero .svf correspondiente (en nuestro caso dec7seg.svf) podemos
usar las utilidades XESS para cargar el programa en el dispositivo CPLD y configurarlo. La
figura siguiente muestra la utilidad de carga (gxsload.exe) configurando la CPLD xc95108 con
nuestro fichero dec7seg.svf. Para seleccionar el fichero de configuración basta con arrastrarlo
hasta la caja FPGA/CPLD de gxsload.

19
TUTORIAL DE ISE WebPack

Figura 23. Utilidad gxsload de XESS configurando una CPLD con el fichero dec7seg.svf.

Posteriormente, podemos comprobar el correcto funcionamiento de nuestro diseño


introduciendo datos por el puerto paralelo gracias a la utilidad gxsport (gxsport.exe) de XESS.

Figura 24. Utilidad gxsport de XESS emitiendo valores a través del puerto paralelo.

20