Anda di halaman 1dari 24

Tutorial Xilinx-ISE Manejo bsico

Susana Holgado Escuela Politcnica Superior UAM

Tutorial Xilinx-ISE

Xilinx-ISE
La herramienta Xilinx-ISE (Integrated Software Environment) es una herramienta de diseo de circuitos profesional que nos va a permitir, entre otras funciones, la realizacin de esquemticos y su posterior simulacin La herramienta consta de dos partes:
Project Navigator: donde se realizar el diseo del circuito, bien mediante un esquemtico o utilizando un lenguaje especfico de diseo ModelSim: donde podr realizarse la simulacin del funcionamiento del circuito y de este modo comprobar si funciona segn las especificaciones establecidas

Tutorial Xilinx-ISE

Se describir a continuacin el funcionamiento del programa, y para ello se realizar el diseo de un circuito lgico que cumpla la siguiente tabla de verdad:
Num 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Z 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0

Tutorial Xilinx-ISE

Haciendo la tabla de Karnaugh y las simplificaciones habituales, se obtiene:

Z = B D + ABCD + AC D
Para implementar este circuito, por tanto, necesitaremos: 1 puerta OR
1 puerta AND de 2 entradas 1 puerta AND de 3 entradas 1 puerta AND de 4 entradas 3 inversores para generar las lneas negadas de A, B y D.

Este programa de diseo de circuitos, trabaja bajo entorno WINDOWS, por lo que primero habr que entrar en este sistema. Una vez iniciado Windows buscamos el icono correspondiente al programa Project Navigator (Figura 1) y lo ejecutamos pulsando dos veces sobre l con el ratn usando el botn izquierdo
Fig. 1

Tutorial Xilinx-ISE

1. Creacin de un nuevo proyecto

Un proyecto es un conjunto de ficheros de diseo, tales como esquemticos, lneas de cdigo de programas (si se ha realizado el diseo utilizando un lenguaje de programacin especfico de diseo de circuitos HDL), listas de conexionado, libreras de componentes, vectores de test para la simulacin, etc., seleccionados para un diseo especfico Nada mas acceder al programa, aparecer por pantalla una ventana como la que se muestra en la figura 2, y que da acceso al programa de diseo

Tutorial Xilinx-ISE

1. Creacin de un nuevo proyecto

Fig. 2

Tutorial Xilinx-ISE

1. Creacin de un nuevo proyecto


Para crear un nuevo proyecto:
Seleccionar File New Project En la ventana de dilogo de New Project indicar el directorio de ubicacin del proyecto en Project Location Aadir el nombre tutorial en Project Name Automticamente se crea un subdirectorio en la ruta indicada en Project Location con el nombre del proyecto, en este caso tutorial, y donde se almacenar todo lo relacionado a este proyecto Usar las flechas de desplazamiento para aadir el valor adecuado en los campos correspondientes a Project Device Options:
Device name: Virtex Device: XCV50-6bg256 Design Flow: XST VHDL

Tutorial Xilinx-ISE

1. Creacin de un nuevo proyecto


El resultado se muestra en la figura 3:

Fig. 3

Al presionar el botn OK ISE crea y muestra el nuevo proyecto en el Project Navigator. Se observarn cambios con respecto al aspecto inicial de la ventana en la parte izquierda, en Sources in Proyect, donde aparece el proyecto creado, como se ve en la figura 4

Tutorial Xilinx-ISE

1. Creacin de un nuevo proyecto

Fig. 4

El paso siguiente ser el diseo del circuito que responda a la tabla de verdad indicada al comienzo del tutorial.

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


Seleccionar Project New Source Seleccionar Schematic como tipo de fuente En File Name le damos el nombre al diseo, por ejemplo circuito Se presiona Siguiente Se presiona Finalizar para concluir (Figura 5)

Fig. 5

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


Se abre entonces la ventana correspondiente al editor de esquemticos, Xilinx ECS (Engineering Schematic Capture) (Figura 6), donde aparece, en la parte superior izquierda y entre parntesis el nombre que hemos dado al esquemtico, circuito.

