Вы находитесь на странице: 1из 54

UNIVERSIDAD POLITECNICA DE SINALOA

MAESTROS ASESOR: M.C ISMAEL MILLN PEZ

Gil Bayardo Ral

11/Diciembre/2013

INTRODUCCIN La plataforma de desarrollo de sistemas digitales Nexys3 cuenta con diferentes tipos de tarjetas, la que se trabajo es Spartan-6 FPGA de Xilinx, 48Mbytes de memoria externa (incluyendo dos memorias de cambio de fase no voltiles de Micron ), y suficientes dispositivos de E/S y puertos para albergar una gran variedad de sistemas digitales. El Nexys3 es una plataforma ideal para que cualquier ingeniero adquiera experiencia con las ltimas tecnologas de Xilinx, y se adapta perfectamente a las aulas - nuevos estudiantes pueden construir circuitos lgicos sin preocuparse de las interfaces externas complejas, y los estudiantes ms avanzados pueden construir sistemas digitales completos, incluyendo controladores, codecs, y procesadores integrados.

El puerto USB2 a bordo Adept de alta velocidad proporciona alimentacin de la placa, la programacin de FPGA, y las transferencias de datos de usuario a velocidades de hasta 38Mbytes/sec. Una gran coleccin de tarjetas perifricas de bajo costo, incluyendo ms de 30 Pmods y varias nuevas Vmods , puede aadir funciones adicionales a la Nexys3, incluyendo A/D y conversores D/A, paneras, conductores de automviles, pantallas, etc. Nexys3 es totalmente compatible con todas las herramientas de Xilinx, incluyendo el WebPack libre , as como Chipscope , EDK (kit de diseo de procesador integrado ) y otras herramientas.

Lenguaje VHDL Los estudios para la creacin del lenguaje VHDL (VHSIC HDL) comenzaron en el ao 1981, bajo la cobertura de un programa para el desarrollo de Circuitos Integrados de Muy Alta Velocidad (VHSIC), del Departamento de Defensa de los Estados Unidos. En 1983 las compaas Intermetrics, IBM y Texas Instruments obtuvieron la concesin de un proyecto para la realizacin del lenguaje y de un conjunto de herramientas auxiliares para su aplicacin. Finalmente, en el ao 1987, el lenguaje VHDL se convierte en la norma IEEE1076 como todas las normas IEEE, se somete a revisin peridica, por lo que en 1993 sufri algunas leves modificaciones. Caractersticas del lenguaje El lenguaje VHDL fue creado con el propsito de especificar y documentar circuitos y sistemas digitales utilizando un lenguaje formal. En la prctica se ha convertido, en un gran nmero de entornos de CAD, en el HDL de referencia para realizar modelos sintetizables automticamente. La Declaracin de Entidad y el Cuerpo de Arquitectura La realizacin del modelo hardware de un dispositivo en VHDL consiste en la elaboracin de dos unidades de cdigo VHDL: una Declaracin de Entidad y un Cuerpo de Arquitectura. La Declaracin de Entidad es la unidad de diseo VHDL que sirve para especificar el interfaz de los dispositivos. Cumple, por tanto, funciones equivalentes a las de los smbolos en las representaciones grficas. El Cuerpo de Arquitectura es la unidad de diseo VHDL que sirve para especificar el funcionamiento de un dispositivo identificado por una determinada Declaracin de Entidad, por lo que se puede considerar el equivalente a las tablas de verdad o a los cronogramas.

En esta figura se muestra el cdigo correspondiente al modelo de una puerta and de dos entradas.

En la Declaracin de Entidad se define el nombre del dispositivo y sus puertos; en el Cuerpo de Arquitectura su funcionamiento, en este caso mediante una sentencia que utiliza un operador lgico.

La construccin del modelo de un dispositivo en un entorno VHDL finaliza, en principio, en el momento en que las unidades VHDL que lo describen quedan almacenadas en una librera VHDL. Para ello hay que editar las unidades y compilarlas. En el proceso de compilacin se comprueba que no se incumplen una serie de reglas sintcticas y semnticas. Sintaxis Bsica de la Declaracin de Entidad La sintaxis bsica de la Declaracin de Entidad es la siguiente:

Obviamente, el identificador que sigue a la palabra clave ENTITY es el nombre del dispositivo. Los puertos del dispositivo se especifican, entre parntesis, en la lista de interfaz de la declaracin de entidad, que es el campo sealado por la palabra clave PORT. Para cada puerto hay que declarar: 1. Su nombre: Los nombres de los puertos son etiquetas definibles por el usuario. No pueden utilizarse palabras reservadas del lenguaje. 2. Su direccin: La direccin del puerto se determina a partir de las caractersticas del terminal del dispositivo que se desea modelar: los pines de entrada se definen como de tipo IN, los de salida como OUT y los bidireccionales como INOUT.
3

3. El tipo de datos que maneja el puerto: En los modelos VHDL hay que definir el tipo de datos de los objetos. La eleccin del tipo de datos es muy importante, pues determina el conjunto de valores que puede tomar el objeto declarado, as como las operaciones (lgicas, aritmticas y de conversin de tipos) que se le pueden aplicar, cuestin fundamental a la hora de describir el funcionamiento de los dispositivos. En el ejemplo de la puerta and se utiliza el tipo BIT. En VHDL este tipo consta de dos valores, los caracteres 0 y 1, sobre los que se definen las operaciones lgicas bsicas y las de comparacin.

Cuerpos de Arquitectura. Nociones Bsicas La sintaxis bsica de un Cuerpo de Arquitectura es la siguiente:

Las dos etiquetas que forman parte de la cabecera nombran a la propia Arquitectura y a la Declaracin de Entidad a la que esta asociada. La primera vuelve a aparecer en la lnea que cierra el Cuerpo de Arquitectura. Por lo dems, se distinguen dos reas para la inclusin de cdigo con dos propsitos distintos: 1. La comprendida entre la cabecera y la palabra BEGIN est destinada a la declaracin de objetos que se precisen para realizar la descripcin del funcionamiento del dispositivo.

2. Entre la palabra BEGIN y END {arquitectura} se describe el funcionamiento. En el ejemplo de la puerta and no se declara ningn objeto y la descripcin del funcionamiento se realiza utilizando una sentencia concurrente de asignacin de valor a seal.

Descarga del Programa Xilinx ISE Design Suite 13.2

El programa recomendado para la programacin de Nexis3 es vivado, pero este programa genera cierta incompatibilidad con Spartan-6, por lo tanto y para agilizar el tiempo, se recomienda usar ISE, en sus versiones 13.2 y 13.3 (esta versin es problemtica en Windows 8). Para obtener el software mencionado siga los siguientes pasos: 1.- Utilice su navegador para entrar a la pgina oficial de Xilinx, en la seccin de descarga. (Para fines practica usaremos google). http://www.xilinx.com/support/download.html entraremos en el primer enlace

2.- Daremos click en ISE Design Tools

3.- elegiremos una de las versiones anteriormente recomendadas:

4.- Por razones de almacenamiento recomendamos utilizar la version recomendada para tu sistema operativo, en caso de Windows se recomienda usar XP o 7:

5.- se necesita crear una cuenta, el registro debe de ser para estudiante, con esto la descarga ser gratuita, pero solo ser por 3 meses. Si ya cuenta con una cuenta solo proceda a registrarse.

6.- Daremos click en next y en la pantalla emergente daremos click en guardar:

La descarga comenzara inmeciatamente.

Instalacin Para la instalacin del programa, tendremos que extraer el archivo .rar que se nos gener con la descarga.

Cuando se extraiga el archivo nos aparecera una carpeta con el mismo nombre. Y dentro de esta encontraremos un archivo ejecutable.

Aparecer la siguiente ventana. Daremos click en Next.

Los trminos de la licencia (son dos licencias).

Al quinto paso de instalacin, seleccionamos la ruta donde se instalar el programa.

Ruta

Damos Click en next y se instalarn Dos programas.

10

