Sei sulla pagina 1di 32

INSTITUTO DE ELECTRNICA Y COMPUTACIN

SISTEMAS DIGITALES
Tutorial para el diseo y simulacin de un circuito digital con VHDL , sntesis e implementacin en un FPGA

Alumno : ___________________________________________ Grupo : _________________

Prof. M. C. Felipe Santiago Espinosa

Octubre de 2004

Sistemas Digitales

UTM/2005-1

Tutorial para el diseo y simulacin de un circuito digital con VHDL , sntesis e implementacin en un FPGA 1. Introduccin En este documento se presentan de manera detallada los pasos a seguir desde el planteamiento de un circuito digital hasta su puesta en marcha y verificacin en una tarjeta de desarrollo Digilab 2SB-IO4, el ejemplo que se desarrolla es bastante simple por que el objetivo del tutorial es ilustrar el proceso y no resolver un problema complejo. 2. Planteamiento del problema Se desea disear e implementar un comparador de 4 bits: Un circuito que como entradas reciba dos nmeros A y B de 4 bits y como salidas indique si A > B, A < B o A = B, esto se muestra en la figura siguiente:

4 Bits

A B

A>B A=B A<B

4 Bits

3. Diseo con VHDL Para el diseo y simulacin se utilizar la herramienta Active-HDL versin 6.2, desarrollada por Aldec, cuyo Icono de acceso directo se muestra a continuacin:

Este programa organiza los diseos en espacios de trabajo (workspace) si es la primera vez que se ejecuta, deber crearse un nuevo espacio de trabajo, en caso contrario puede usarse un espacio de trabajo existente. En la figura siguiente se observa como aunque existan algunos espacios de trabajo, siempre es posible iniciar con uno nuevo.

Sistemas Digitales

UTM/2005-1

Un espacio de trabajo puede contener diversos diseos independientes. Si es la primera vez que trabaja con esta herramienta, es conveniente iniciar con un nuevo espacio de trabajo propio. Al cual deber asignrsele un nombre, en este caso se le puso tutorial:

Si se abre un espacio de trabajo existente, automticamente ser abierto el ltimo diseo elaborado. Para los espacios de trabajo nuevos, se presentar el asistente para iniciar con nuevos diseos, el cual inicia con la figura siguiente:

Sistemas Digitales

UTM/2005-1

La primera opcin se usa cuando ya se cuenta con mdulos que se agregarn al diseo. La segunda es para importar un diseo completo. La ltima opcin es necesaria para nuevos diseos, para este caso es la opcin que debe seleccionarse y despus pasar al paso siguiente. Posteriormente se deben definir algunas caractersticas del diseo de acuerdo con las herramientas que se cuenten para sntesis y al tipo de FPGA sobre el cual se realizar la descarga, de acuerdo con las herramientas con las que se cuenta en la UTM, las opciones a elegir se muestran en la figura siguiente:

Finalmente deber escribirse el nombre del diseo, para este caso fue comparador:

A continuacin se puede disponer del ambiente de trabajo completo de la herramienta que tiene un aspecto como el que se muestra en la figura siguiente:

Sistemas Digitales

UTM/2005-1

A la izquierda se observa un navegador en el que se puede seleccionar una de las 3 opciones siguientes (con sus cejas inferiores): Archivos (File) Se muestra una estructura jerrquica, un espacio de trabajo puede contener varios diseos y un diseo a la vez puede contener varios mdulos (Archivos con cdigo VHDL). Estructura (Structure) Tiene sentido una vez que los mdulos han sido compilados, muestra la organizacin del diseo, as como las seales internas, externas y variables de cada uno de sus mdulos, esta opcin es til para simulacin. Recursos (Recursos) Muestra la organizacin en directorios de todos los elementos que se agreguen al diseo activo. En la parte inferior se tiene una consola en la que aparecern mensajes de acuerdo a las actividades realizadas por el usuario. Es solo con carcter informativo, no es posible introducir informacin a travs de esta consola. A la derecha est el rea de trabajo, aqu se pueden mostrar los elementos que integren al diseo. Archivos con cdigo VHDL, ventanas de simulacin, diagramas de bloques, etc. Basta dar un doble click dentro del navegador para observar el contenido de un archivo y poder modificarlo. Tambin se muestra al flujo de diseo (design flow) con el que es posible insertar mdulos al diseo, preparar su simulacin, realizar su sntesis, etc. En la figura siguiente se observa el flujo de diseo, en la parte superior se tienen tres botones para agregar nuevos mdulos al diseo, stos pueden ser: Mdulos con cdigo HDL, diagramas a Bloques (para mdulos con mayor jerarqua) y diagramas de estado.