Fig. 6

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.1. Componentes Lo primero ser fijar las puertas necesarias para la realizacin del circuito. En la parte derecha del editor de esquemticos (figura 6) puede verse una ventana llamada Categories, donde se muestra una clasificacin de las distintas categoras de componentes. Seleccionando cualquiera de ellas puede verse en la ventana inmediatamente inferior, Symbols, las puertas y componentes que forman la categora seleccionada. Si se selecciona <All Symbols> podr tenerse un listado de todos los componentes pertenecientes a la librera de componentes Para poder obtener las puertas lgicas necesarias, habr que seleccionar <All Symbols> o Logic en la ventana de Categories, y una vez en Symbols, coger:
and2: and 3: and 4: or3: inv: puerta AND de 2 entradas puerta AND de 3 entradas puerta AND de 3 entradas puerta OR de 3 entradas inversor (se necesitarn 3)

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.1. Componentes Si se desea rotar un componente puede hacerse empleando la ventana inferior derecha del editor de esquemticos, Orientation, y utilizando el men desplegable elegir la orientacin deseada Para eliminar un componente del editor de esquemticos simplemente hay que seleccionarlo y pulsar la tecla Supr. As mismo, para mover un componente bastar con seleccionarlo y arrastrarlo hasta el lugar deseado mientras se mantiene pulsado el botn izquierdo del ratn Tras la eleccin de las puertas necesarias, el editor de esquemticos muestra la apariencia de la figura 7 Se recomienda salvar el esquemtico a menudo, para evitar posibles problemas. Ello puede hacerse desde File Save As o pulsando el icono

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.1. Componentes

Fig. 7

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.2. Conexionado El siguiente paso ser realizar las uniones entre las distintas puertas. Ello puede hacerse desde el men principal del editor de esquemticos: Add Wire, o pulsando el smbolo . El cursor se transformar en una cruz. Tendremos que pulsar con el botn izquierdo del ratn los dos extremos para que queden unidos por un cable Si queremos unir una entrada o salida de un componente y dejar el otro lado del cable al aire tendremos que hacer un doble click con el botn izquierdo del ratn para indicar que el extremo final va suelto El aspecto que ofrece el circuito en este momento, y tras hacer un zoom para tener una mejor visin, es el mostrado en la figura 8. Se aade, para mejor comprensin, y utilizando flechas auxiliares (que no forman parte del diseo) a qu entrada o salida corresponde cada cable

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.2. Conexionado

Z D C B A

Fig. 8

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.3. Aadir nombres a los cables Llega el momento de indicar el nombre de cada uno de los cables, para saber as qu seal estn llevando u obteniendo de las puertas Esto puede realizarse desde el men principal del editor de esquemticos: Add Net Name, o pulsando el smbolo . El cursor se transformar en una cruz En el men principal habr que aadir el nombre del cable en la ventana a la derecha de Name Branch. Comenzaremos por A:

En el cursor, que se haba transformado en una cruz, se aade ahora la letra A. Habr que arrastrar el cursor hasta el punto final del cable correspondiente a la seal A y que habamos dejado libre y pinchar con el botn izquierdo en ese punto para aadir el nombre

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.3. Aadir nombres a los cables Se repite la operacin para B, C, D y Z. El aspecto del editor de esquemticos en este momento se muestra en la figura 9

Fig. 9

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.4. Terminales de entrada/salida El siguiente paso sera identificar la direccin de cada seal, esto es, si corresponde a una entrada o a una salida Para aadir terminales de entrada/salida: Add I/O Marker o bien pulsar el icono En el men principal hay que indicar si es un terminal de entrada, de salida o bidireccional. Comenzaremos con las entradas, con lo que seleccionaremos input: El cursor se transforma en un smbolo de terminal de entrada que habr que arrastrar hasta el punto final de alguna de las entradas, que hemos nombrado previamente, y pinchar con el botn izquierdo del ratn. Veremos que el smbolo de entrada engloba a la letra correspondiente, fijndola como terminal de entrada:

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.4. Terminales de entrada/salida Tras repetir la operacin para el resto de entradas y para la salida (seleccionando previamente Output en el men principal) el aspecto del esquemtico del circuito se muestra en la figura 10