Para la ejecucin del programa ser necesara la descarga de una licencia en la pagina oficial en xilinx. Y seleccionar la ruta donde se guardarn los trabajos realizados, para la obtencin de de la licencia daremos click en la segunda opcin get free ISE web pack license, next y esto nos redirigir a la pagina ofifcila de Xilinx y usaremos la cuenta previamente generada

Y descargaremos una licencia gratuita, Esto nos descargar un archivo llamado Xilinx.lic.

Despues de dezscargar la licencia, entaremos en manage Xilinx licenses y daremos click en copy license y seleccionaremos, el programa .lic.

11

Una vez realizado esto, podremos comenzar a usar el programa Xilinx.

12

Prcticas. Trabajo en en compuerta OR

Lo primero que haremos es abrir Xilinx ISE Design Suite 13.3

Crearemos un nuevo proyecto (New Project), y le asignaremos un nombre a la

carpeta del proyecto.

Despus click en next.

13

Despus nos aparecer esta pantalla en donde iremos a Family y buscaremos la tarjeta con la que estaremos trabajando, en este caso es spartan-6.

Tambin asignaremos el modelo especfico de la tarjeta

Despus daremos click en next finish. Esta es la ventana en donde estaremos trabajando.

14

Dar click en el primer icono de la barra que est en la izquierda, se llama New Source. Tambin podemos buscar New Source en Project New Source.

Seleccionaremos VHDL module y le asignaremos un nombre.

Next Finish

15

Pondremos esta condicin. Despus daremos doble click en Synthesize - XST

Tenemos que obtener una palomita verde.

Desplegaremos User Constraints y daremos doble click en I/O Pin Planning (PlanAhead)- Post Synthesis.

16

Se abrir PlanAhead en el cual asignaremos los switches y el led.

Despus lo guardamos y regresaremos a ISE Design Suite y desplegaremos Implement Design y haremos doble click.

Deber quedar como en la siguiente imagen.

Despus daremos doble click en Generate Programming File.

Despus abriremos Digilent Adept. En browse y buscaremos la carpeta compuertas/compuerta_and.bit despus daremos click en program listo.

17

Compuerta NOR

Lo primero que haremos es abrir Xilinx ISE Design Suite 13.3

Crearemos un nuevo proyecto (New Project), y le asignaremos un nombre a la

carpeta del proyecto.

Despus click en next.

18

Despus nos aparecer esta pantalla en donde iremos a Family y buscaremos la tarjeta con la que estaremos trabajando, en este caso es spartan-6.

Tambin asignaremos el modelo especfico de la tarjeta

Despus daremos click en next finish. Esta es la ventana en donde estaremos trabajando.

19

Dar click en el primer icono de la barra que est en la izquierda, se llama New Source. Tambin podemos buscar New Source en Project New Source.

Seleccionaremos VHDL module y le asignaremos un nombre.

Next Finish

20

Pondremos esta condicin. Despus daremos doble click en Synthesize - XST

Tenemos que obtener una palomita verde.

Desplegaremos User Constraints y daremos doble click en I/O Pin Planning (PlanAhead)- Post Synthesis.

Se abrir PlanAhead en el cual asignaremos los switches y el led.

21

Despus lo guardamos y regresaremos a ISE Design Suite y desplegaremos Implement Design y haremos doble click.

Deber quedar como en la siguiente imagen.

Despus daremos doble click en Generate Programming File.

Despus abriremos Digilent Adept. En browse y buscaremos la carpeta compuertas/compuerta_nor.bit despus daremos click en program listo.

22

Compuerta XOR

Lo primero que haremos es abrir Xilinx ISE Design Suite 13.3

Crearemos un nuevo proyecto (New Project), y le asignaremos un nombre a la carpeta del proyecto.

Click en next.

23

Despus nos aparecer esta pantalla en donde iremos a Family y buscaremos la tarjeta con la que estaremos trabajando, en este caso es spartan-6.

Tambin asignaremos el modelo especfico de la tarjeta

Despus daremos click en next finish.

24

Esta es la ventana en donde estaremos trabajando.