Sistemas Digitales

UTM/2005-1

El comparador ser descrito con cdigo VHDL, de manera que se procede con un click en el botn HDE. La herramienta permite seleccionar entre dos tipos diferentes de HDLs:

Se selecciona VHDL y se avanza con un click en OK. Nuevamente un asistente permite iniciar con el nuevo mdulo, se deja activa la opcin de que el cdigo generado se integre al proyecto y se avanza.

Sistemas Digitales

UTM/2005-1

A continuacin se debe escribir el nombre del archivo a crear y de manera opcional el nombre de la entidad y de la arquitectura, si estos se omiten, todos los campos tomarn el mismo nombre, que se decidi fuera comp4b.

Luego deben insertarse una a una las seales que formarn parte de la entidad (interfaz), la insercin de una seal comienza con un click en el botn new, luego se le pone un nombre, si es un vector su tamao se determina con los ndices y debe definirse su modo (entrada o salida).

El proceso debe repetirse con cada una de las seales, de acuerdo a las especificaciones del diseo.

Sistemas Digitales

UTM/2005-1

Al concluir con la insercin de seales se presiona el botn finalizar, con lo que se crear una plantilla del mdulo en un archivo que es agregado al diseo (se observa en el navegador) y ste es automticamente abierto en el rea de trabajo.

Los comentarios de la plantilla pueden completarse para una adecuada documentacin. En este momento ya se tiene descrita la entidad (la interfaz del mdulo) y falta por describir su arquitectura para determinar su comportamiento. Nota: Si se quiere modificar la entidad, para agregar una nueva seal, eliminar una existente o modificar algn parmetro, debe hacerse manualmente, respetando la sintaxis de VHDL, no es posible regresar al asistente anterior. El mdulo a desarrollar es un comparador de 4 bits, de manera que su comportamiento puede determinarse por el proceso siguiente: process( A, B ) begin mayor <= 0; menor <= 0; igual <= 0; if A > B then mayor <= 1; elsif A < B then menor <= 1; else igual <= 1; end if; end process; Existen otras alternativas, sin embargo la descripcin funcional es mas entendible por que refleja directamente la solucin del problema. Nota: Despus de la palabra process se coloca la lista de sensitividad, son seales que activarn la ejecucin del proceso, cuando ocurra un cambio en cualquiera de ellas.

Sistemas Digitales

UTM/2005-1

Este cdigo debe insertarse en la arquitectura, sustituyendo al comentario: -- enter your statements here --

Una vez insertado el cdigo, se verifica su sintaxis realizando su compilacin. Para ello se selecciona al archivo y se presiona al botn compilar . Otra alternativa consiste en obtener un men contextual dando un click derecho en el archivo y seleccionar la opcin de compilacin (compile). Si no hay errores de sintaxis, el archivo tendr otro marcador indicando su estado y la consola reflejar el xito de la compilacin. En caso de que hubiera errores, el archivo en el navegador quedar marcado de manera diferente y los errores se mostrarn en la consola.

Los errores deben resolverse considerando la sintaxis del lenguaje. 4. Simulacin Una vez realizada la compilacin de un mdulo es posible simularlo. La simulacin se inicializa seleccionando la opcin Initialize Simulation en el men Simulation