Fig. 10

Tutorial Xilinx-ISE

2. Realizacin del esquemtico del circuito


2.5. Comprobacin del circuito Una vez terminado el diseo del circuito puede hacerse una simple comprobacin sobre el mismo, para asegurarnos de que todas las conexiones ests hechas correctamente y que no quedan cables sueltos o puertas sin conectar Para ello, desde el men principal: ToolsCheck Schematic, o bien mediante el icono Aparecer una ventana que nos informar sobre si hay algn error en el circuito. Si todo est correcto la ventana ser la mostrada en la figura 11

Fig. 11

Tutorial Xilinx-ISE

3. Creacin de un smbolo
Con el esquema realizado se puede hacer un nuevo componente consistente en una especie de caja negra, donde el usuario slo ver un bloque con el mismo nmero de entradas y de salidas que el esquema original, que englobar a ste y realizar su misma funcin Este smbolo que se crea pasa a formar parte de la librera de componentes del proyecto, y podr utilizarse como un componente ms Para crearlo: ToolsCreate Symbol desde el men principal. Aparece entonces la ventana de la figura 12, donde indica el nombre que se le dar al smbolo, y que por defecto es el nombre del esquemtico (puede cambiarse), las entradas y salidas del mismo

Tutorial Xilinx-ISE

3. Creacin de un smbolo

Fig. 12

Pulsando OK el programa genera el smbolo y lo muestra (figura 13)

Tutorial Xilinx-ISE

3. Creacin de un smbolo

Fig. 13

Tutorial Xilinx-ISE

3. Creacin de un smbolo
Si nos fijamos en la parte inferior izquierda de la ventana de editor de esquemticos, podemos ver que hay dos pestaas, circuito y circuito.sym, correspondientes a las dos hojas que tenemos abiertas en el editor de esquemticos. Pulsando sobre circuito se accede al esquema original y sobre circuito.sym al smbolo que hemos creado del circuito En el esquema del circuito original, si ahora nos fijamos en la ventana de la parte derecha, Categories, vemos que hay una nueva categora, <d:/xilinx/bin/tutorial>, que corresponde a la librera del proyecto que hemos abierto, y donde ha almacenado el componente creado. De hecho, si seleccionamos esta categora, podemos ver en la ventana inferior, Symbols, que ah est el componente circuito creado, y que ahora puede utilizarse como un componente ms a la hora de disear

Tutorial Xilinx-ISE

4. Simulacin
Una vez que se tiene el circuito listo, revisado y libre de errores, ser necesario comprobar su correcto funcionamiento, y para ello habr que realizar la simulacin del circuito 4.1. Creacin de un banco de pruebas Lo primero ser crear un banco de pruebas, donde introduciremos los valores que se asignarn a las entradas del circuito y en funcin de los cuales se obtendr una salida que habr que ver si coincide con la esperada Los pasos a seguir son los siguientes:
Seleccionar el circuito (circuito.sch) en la ventana Sources in Project Seleccionar ProjectNew Source En la ventana de dilogo que aparece (figura 14), seleccionar Test Bench Waveform Asignarle un nombre, por ejemplo circuito_tbw (tbw son las iniciales de Test Bench Waveform, para recordar qu es lo que se est haciendo) Presionar Siguiente Presionar Siguiente Presionar Finalizar

Tutorial Xilinx-ISE

4. Simulacin

Fig. 14

Realizados los pasos siguientes, se inicia el banco de pruebas y el programa queda listo para introducir los requerimientos necesarios

Tutorial Xilinx-ISE

4. Simulacin
En la ventana Initialize Timing hay que especificar los parmetros de tiempos que se usarn en la simulacin (figura 15)

Fig. 15

Tutorial Xilinx-ISE

4. Simulacin
Con el reloj (clock) a nivel bajo (cero lgico) y a nivel alto (uno lgico) se define el periodo de operacin de cada seal. La entrada Input setup time define cundo son vlidas las entradas. La salida Output valid delay, define el tiempo despus de la activacin del reloj, tras el que las salidas son vlidas Para este tutorial no cambiaremos ninguna de las especificaciones por defecto. Estas especificaciones son:
Clock high time: Clock low time: Input setup time: Output valid delay: 50 ns 50 ns 10 ns 10 ns