Dar click en el primer icono de la barra que est en la izquierda, se llama New Source. Tambin podemos buscar New Source en Project New Source.

Seleccionaremos VHDL module y le asignaremos un nombre.

25

Se define las entradas y las salidas que se necesiten

26

Next Finish

Pondremos esta condicin. Despus daremos doble click en Synthesize XST

Tenemos que obtener una palomita verde.

Desplegaremos User Constraints y daremos doble click en I/O Pin Planning (PlanAhead)- Post Synthesis.

27

Se abrir PlanAhead en el cual asignaremos los switches y el led.

Despus lo guardamos y regresaremos a ISE Design Suite y desplegaremos Implement Design y haremos doble click.

Deber quedar como en la siguiente imagen.

Despus daremos doble click en Generate Programming File.

28

Despus abriremos Digilent Adept. En browse y buscaremos la carpeta compuertas/compuerta_and.bit despus daremos click en program listo.

Compuerta XNOR Lo primero que haremos es abrir Xilinx ISE Design Suite 13.3

29

Crearemos un nuevo proyecto (New Project), y le asignaremos un nombre a la carpeta del proyecto.

Despus click en next.

Aparecer esta pantalla en donde iremos a Family y buscaremos la tarjeta con la que estaremos trabajando, en este caso es spartan-6.

Tambin asignaremos el modelo especfico de la tarjeta

30

Daremos click en next finish. Esta es la ventana en donde estaremos trabajando.

Dar click en el primer icono de la barra que est en la izquierda, se llama New Source. Tambin podemos buscar New Source en Project New Source.

31

Seleccionaremos VHDL module y le asignaremos un nombre.

Next Finish

Pondremos esta condicin. Despus daremos doble click en Synthesize XST

32

Tenemos que obtener una palomita verde.

Desplegaremos User Constraints y daremos doble click en I/O Pin Planning (PlanAhead)- Post Synthesis.

Se abrir PlanAhead en el cual asignaremos los switches y el led.

Despus lo guardamos y regresaremos a ISE Design Suite y desplegaremos Implement Design y haremos doble click.

33

Deber quedar como en la siguiente imagen.

Despus daremos doble click en Generate Programming File.

Por ltimo abriremos Digilent Adept. En browse y buscaremos la carpeta compuertas/compuerta_and.bit despus daremos click en program listo.

Compuerta lgica: AND Lo primero que haremos es abrir Xilinx ISE Design Suite 13.3

34

Crearemos un nuevo proyecto (New Project), y le asignaremos un nombre a la carpeta del proyecto.

Despus click en next.

Despus nos aparecer esta pantalla en donde iremos a Family y buscaremos la tarjeta con la que estaremos trabajando, en este caso es spartan-6.

Tambin asignaremos el modelo especfico de la tarjeta

35

Despus daremos click en next finish. Esta es la ventana en donde estaremos trabajando.

Dar click en el primer icono de la barra que est en la izquierda, se llama New Source. Tambin podemos buscar New Source en Project New Source.

Seleccionaremos VHDL module y le asignaremos un nombre.


36

Next Finish

Pondremos esta condicin. Despus daremos doble click en Synthesize - XST

Tenemos que obtener una palomita verde.

37

Desplegaremos User Constraints y daremos doble click en I/O Pin Planning (PlanAhead)- Post Synthesis.

Se abrir PlanAhead en el cual asignaremos los switches y el led.

Despus lo guardamos y regresaremos a ISE Design Suite y desplegaremos Implement Design y haremos doble click.

Quedar como en la siguiente imagen.

Se debe de dar doble click en Generate Programming File.

38

Por ltimo, abriremos Digilent Adept. En browse y buscaremos la carpeta compuertas/compuerta_and.bit despus daremos click en program y listo.

39

Compuerta lgica: NAND Lo primero que haremos es abrir Xilinx ISE Design Suite 13.3

Crearemos un nuevo proyecto (New Project), y le asignaremos un nombre a la carpeta del

proyecto.

Despus click en next.

40