En este caso se trata de un solo mdulo y no existen jerarquas, cuando se trata de un diseo con mas mdulos, a travs de un cuadro de dilogo debe determinarse cual es el de mayor jerarqua.

Sistemas Digitales

UTM/2005-1

Al iniciar la simulacin, el navegador indica cual es el mdulo de mayor jerarqua y conmuta automticamente las cejas inferiores para mostrar la estructura de los mdulos. Si se expande alguno de los mdulos, podrn verse las seales que contiene:

Para simular se requiere agregar una nueva forma de onda (new Waveform) dando un click al botn , aparecer una ventana de seales vaca, similar a la siguiente:

Las seales se agregan activando el men Waveform y seleccionando la opcin Add Signals, con lo que se obtiene el cuadro de dialogo:

Sistemas Digitales

UTM/2005-1

Una alternativa ms simple consiste en seleccionar las seales del navegador y arrastrarlas a la ventana de seales, en ambos casos el resultado ser el siguiente:

Adems del nombre de las seales, se tienen una columna con su valor y otra indicando el tipo de estmulo. A la derecha hay una zona donde se mostrar el comportamiento temporal de cada seal. No hay que olvidar que se est simulando hardware y para probar un elemento de hardware es necesario ingresar algunas seales a las entradas y observar las salidas, con ello se evala si la funcionalidad del mdulo es o no correcta. Las seales de entrada son proporcionadas a travs de estmulos, existen estmulos de diferentes tipos, adecuados para diferentes tipos de seales. Los estmulos se obtienen al dar un click derecho a una seal de entrada, con ello aparece un men contextual en el cual debe seleccionarse la opcin estmulos ( Stimulators ).

Con esto se obtiene un cuadro de dialogo en el cual de izquierda a derecha muestra: La seal bajo consideracin, la lista de estmulos y las caractersticas propias de cada tipo de estmulos (ests se obtienen al seleccionar un estmulo particular y en algunos casos es necesario introducir algunos parmetros). Para el comparador de 4 bits, puesto que A y B son vectores, para ambas seales se elegirn estmulos tipo contador, slo que para observar la activacin de las diferentes salidas A ser ascendente y B descendente.

10

Sistemas Digitales

UTM/2005-1

Una vez que se selecciona el tipo de estmulo y se determinan sus parmetros, debe presionarse el botn Aplicar (Apply) de lo contrario los estmulos no sern considerados. No es necesario cerrar la ventana de estmulos y abrirla para una nueva seal, es suficiente dar un click a la seal y sta se incorporar a la ventana de estmulos.

Una vez definidos todos los estmulos debe cerrarse la ventana de estmulos (Close). Con esto se han establecido todas las condiciones de simulacin, la cual se realiza con los botones , el primero de ellos (Run until) permite simular hasta que se alcance un tiempo dado, ste se introduce en un cuadro de dilogo que aparece despus de que el botn se presiona.

El segundo botn (Run for) realiza la simulacin por el tiempo indicado en el cuadro de edicin contiguo, este tiempo puede modificarse para proporcionar diferentes intervalos de simulacin.

11

Sistemas Digitales

UTM/2005-1

El ltimo botn (Restart) ignora los eventos transcurridos para iniciar nuevamente con la simulacin. Las seales se generan conforme se avanza en la simulacin, las entradas estn dadas por los estimuladores y las salidas son una funcin de las entradas.

Para una mejor visualizacin de las seales, pueden usarse los botones: cuya respectiva funcin es: Zoom In, Zoom Out, Zoom to Fit y Zoom Range.

Para propsitos de documentacin, es posible agregar comentarios con explicaciones, esto se consigue al dar un click derecho y elegir la opcin Insertar Comentario (Insert Comment) del men contextual.

Una vez realizada la simulacin, puede garantizarse que el mdulo funciona y se procede a la Sntesis e Implementacin. Pero antes, habr que detener la simulacin seleccionando la opcin End Simulation en el men Simulation