En la ventana Initialize Timing presionaremos OK para aceptar las especificaciones por defecto. Aparecer entonces la ventana correspondiente al banco de pruebas que se utilizar para la simulacin (figura 16)

Tutorial Xilinx-ISE

4. Simulacin

Fig. 16

Tutorial Xilinx-ISE

4. Simulacin
En la parte superior de la ventana del banco de pruebas (figura 16) aparece el banco de pruebas como tal, donde habr que introducir los estmulos (ceros o unos) correspondientes a las entradas para poder reproducir la tabla de la verdad del circuito diseado Aparecen, en la parte izquierda, las seales de las cuatro entradas y la salida. Inicialmente, todas las entradas se encuentran a cero En la parte inferior de la ventana aparece la transcripcin, en lenguaje HTML, del circuito creado en el editor de esquemticos

Tutorial Xilinx-ISE

4. Simulacin
4.2. Inicializacin de las entradas del circuito En la ventana de formas de onda, en el banco de pruebas, es necesario inicializar las entradas con los valores adecuados para poder comprobar el correcto funcionamiento del circuito. Los estmulos (ceros o unos) se introducirn en la zona azul de cada celda Segn la tabla de verdad, la entrada A permanece 8 estados a 0 y otros 8 a 1, esto es, permanece 8 ciclos de reloj a nivel bajo y 8 a nivel alto. La entrada B cambia de 0 a 1 cada 4 ciclos de reloj, la entrada C realiza el cambio cada 2 ciclos de reloj y, por ltimo, la entrada D cambia continuamente de 0 a 1 En la ventana del banco de pruebas (figura 16) iremos introduciendo los valores (0 o1) para reproducir la tabla de verdad. Los cambios se reflejarn para cada intervalo de tiempo en la parte superior de la ventana (Time (ns), parte gris)

Tutorial Xilinx-ISE

4. Simulacin
Los valores (0 o 1) se introducen en los rectngulos azules (pinchando con el botn izquierdo del ratn) que aparecen para cada intervalo de tiempo y en cada una de las variables
Seal A: 0 en 0 ns; 1 en 800 ns Seal B: 0 en 0 ns; 1 en 400 ns; 0 en 800 ns; 1 en 1200 ns Seal C: 0 en 0 ns; 1 en 200 ns; 0 en 400 ns; 1 en 600 ns; 0 en 800 ns ... Seal D: 0 en 0 ns; 1 en 100 ns; 0 en 200 ns; 1 en 300 ns; 0 en 400 ns...

La salida se completar en 1500 ns Pueden utilizarse los botones Zoom In, Zoom Out o seleccionar en el botn desplegable el porcentaje de ventana mostrado para poder ver todas las seales introducidas

El resultado puede verse en la figura 17

Tutorial Xilinx-ISE

4. Simulacin

Fig. 17

Tutorial Xilinx-ISE

4. Simulacin
El banco de pruebas as creado se salva desde el men principal: File Save Waveform o pinchando en el icono Al realizar esa operacin, aparece un cuadro de dilogo donde el banco de pruebas nos permite establecer los ciclos de reloj que quieren simularse. En este caso se necesitan 8 ciclos de reloj para visualizar el comportamiento completo del circuito, as que se introducir el valor 8:

Se pulsa OK al terminar, y despus se puede salir del banco de pruebas: File Exit

Tutorial Xilinx-ISE

4. Simulacin
4.3. Generacin de los valores de salida esperados en la simulacin Los pasos a seguir son los siguientes:
Seleccionar circuito_tbw.tbw en la ventana Sources in Project del Project Navigator En la ventana Processes for Current Source, pinchar en el smbolo + junto a ModelSim Simulator para expandir la jerarqua (figura 18) Doble click en Generate Expected Simulation Results

Fig. 18

Tutorial Xilinx-ISE

4. Simulacin
Tras realizar los pasos anteriores, aparece la ventana del banco de pruebas con el resultado de la simulacin. Puede verse los valores que va tomando la salida Z en funcin de las entradas (figura 19)

