Vous êtes sur la page 1sur 17

Manual de practicas para tarjeta fpga mediante lenguaje vhdl

13 de enero

2014
[Escribir el subttulo del documento]

[Escriba aqu una descripcin breve del documento. Una descripcin breve es un resumen corto del contenido del documento. Escriba aqu una descripcin breve del documento. Una descripcin breve es un resumen corto del contenido del documento.]

Vhdl Tarjeta fpga xilinx de national instruments

Leonardo Emmanuel Moctezuma Blanco Azahel Gonzlez Daz

Primera edicin Panuco, 2014.

Introduccin El lenguaje VHDL (Hardware Description Language) es un lenguaje que est orientado a la descripcin o modelado de sistemas digitales, esto quiere decir que se trata de un lenguaje mediante el cual se puede describir, analizar y evaluar el comportamiento de un sistema electrnico digital. La tarjeta Xilinx puede ser programada por distintos tipos de lenguajes: Lenguaje orientado a objetos Labview mediante Elvis, National Instruments Lenguaje VHDL

En este manual nos enfocaremos en el lenguaje VHDL.

Comunicacin xilinx con la tarjeta


Una vez instalado el programa ISE Proyect Navigator procederemos a iniciar un proyecto en la opcin de File daremos click en New Proyect. Como se muestra en la Figura 1.

Figura 1. Se muestra donde se encuentra la opcin para crear un nuevo proyecto. A continuacin aparecer un ventana que nos pide un nombre el cual se puede poner el que se desee en este caso lo nombraremos Proyect1_And y seleccionaremos en el nivel de lenguaje HDL. Como se muestra en la figura 2. Despues de hacer lo que nos pide daremos click en Next.

Figura 2.-ventana que pide que ingresemos un nombre al proyecto y el tipo del lenguaje.

Despus de esto nos aparecer una nueva ventana que es las mas importante de todas. En esta ocacion nos pide que describamos el tipo de tarjeta al cual se le anexara nuestro proyecto, en este caso nuestra tarjeta que tenemos disponible es la tarjeta XC3S500E es una de tarjeta de la familia SPARTAN3E con un package FT256 y una velocidad que pondremos -4 y en la opcin de lenguaje preferred seleccionaremos VHDL tal y como se muestra en la Figura 3 debe seleccionar lo mismo para que sea la referencia correcta con la tarjeta. Al finalizar daremos click en next.

Figura 3.- ventana en la que describe el tipo de tarjeta que utilizaremos la xc3s500e. Despues de esto nos aparecer una ventana en la que resume y describe lo que hemos ingresado hasta el momento y sin ninguna opcin despus de ver que no haya ningn problema daremos click en finalizar. Ahora ya hemos creado nuestro proyecto. Como se puede observar no hay nada en pantalla pero aqu es donde crearemos un new source para poder realizar cualquier programa. En la parte izquierda de la pantalla se encuentra nuestra tarjeta con su nombre xc3s500e-4ft256 daremos click derecho en ese vinculo y daremos click izquierdo en new source. Figura 4.

Figura 4. Se muestra donde se encuentra la opcin de new source.

A continuacin se muestra una ventana que nos pide un nombre para el archivo y nos pide que tipo de archivo queremos agregar a nuestro proyecto en este caso se debe utilizar un VHDL module, tal y como se muestra en la figura 5.

Figura 5.- en el new source debemos declarar el tipo de archivo que vamos a crear. En cuanto demos click aparecer una pantalla que nos facilita la declaracin de entradas y salidas en este caso utilizaremos dos entradas y una salida los nombraremos a0 y b0 en cuanto a la salida la nombraremos out1 y daremos click en next. Figura 6.

Figura 6.- declaramos las seales de entrada y salida de una forma mas fcil. Despues de eso daremos click en finalizar y terminaremos de crear el modulo vhdl y aparecer una ventana con libreras y las seales de entrada que acabamos de declarar.

Como se puede observar las seales de entrada son la que se muestran en la Figura 7.

Figura 7. Se muestran las seales de entrada y la de salida.

A continuacin empezaremos a formar nuestro lenguaje de programacin. Primero lo simularemos en la computadora al ver que efectivamente funciona procederemos a mandar el programa a la tarjeta xilinx. Le daremos en la opcin de simulation en donde dice view . Figura 8. Y comenzaremos a escribir en la lnea posterior ala 40, justo despues de donde dice begin y escribiremos lo que se muestra en la Figura 9.

Ahora vamos a utilizar la opcin de verificar nuestro cdigo en la parte izquierda de la pantalla en un vinculo que dice: Behavioral Check syntax (Figura 10), le daremos doble click y empezara a correr al finalizar se mostrara un signo que nos dice si es correcto con una palomita una x si esta incorrecto como se muestra en la figura 11 y en la Figura 12.

Figura 10. Opcin de verificar cdigo.

Figura 12. El cdigo se encuentra con errores

Figura 11. El cdigo se encuentra libre de errores

Ahora procederemos a realizar una seal que verifique que el programa realiza lo que deseamos dando click derecho en nuestro modulo de vhdl que hemos realizado anteriormente. Figura 13.

Figura 13. Nuevo source para seal de prueba.

Procederemos a elegir que se un tipo de archivo vhdl test bench y elegir un nombre opcional para el archivo como se muestra en la figura 14. Despues de eso daremos click en siguiente

Figura 14. Se muestra donde se encuetra la opcin Test bench.

Despus de eso aparecer una ventana que nos pregunta en que cdigo deseamos agregar la seal de prueba debido a que en este caso solo tenemos un archivo lo agregaremos a este y daremos siguiente nuevamente y daremos click en finalizar. Aqu viene algo complicado y de mera atencin al abrirlo se podr percatar que existen muchos errores eso es debido a que el programa ingresa variables obligatorias con nombres invalidos incluso nos dice que debemos remplazar ese nombre por uno opcional , en primer lugar debemos localizar la parte donde dice clock process definitions en la lnea 71 y borraremos todo eso hasta donde dice stimulus process como se muestra en la Figura 15.