12

Sistemas Digitales

UTM/2005-1

5. Sntesis La versin 6.2 de Active-HDL proporciona un ambiente desde el cual es posible realizar la sntesis e implementacin de un diseo (esto se observa en el flujo de diseo), para ello invoca a las herramientas de Xilinx. Sin embargo, lo mas adecuado es manipular directamente las herramientas de Xilinx desde un Ambiente Integrado de Software ( Integrated Software Environment ISE ) el cual es una suite de herramientas manipuladas desde el Navegador de Proyectos (Project Navigator). Por tanto, en este momento es posible cerrar al Active-HDL respaldando la ventana de seales solo para documentacin y abrir el Project Navigator, cuyo icono de acceso directo es:

Al ejecutar este programa se mostrar el Tip del Da y luego se abrir el ltimo proyecto en el que se haya trabajado. Es necesario iniciar con un nuevo proyecto seleccionando la opcin New Project en el men File, con esto se obtendr el cuadro de dilogo similar al siguiente:

Primero debe seleccionarse la ubicacin del proyecto en disco y luego asignrsele un nombre. Esto para que el proyecto quede ubicado en una carpeta con el mismo nombre. Para el tipo de mdulo superior se mantiene HDL por que se trabajar con el archivo previamente desarrollado para el comparador. Nota: El nombre del proyecto debe ser diferente al de los mdulos HDL para evitar conflictos de nombres al momento de hacer la sntesis e implementacin.

13

Sistemas Digitales

UTM/2005-1

Una vez que se introduzcan estos datos se procede con el paso siguiente. En el cual se determinarn algunas propiedades de acuerdo al FPGA en el que se vaya a realizar la descarga.

Los valores seleccionados corresponden al FPGA que est integrado en las tarjetas de desarrollo existentes en la UTM. El paso siguiente es para empezar con nuevos archivos con cdigo fuente.

14

Sistemas Digitales

UTM/2005-1

Se avanza al paso siguiente por que se trabajar con un archivo previamente elaborado.

Presionando el botn Add Source se explora para encontrar el archivo que contiene al cdigo VHDL con la descripcin del Comparador (Comp4b.vhd), el cual debe estar en la ruta C:\My_Designs\tutorial\comparados\src, se selecciona y se indica que es un mdulo VHDL.

Si el proyecto tuviera mas mdulos, todos se insertaran de manera similar. Antes de avanzar al paso siguiente es necesario asegurarse que la opcin Copy to Project est seleccionada.

15

Sistemas Digitales

UTM/2005-1

El paso siguiente muestra un resumen con la informacin del proyecto, si todo est bien se finaliza con la creacin del proyecto (Botn Finalizar).

En el ambiente del Project Navigator se distinguen cuatro reas, en la parte superior izquierda se muestran los diferentes archivos fuente que integran al proyecto, a manera de un rbol. Si el proyecto estuviera formado por varios mdulos, en este rbol se ubicaran de acuerdo a sus niveles jerrquicos.

Por debajo de esta zona est una lista de procesos aplicable al archivo seleccionado, de acuerdo con su tipo, a los archivos se les pueden aplicar diferentes procesos.

16

Sistemas Digitales

UTM/2005-1

A la derecha est un rea en donde sern abiertos los diferentes archivos fuente o reportes que se generen. Por ejemplo, para abrir el archivo Comp4b.vhd basta con darle un doble click. En la parte inferior se encuentra la consola de mensajes indicando las diferentes actividades que se estn realizando. Para la Sntesis del proyecto basta con seleccionar el archivo Comp4b.vhd y en la ventana de procesos buscar el proceso Synthesize XST y darle un doble click para ejecutarlo.

Una vez finalizado el proceso, es posible observar los componentes a los cuales es sintetizado el mdulo en una lgica de transferencia de registro (RTL), para ello se da un doble click al proceso View RTL Shematic. Con esto se ejecuta una aplicacin denominada Xilinx ECS ( Engineering Capture System ), en la cual se puede navegar con los botones para observar el circuito sintetizado a diferentes niveles de detalle. Al nivel mas alto:

Observando internamente (un nivel mas bajo) :

17

Sistemas Digitales

UTM/2005-1

Estos diagramas permiten evaluar la funcionalidad del circuito y son tiles para documentacin. En este momento el programa Xilinx ECF puede cerrarse, su uso permiti garantizar que la sntesis se hizo de manera satisfactoria. 6. Acondicionamiento para la implementacin. Como pudo observarse en los diagramas anteriores, el cdigo VHDL ha sido sintetizado satisfactoriamente en hardware, ahora habr que tomar algunas consideraciones para poder llevar a cabo su implementacin. El circuito ser descargado en un FPGA XC2S200 de Xilinx, el cual est en una tarjeta Digilab 2SB & I/O 4 que se muestra a continuacin:

Digilent es la empresa que manufactura estas tarjetas de desarrollo y a todos sus tarjetas las denomina como Digilab (www.digilentinc.com), 2SB es la serie de la tarjeta con un FPGA Spartan II e I/O 4 es la serie de la tarjeta con elementos de entrada/salida necesarios para evaluar al FPGA. La tarjeta 2SB tiene conectores cuyas terminales estn conectadas al FPGA y en algunos de esos conectores se ha conectado a la tarjeta I/O 4, la cual cuenta con interruptores y botones para entrada de datos y LEDs y desplegadores de 7 segmentos para salidas. Para la implementacin del comparador, es de esperarse que las entradas A y B se obtengan de los interruptores y las salidas (Mayor, Menor e Igual) se muestren en los LEDs. Se requiere conocer el nmero de terminal del FPGA a la cual se conecta cada elemento de la tarjeta. En la tabla siguiente se muestra a que terminal se conecta cada uno de los elementos de la tarjeta I/O 4 en uno de los puertos, el puerto correspondiente en la tarjeta D2SB, el nmero de terminal en esa tarjeta y la correspondiente terminal en el FPGA. Est informacin fue obtenida de los manuales de ambas tarjetas (http://www.digilentinc.com/Materials/BoardProducts.html).

18

Sistemas Digitales

UTM/2005-1

DIO4 CONECTOR CONECTOR 2SB FPGA SALIDAS EN INDICADORES TIPO LED 35 P1 A1 5 111 LED 1 33 P1 A1 7 109 LED 2 31 P1 A1 9 102 LED 3 29 P1 A1 11 100 LED 4 27 P1 A1 13 98 LED 5 25 P1 A1 15 96 LED 6 23 P1 A1 17 94 LED 7 21 P1 A1 19 89 LED 8 22 P1 A1 20 181 HAB GLOBAL HABILITADORES DE LOS DESPLEGADORES DE 7 SEGMENTOS 15 P1 A1 25 176 AN1 16 P1 A1 26 175 AN2 13 P1 A1 27 174 AN3 14 P1 A1 28 173 AN4 SEGMENTOS COMUNES A TODOS LOS DESPLEGADORES DE 7 SEGMENTOS 35 P2 A2 5 161 CA 33 P2 A2 7 152 CB 31 P2 A2 9 150 CC 29 P2 A2 11 148 CD 27 P2 A2 13 146 CE 25 P2 A2 15 141 CF 23 P2 A2 17 139 CG 21 P2 A2 19 136 DP BOTONES 22 P2 A2 20 135 BOTON 1 19 P2 A2 21 134 BOTON 2 20 P1 A1 22 180 BOTON 3 17 P1 A1 23 179 BOTON 4 18 P1 A1 24 178 BOTON 5 INTERRUPTORES 38 P2 A2 4 162 SWITCH 1 36 P2 A2 6 160 SWITCH 2 34 P2 A2 8 151 SWITCH 3 32 P2 A2 10 149 SWITCH 4 30 P2 A2 12 147 SWITCH 5 28 P2 A2 14 145 SWITCH 6 26 P2 A2 16 140 SWITCH 7 24 P2 A2 18 138 SWITCH 8 PUERTO PS2 17 P2 A2 23 132 PS2D 20 P2 A2 22 133 PS2C PUERTO VGA 16 P2 A2 26 126 RED 15 P2 A2 25 127 GREEN 18 P2 A2 24 129 BLUE 14 P2 A2 28 123 HOR SYNC 13 P2 A2 27 125 VER SYNC EN LA TARJETA (2SB) 187 154 182 PUSH BUTTON LED OSC. 50 MHZ

19

Sistemas Digitales

UTM/2005-1

En la tabla anterior se observa que los LEDs tienen un habilitador global, en este momento en el diseo no hay alguna salida para esta habilitacin, se agregar modificando directamente el cdigo VHDL en el Project Navigator (al darle un doble click al archivo com4b.vhd en la seccin Sources in Project, el archivo es abierto para su modificacin). En la entidad se agregar un nuevo puerto, con la siguiente declaracin: HabGlob : out STD_LOGIC; Y en la arquitectura se asignar un nivel alto a esta seal para una habilitacin permanente: HabGlob <= 1; Esto se hace fuera del proceso. El cdigo completo quedar como:

Con estos cambios el estado de la sntesis es desconocido: y es necesario ejecutar nuevamente este proceso (aplicndole un doble click) para actualizar al hardware. Cuando el proceso finaliza su estado se actualiza: y es posible ver los cambios del hardware ejecutando el proceso View RTL Shematic.

20

Sistemas Digitales

UTM/2005-1

En la figura anterior se muestra que se ha agregado la nueva seal y en la figura siguiente, al explorar en un nivel mas bajo, se observa que siempre tendr un valor constante.

Puede cerrarse el programa Xilinx ECF. Para la asignacin de terminales es necesario agregar un archivo de restricciones (archivo con extensin UCF), para ello, en cualquier parte del rea de Sources in Project dar un click derecho y en el men contextual seleccionar la opcin New Source

Dentro de los diferentes tipos de archivo que pueden insertarse seleccionar Implementation Constraints File y asignarle un nombre.

21

Sistemas Digitales

UTM/2005-1

Al avanzar se debe seleccionar el mdulo con el cual se asignarn las restricciones, en este caso slo se tiene un mdulo en el diseo, si hubiera mas habra que seleccionar al de mayor jerarqua.

Luego solo se muestra informacin sobre este nuevo archivo y se finaliza.

Con esto aparece un nuevo archivo en el rea Sources in Project.

22

Sistemas Digitales

UTM/2005-1

Para modificarlo habr que seleccionarlo dentro del rea Sources in Project, con ello en el rea Processes for Source se mostrarn los procesos aplicables al archivo.

Al dar un doble click al proceso Edit Constraints (Text) el archivo es abierto en el rea de trabajo y es posible escribir la asignacin de terminales. La asignacin de terminales obedece la sintaxis siguiente: NET nombre de la seal LOC = PXXX; donde NET y LOC son palabras reservadas. XXX es el nmero de terminal en el FPGA. Cuando se trata de un vector cada elemento se indica entre los smbolo < >. As, el archivo terminales.ucf debe modificarse para quedar como:

El smbolo # permite insertar comentarios en los archivos de restricciones. Al salvar el archivo se tiene al diseo acondicionado para la tarjeta de desarrollo a usar, por lo que debe procederse con la implementacin. Nota: El archivo con restricciones (UCF) puede realizarse con cualquier editor de textos y de esta forma, despus del click derecho habra que seleccionar la opcin Add Source, en lugar de New Source, buscar al archivo y asociarlo con el que le corresponda del cdigo VHDL.

23

Sistemas Digitales

UTM/2005-1

7. Implementacin. La implementacin es un proceso que involucra varios pasos: Trasladar (Traslate), mapeo (Map) y colocacin y ruteo (Place & Route). Sin embargo esto lo realiza la herramienta de manera automtica. Para ello es necesario seleccionar el archivo comp4b en el rea Sources in Project, con ello se abrirn los procesos aplicables al archivo en el rea Processes for Source, buscar al proceso Implement Design y darle un doble click para ejecutarlo.

En la figura anterior se observa que la implementacin fue realizada con Warnings, esto normalmente ocurrir en diseos combinacionales por que no se est utilizando una seal de reloj explcita. En el reporte del Mapeo (Report Map) es posible conocer los recursos que est usando el diseo dentro del FPGA, entre los cuales destacan: Number of 4 input LUTs: Number of occupied Slices: Number of bonded IOBs: 9 out of 4,704 1% 5 out of 2,352 1% 12 out of 142 8%

Y con el reporte Text-Based Post-Place & Route Static Timing Report el cual se puede ver al expadir al proceso Generate Post-Place & Route Static Timing, es posible saber cual es el retardo mas grande que existe para las salidas, a partir de las entradas. En este caso el retardo mayor se da de la entrada A<0> a la salida menor y es de 13.651 ns.

24

Sistemas Digitales

UTM/2005-1

Es posible explorar el interior del FPGA para observar los recursos que est ocupando un diseo, esto se consigue al dar un doble click al proceso View/Edit Routed Design (FPGA Editor), con esto se ejecutar al programa Xilinx FPGA Editor, el cual mostrar un aspecto como el de la figura siguiente:

La parte en Azul es la que esta ocupando el diseo dentro del dispositivo. Se pueden hacer acercamientos o bien dar un click a los diferentes bloques para observar su contenido. Una vez que se ha observado que la implementacin se realiz satisfactoriamente, es posible cerrar este programa (Xilinx FPGA Editor) para continuar. 8. Generacin del archivo de configuracin y prueba del diseo en el FPGA Dentro de los procesos asociados al diseo (los cuales se obtienen al seleccionarlo), se encuentra el proceso Generate Programming File ubicado despus del proceso de implementacin.

25

Sistemas Digitales

UTM/2005-1

Antes de ejecutar este proceso es necesario definir uno de sus parmetros, para ello habr que darle un click derecho y seleccionar la opcin propiedades en el men contextual,

Con ello se abrir una ventana similar a:

En las opciones que se presentan con las cejas superiores seleccionar Startup Options y cambiar el valor de la propiedad FPGA Start-Up Clock para que tenga: JTAG Clock.

Despus del cambio debe presionarse el botn Aceptar. Este cambio es necesario para la programacin del FPGA, la cual se har mediante un puerto conocido como JTAG y por lo tanto se requiere que de ah llegue la seal de reloj. Una vez hecho esto es posible ejecutar el proceso Generate Programming File aplicndole un doble click.

26

Sistemas Digitales

UTM/2005-1

Si el proceso se realiza con xito, esto se indicar en el estado del mismo:

Para poder programar al FPGA es necesario : a) Alimentar la tarjeta de desarrollo Para ello debe conectarse la fuente de alimentacin de 6 V que es proporcionada con la misma tarjeta. b) Conectar el cable JTAG El cual es similar al de la figura siguiente:

Un extremo se conecta en el puerto paralelo de la PC y el otro en el puerto JTAG de la tarjeta, tanto en el cable como en la tarjeta estn indicados los nombres de las seales, cualquier conexin errnea daar la tarjeta. La programacin se realizar con el programa iMPACT el cual se ejecuta con un doble click en el proceso Configure Device (iMPACT):

El programa inicia solicitando algunos parmetros, en el primer paso se deja la opcin predefinida, por que es el mecanismo por medio del cual se programar al dispositivo.

27

Sistemas Digitales

UTM/2005-1

En el paso siguiente se selecciona la opcin Enter a Boundary-Scan Chain, por que es mas rpido indicar cual es la cadena de configuracin, en relacin a que se identifique automticamente.

En el cuadro de dilogo que aparece despus de finalizar, se selecciona al archivo de configuracin comp4b.bit y se procede presionando el botn Abrir.

Hecho esto el programa iMPACT ser abierto mostrando un aspecto como el siguiente:

28

Sistemas Digitales

UTM/2005-1

Debe darse un click derecho al dispositivo para obtener el men contextual en el que se seleccionar la opcin Programar (Program...).

Con esto aparecer un cuadro de dilogo con las opciones de programacin similar al de la figura siguiente, en ste se dejarn las opciones predeterminadas y se presionar OK.