Fig. 19

Puede salirse del HDL Bencher sin salvar las formas de onda

Tutorial Xilinx-ISE

4. Simulacin
La simulacin realizada es una simulacin funcional, donde simplemente se ven los valores de la salida en funcin de las entradas, pero sin tener en cuenta que el circuito est realizado con componentes reales que sufren retrasos que pueden afectar a las entradas Puede realizarse una simulacin del comportamiento del circuito (behavioral), utilizando la herramienta ModelSim para ver una salida real que produce el circuito diseado

Tutorial Xilinx-ISE

4. Simulacin
4.4. Simulacin del comportamiento del circuito Simulaci

Pasos a seguir:
En Project Navigator, seleccionar circuito_tbw.tbw en la ventana Sources in Project En la ventana Processes for Current Source, desplegar el men de jerarqua con + y hacer doble click en Simulate Behavioral VHDL Model (figura 20). En ese momento se carga el programa ModelSim

Fig. 20

Tutorial Xilinx-ISE

4. Simulacin
Al arrancar el programa ModelSim aparece la ventana ModelSim XE Starter:

Y arranca el programa de simulacin. Se observar que van apareciendo una serie de ventanas:

Tutorial Xilinx-ISE

4. Simulacin
Ventana Structure Ventana Wave-default

Ventana Signals

Tutorial Xilinx-ISE

4. Simulacin
Los resultados de la simulacin del comportamiento del circuito se mostrarn en la ventana de ondas (Wave) Nota: ISE automatiza el proceso de simulacin creando y ejecutando un fichero macro de simulacin (fichero .fdo), que no es visible para el usuario pero que realiza las siguientes funciones:
Crea las libreras de diseo Compila el diseo y los ficheros del banco de pruebas Llama al simulador Abre todas las ventanas relacionadas con la simulacin Aade todas las seales a la ventana de ondas (Wave window) Aade todas las seales a la ventana de seales (Signal window) Corre la simulacin para el tiempo especificado en Run Time Property (por defecto, 1000 ns)

Tutorial Xilinx-ISE

4. Simulacin
En la ventana Wave-default, habr que hacer un zoom para poder visualizar la salida del circuito. Presionar Zoom Zoom Full y Zoom Zoom In. La forma de ondas del circuito ser de la forma mostrada en la figura 21

Fig. 21

Tutorial Xilinx-ISE

4. Simulacin
Para una comprobacin ms fcil del correcto funcionamiento del circuito y puesto que las entradas recorren todos los posibles estados (0, 1, 2... 7) sera bueno poder reunir las entradas individuales en una, bajo la forma de un vector y que as nos mostrara los estados por los que van pasando las combinaciones de las seales a las que representa Para ello, seleccionamos las entradas del circuito en la ventana wavedefault pulsando el botn izquierdo del ratn, con lo que aparecern en el interior de un recuadro blanco:

Tutorial Xilinx-ISE

4. Simulacin
Sobre las entradas seleccionadas pulsamos el botn derecho del ratn y accedemos a Combine:

En el cuadro de dilogo que aparece hay que dar un nombre a la nueva seal combinada, por ejemplo entradas:

Tutorial Xilinx-ISE

4. Simulacin
Pulsamos OK y vemos que en la ventana wave-default aparece una nueva seal /testbench/entradas. Si pulsamos en el smbolo + podemos ver la jerarqua, esto es, las seales que tiene por debajo y a las que representa Para visualizar los valores de esta seal combinada en decimal en vez de en binario como aparecen, habr que seleccionar la entrada combinada, pulsar el botn derecho del ratn y en el men de opciones elegir RadixDecimal. Para mayor facilidad, podemos desplazar la seal de salida z inmediatamente debajo de la seal de entrada combinada, pinchando en la seal de salida y arrastrando hacia arriba la seal con el botn izquierdo del ratn pulsado. El aspecto de la simulacin se muestra en la figura 22

Tutorial Xilinx-ISE

4. Simulacin

Fig. 22

Se sale del ModelSim cerrando la ventana ModelSim XE Starter

Anda mungkin juga menyukai