Figura 15. Localizacion de lo que se debe borrar, debido a que no se utiliza esa opcin en este caso.

En la lnea 60 ah un enunciado que es donde se debe cambiar el nombre de la variable y poner uno opcional en este caso utilizaremos el nombre de PERIOD, como se muestra a continuacin en la Figura 16.

Se cambia el nombre de la variable.

Figura 16. Muestra donde se encuentra y el nombre de la variable con un retardo de 10 nanosegundos.

Podemos modificar el tiempo de esta variable incluso hacer mas de una para distintas practicas en este caso solo utilizaremos una. Despues de esto aun abra errores pero es m as abajo donde se encuentra el nombre de la misma variable que debemos cambiar, en la seccin de stimulus process borraremos despues begin hasta antes de end process. Figura 17.

Figura 17. Nuevamente borraremos para crear nuestra propia estimulacin en la seal.

Lo que realizaremos a continuacin ser una tabla de verdad para comprobar que el resultado y verificarlo si es el que deseamos que haga nuestro codigo.

La tabla de verdad de una and solo se cumple cuando las dos entradas se encuentra en alto y en los dems casos su respuesta es bajo. Figura 18.

a0 0 0 1 1

b0 0 1 0 1

out1 0 0 0 1

Lo que realizaremos ahora ser la tabla de verdad en la seccin de nuestro cdigo en la parte de hasta abajo nombrado Stimulus process donde borramos anteriormente y pondremos nuestro cdigo de la siguiente manera:

Estamos realizando la tabla de verdad pero solo la parte de las entradas ya que nuestro cdigo de nuestro modulo solo esta respecto ala seal de salida. Al terminar verificaremos si hay algn error como lo hicimos anteriormente y si no existe ningn error daremos doble click en el vinculo debajo para simular nuestro cdigo completo donde dice Simulate Behavioral Model como se muestra en la figura 18.

Figura 18. Localizacin del vinculo para simular justo debajo del verificador de cdigo.

Al terminar notaremos una ventana emergente que contiene unas lneas verdes de no ser asi existe algn error en nuestro cdigo, puede intentar cerrar la ventana y volver a interntar simularlo, de no ser eficaz revise su cdigo. Como se puede apreciar ala izquierda de las lneas de color verde se encuentra algo muy parecido a nuestra tabla de verdad con sus seales declaradas, acercaremos la vista para poder apreciarlo mejor y tambin verificaremos que nuestra tabla de verdad se cumple siga los siguientes pasos: Paso 1. Acercaremos lo mas posible con la opcin zoom ot full view. Paso 2.la lnea amarilla puede ser arrastrada con el mouse. Paso 3. verificar que la tabla de verdad es correcta junto con los altos y bajos que se muestra en la graficas de lneas color verde.

Verificaremos si tenemos los siguientes resultados:

Vemos que efectivamente se cumple la tabla de verdad sin ningn error. a0 0 0 1 1 b0 0 1 0 1 out1 0 0 0 1

Ahora procederemos a conectar nuestra tarjeta nicamente la tarjeta con su cargador de 15v y el cable usb ala computadora y la encenderemos, no se vera ninguna accin o alguna ventana emergente despus de eso, donde anteriormente seleccionamos simulacin, ahora seleccionaremos implementacin. Al mismo tiempo verificaremos si ah algn error en nuestro cdigo, Figura 19.

FOTO

Despus de eso declararemos lo que son nuestras salidas es decir nuestro cdigo es correcto pero necesitamos definir quien es lo que estamos programando, una forma fcil de decir es: quienes son los botones o switch y quien es el led. Seleccionaremos nuestro documento donde hicimos todas la ordenes en cdigo VHDL,depues en la ventana de proceso iremos ala parte que dice User Constraints y seleccionaremos floorplan Area I/O/ Logic-post- Synthesis y daremos doble click. Como se muestra en la figura 20.

Despus abrir un ventana dond aparecen nuestras entradas y salidas anteriormente declaradas y nos preguntara donde las ubicaremos al final de manual vienen todas las directivas y de cada una de las partes de la tarjeta en este caso utilizaremos 2 switch y un led, que son J11, J12 y C11. Como se muestra en la figura 21.

Figira 21. Daremos guardar en el smbolo del disquet o al cerrar la ventana nos preguntara si deseamos guardar y daremos que si en cualquier caso, ahora daremos doble click en configurar tarjeta, como se muestra en la figura 22.

Despus nos abrir nuestro programa para comunicarnos con la tarjeta llamano IMPACT emergern varias ventanas solo debemos seleccionar si, y finalizar sin mover o seleccionar

absolutamente nada despus aparece una ventana y selccionaremos nuestro programa, el cual lo manda direcamente y no es necesario buscarlo despus de seleccionar vuelve a preguntar si existe otro programama que deseamos abrir y daremos click en cancelar, despus veremos dos simbolos unidos en la pantalla unos verde y uno en blanco daremos click derecho en el color verde el cual debe ser el nombre de nuestra tarjeta la xc3s500e y seleccionaremos programar. Como se muestra en la figura 22.

Despus aparecer un mensaje si fue exitoso o si ocurri algn error en la parte central de la pantalla.

Ahora verificaremos que realmente este funcionandocomo se debe, primero ubicaremos el switch0, el switch1 y el LD0 en nuestra tarjeta xilinx. Despus verificaremos que sea correcto el funcionamiento como el de las siguientes fotos.

Vous aimerez peut-être aussi