Con ello se iniciar la descarga en el FPGA apareciendo una barra indicando el avance en la ejecucin de la misma, con este proceso, cualquier posible configuracin previa del FPGA ser remplazada por la nueva configuracin.

29

Sistemas Digitales

UTM/2005-1

Una vez concluida la descarga, el programa iMPACT indicar que la programacin se realiz con xito, a travs de un mensaje como el de la figura siguiente:

Si el mensaje Programming Succeeded no aparece las causas pueden ser diversas: La tarjeta puede estar desconectada Se seleccion un FPGA que no corresponde con el de la tarjeta El empaque seleccionado no es el empaque del FPGA El puerto paralelo de la PC no funciona correctamente El FPGA no funciona correctamente Despus de la programacin, el programa iMPACT puede cerrarse as como tambin el Project Navegator. El cable JTAG puede retirarse. El diseo puede evaluarse modificando las entradas desde los interruptores para observar las salidas en los LEDs. Cabe aclarar que los recursos programables en el FPGA estn basados en tecnologa RAM, por lo que si se retira la alimentacin, el programa se perder. La tarjeta cuenta con una base para una memoria tipo FLASH, desde la cual es posible que el FPGA obtenga su programacin en el momento en que es suministrada la energa, desafortunadamente en este momento se carece de dichas memorias. 9. Conclusin Se ha revisado de manera detallada el proceso a seguir para implementar sistemas digitales en FPGAs con ayuda de VHDL, para otro tipo de tarjetas u otro tipo de FPGAs solo debe hacerse la seleccin adecuada. Para otros fabricantes, ajenos a Xilinx, debern usarse las herramientas adecuadas para sntesis, implementacin y descarga. El diseo y simulacin en VHDL son independientes del dispositivo a usar para la implementacin.