Despus nos aparecer esta pantalla en donde iremos a Family y buscaremos la tarjeta con la que estaremos trabajando, en este caso es spartan-6.

Tambin asignaremos el modelo especfico de la tarjeta

Despus daremos click en next finish. Esta es la ventana en donde estaremos trabajando.

41

Dar click en el primer icono de la barra que est en la izquierda, se llama New Source. Tambin podemos buscar New Source en Project New Source.

Seleccionaremos VHDL module y le asignaremos un nombre.

Next Finish

42

Pondremos esta condicin. Despus daremos doble click en Synthesize - XST

Tenemos que obtener una palomita verde.

Desplegaremos User Constraints y daremos doble click en I/O Pin Planning (PlanAhead)- Post Synthesis.

Se abrir PlanAhead en el cual asignaremos los switches y el led.

43

Despus lo guardamos y regresaremos a ISE Design Suite y desplegaremos Implement Design y haremos doble click.

Deber quedar como en la siguiente imagen.

Despus daremos doble click en Generate Programming File.

Despus abriremos Digilent Adept. En browse y buscaremos la carpeta compuertas/compuerta_nand.bit despus daremos click en program listo.

44

Uso del display Nombre Lo primero que haremos es abrir Xilinx ISE Design Suite 13.3

Crearemos un nuevo proyecto (New Project), y le asignaremos un nombre a la carpeta del proyecto.

Click en next.

45

Despus nos aparecer esta pantalla en donde iremos a Family y buscaremos la tarjeta con la que estaremos trabajando, en este caso es spartan-6.

Tambin asignaremos el modelo especfico de la tarjeta

Daremos click en next finish. Esta es la ventana en donde estaremos trabajando.

46

Dar click en el primer icono de la barra que est en la izquierda, se llama New Source. Tambin podemos buscar New Source en Project New Source.

Seleccionaremos VHDL module y le asignaremos un nombre.

Next Finish

Pondremos esta condicin. Despus daremos doble click en Synthesize - XST


47

Desplegaremos User Constraints y daremos doble click en I/O Pin Planning (PlanAhead)- Post Synthesis.

Se abrir PlanAhead en el cual asignaremos los switches y el led.

Despus lo guardamos y regresaremos a ISE Design Suite y desplegaremos Implement Design y haremos doble click.

Deber quedar como en la siguiente imagen.

48

Despus daremos doble click en Generate Programming File.

Por ltimo, abriremos Digilent Adept. En browse y buscaremos la carpeta compuertas/compuerta_nor.bit despus daremos click en program listo.

49

Imgenes de Prcticas.Compuerta and:

Compuerta nand:

Compuerta or:

50

Compuerta xor:

Compuerta nor:

Compuerta xnor:

51

Decodificador binario decimal

52

Conclusin
Este proyecto por llamarle de algn modo, represento retos a vencer desde el comienzo, pues no es compatible con cualquier sistema operativo, adems las versiones de prueba de la suite de diseo incluye todas las funciones pero no as todas las tarjetas. Descubrir estos detalles tomo tiempo adems de que el principal reto era tener que aprender un nuevo lenguaje de programacin as que el hecho de no poder ver de un da para otro un hardware funcionando atreves de un software se tornaba frustrante al principio. Despus de haber superado estos obstculos lo nico que resto fue comprender la lgica, esto fue menos difcil pues no es igual a c pero es muy parecida. Al empezar a programar y poder notar los resultados fsicos en l hardware, entonces en ese momento te das cuenta si la herramienta es efectiva o no, en este caso el resultado fue positivo pues la herramienta de la nexys3 te permite utilizar el elemento de electrnica digital que ms se facilite. En este caso se explotaron las tablas de verdad, pues con el hecho de ponerlas en la lgica del programa de manera correcta, el hardware muestra los resultados deseados. Ahorrndote todos esos procesos como algebra de bool, mapas de karnaugh y el proceso de ensamblaje, que puede elevar los mrgenes de obtener resultados negativos. Por lo tanto esta herramienta es muy efectiva. Nombre en Display: Ral

53

Вам также может понравиться