30

Sistemas Digitales

UTM/2005-1

10. Ejercicio de repaso Para repasar el tutorial, disear e implementar un circuito convertidor de binario a BCD, como se muestra en la figura siguiente:

Salida en BCD Decenas 6 Bits Entrada Binaria Unidades 4 Bits 4 Bits

Con 6 bits se alcanzan hasta 64 combinaciones, stas deben separarse en unidades y decenas. Por simplicidad usar solo comparaciones y operaciones bsicas como sumas y restas. Para ello ser necesario incluir la biblioteca unsigned, de la siguiente manera: use IEEE.std_logic_unsigned.all; Las entradas debern tomarse de los interruptores y las salidas enviarse a los LEDs. Es necesario comenzar con un nuevo diseo, aunque puede manejarse dentro del mismo espacio de trabajo. Relizar un reporte con los siguientes puntos: a) b) c) d) e) f) Objetivo del diseo. Cdigo VHDL. Diagramas con simulaciones (agregando comentarios descriptivos). Esquemticos generados con el programa Xilinx ECF (nivel superior y siguiente). Contenido del archivo de restricciones (UCF). Reporte de recursos usados, as como frecuencia mxima de operacin del dispositivo. g) Diagrama mostrando los recursos usados en el FPGA. h) Descripcin de la pruebas en la tarjeta. i) Conclusiones. Nota: Puede considerarse la salida de habilitacin de los LEDs desde el momento en que se realice el cdigo VHDL, con ello se evitarn modificaciones futuras.

31

Potrebbero piacerti anche