l10_fpga.docx

17
Alumnos : Grupo : Profesor: Nota: Semestre : Fecha de entrega : Hora: Circuitos Electrónicos Integrados LABORATORIO Nº 10 “FPGA – Programación en Entorno Gráfico”

Upload: renzoilberto

Post on 12-Jul-2016

230 views

Category:

Documents


0 download

DESCRIPTION

laboratorio

TRANSCRIPT

Page 1: L10_FPGA.docx

Alumnos :

Grupo : Profesor: Nota:Semestre :Fecha de entrega : Hora:

Circuitos Electrónicos Integrados

LABORATORIO Nº 10

“FPGA – Programación en Entorno Gráfico”

Page 2: L10_FPGA.docx
Page 3: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 1 / 9

I. OBJETIVOSa) Identificar la arquitectura de las FPGA.b) Programar un FPGA utilizando lenguaje esquemático para crear circuitos lógicos.c) Cargar correctamente el archivo .BIT en el FPGA.d) Realizar Síntesis, implementar y generar un archivo de programación.

II. MATERIAL Y EQUIPO 01 FPGA Atlys Digilent. Cable Microusb - Usb

III. FUNDAMENTO TEORICO

Los FPGA (Field Programmable Gate Array) son circuitos lógicos programables directamente por el usuario, lo cual requiere de herramientas de costo relativamente bajo, como lo son el software de desarrollo y el dispositivo grabador. La grabación o programación de uno de estos dispositivos se puede llevar a cabo en milisegundos. Los FPGA son muy utilizados por fabricantes que producen tecnología a baja escala, como por ejemplo diseñadores de equipos de propósito específico, los cuales no pueden justificar la producción de ASICs por los bajos volúmenes de dispositivos que venden. Los FPGAs tienen una funcionalidad similar, a costos menores y con una velocidad ligeramente menor. También los FPGAs se utilizan como prototipos, los cuales se pueden depurar y permiten refinar el diseño. Con el software de diseño se puede simular en hardware antes de mandar a fabricar el ASIC correspondiente

Estructura general de las FPGAs

El proceso de diseño de un circuito digital utilizando una matriz lógica programable puede descomponerse en dos etapas básicas:

Dividir el circuito en bloques básicos, asignándolos a los bloque configurables del dispositivo. Conectar los bloques de lógica mediante los conmutadores necesarios

Ilustración 1: Estructura general de una FPGA (en concreto de XILINX)

Los elementos básicos constituyentes de una FPGA como las de Xilinx se pueden ver en laIlustración 1 y son los siguientes:

Page 4: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 2 / 9

Bloques lógicos, cuya estructura y contenido se denomina arquitectura. Hay muchos tipos de arquitecturas, que varían principalmente en complejidad (desde una simple puerta hasta módulos más complejos o estructuras tipo PLD). Suelen incluir biestables para facilitar la implementación de circuitos secuenciales. Otros módulos de importancia son los bloques de Entrada/Salida

Recursos de interconexión, cuya estructura y contenido se denomina arquitectura de rutado.

Memoria RAM, que se carga durante el RESET para configurar bloques y conectarlos.

Seguridad en la ejecución del laboratorio

Tener cuidado con el tipo y niveles de voltaje con los que trabaja.

Antes de utilizar el multímetro, asegurarse que esta en el rango y magnitud eléctrica adecuada.

Tener cuidado en la conexión y en la desconexión de los equipos utilizados

Page 5: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 3 / 9

PROCEDIMIENTO.

Estructura externa del microcontrolador PIC16F84Datos generales

Xilinx Spartan-6 LX45 FPGA, paquete BGA 324 pines. 128 MByte DDR2 de datos amplia de 16 bits. 10/100/1000 Ethernet PHY. Puertos a bordo USB2 para la transferencia de la programación y de

datos. USB-UART y puerto USB HID (por ratón / teclado). Dos puertos HDMI de entrada de vídeo y dos puertos de salida HDMI. AC-97 Codec con entrada de línea, salida de línea, micrófono, auriculares. Monitores de energía en tiempo real sobre todos los carriles de

alimentación. X4 16 MByte SPI Flash para almacenamiento de configuración y de datos. 100MHz CMOS oscilador. 48 I / O para enrutador de conectores de expansión. GPIO incluye 8 LEDs, 6 botones, y 8 interruptores deslizantes. Se envía con un 20W fuente de alimentación y el cable USB.

Crear un programa en lenguaje esquemático de compuertas lógicas.

1. Para crear un nuevo proyecto, Inicio> Programas> Xilinx ISE Design Suite 11> ISE> Navegador de proyectos.

2. En Navegador de proyectos, seleccione la opción Nuevo proyecto en el menú de introducción.

3. Navigator, seleccione la opción Nuevo proyecto en el menú de introducción (o seleccionando Select Archivo> Nuevo proyecto).

4. Esto nos lleva a un cuadro de diálogo donde se puede introducir el nombre del proyecto y la ubicación del proyecto.

Page 6: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 4 / 9

5. Seleccionamos la Familia del FPGA, dispositivos y paquetes para su proyecto. Esto depende de la ficha que está apuntando para el proyecto. Los valores apropiados para un proyecto adecuado para el tablero que son las siguientes:

6. Una vez introducidos los ajustes apropiados, haga clic en Siguiente. Los siguientes dos cuadros de diálogo le dan la opción de añadir archivos de origen de nuevos o existentes a su proyecto.

Navegador de proyectos Visión general

7. Una vez que el nuevo proyecto se ha creado, ISE abre el proyecto en Project Navigator. Haga clic en la pestaña Diseño para mostrar el panel Diseño y haga clic en la pestaña Consola para mostrar el panel Consola.

El panel de Diseño (1) contiene dos ventanas: una ventana Fuentes que muestra todos los archivos de origen asociados con el diseño actual y una

ventana de proceso que muestra todos los procesos disponibles que se pueden ejecutar en un archivo de origen seleccionado.

El panel de la consola (2) muestra los mensajes de estado, incluyendo los mensajes de error y de advertencia.

La ventana del editor de HDL (3) muestra el código fuente o el esquema de los archivos seleccionados en el panel Diseño.

Añadiendo nuevos ficheros Fuente

Page 7: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 5 / 9

8. Una vez creado el nuevo proyecto, dos fuentes se enumeran en fuentes en el panel Diseño: el nombre del archivo del proyecto y el dispositivo de destino para el diseño. Usted puede agregar un archivo de origen nueva o existente al proyecto. Para ello, haga clic en el dispositivo de destino y seleccione una de las tres opciones para agregar archivos de origen.

9. Creamos un nuevo archivo de origen, por lo que seleccionamos Nueva Fuente de la lista. Esto inicia el Asistente para nuevo origen, lo que le pide el tipo de fuente y el nombre del archivo. Seleccione esquemática y darle un nombre significativo (nombramos circuit1).

10. Agregamos símbolos y formas que representan a puertas lógicas o circuitos lógicos y luego añadir líneas que representan los cables para conectar esas formas.

11. En la pantalla, hay dos cuadros de lista Símbolos y Categorías etiquetados.

12. La lista muestra todos los símbolos de los símbolos en la categoría seleccionada en la lista Categorías. Por ejemplo, el "<- Todos los símbolos ->" categoría muestra todos los símbolos en la biblioteca actual en la lista de símbolos.

13. Ahora conectamos las

Page 8: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 6 / 9

puertas con cables. Para ello, haz clic en el botón de la herramienta de alambre añadir a cambiar al modo de alambre agregar. Arrastre el cursor a un pin componente donde aparecen cuatro cajas de color rojo (que indican que un clic izquierdo añadirá un extremo del cable a la clavija). Con este método se puede añadir cables entre los pines de puertas.

14. Para mover una puerta, debe volver a seleccionar el modo, ya sea seleccionando el cursor en la barra de herramientas o pulsando el botón Esc en el teclado.

UCF Creación del archivo

15. Para agregar un archivo .ucf a su diseño, vaya a la ventana Orígenes y haga clic derecho en el archivo de origen que requiere restricciones de usuario. Seleccione la opción Nuevo Fuente Añadir en el menú desplegable. El Asistente de Nueva Fuente le pide el tipo de fuente y el nombre del archivo. Seleccione Restricciones de implementación del archivo y darle un nombre significativo (nombramos circuit2).16. Para editar el archivo .ucf, seleccionarlo en la ventana Fuentes, expanda la opción Restricciones de usuario en la ventana de Procesos de abajo, y haga doble clic en la opción Editar Restricciones (texto). Aparecerá un editor de texto en blanco.

Las herramientas de Xilinx utilizan un archivo Restricciones de usuario (.ucf archivo) para definir restricciones de usuario como pin físico a las asignaciones netas de circuito. Esto se conoce como una implementación del archivo veces Restricciones. El archivo .ucf puede modificarse dentro ISE utilizando un editor de texto.

17. Para asociar un alfiler

Page 9: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 7 / 9

físico con un nombre de red determinada, escriba: NET LOC "netname" = "XXX"; en una línea en el archivo .ucf. En el comunicado, "netname" (comillas incluidas) es el nombre de la red para conectar a la patilla número XXX (comillas incluidas).18. Para nuestro proyecto de ejemplo, las 2 entradas se asignan a conmutadores 0 a 1 y la salida se asigna a LED0 en el tablero Nexys2. El archivo .ucf acabado es como sigue:Generación Programación Archivo

19. Ahora estamos listos para crear un archivo de programación (.bit) para el Nexys2 FPGA.20. Vaya a la ventana Fuentes y seleccionar el módulo de nivel superior (indicado por los tres bloques que se muestran con el nombre de la fuente.)21. Ahora vaya a la ventana Procesos donde hay tres procesos particulares en una fila:1. Sintetizar - XST2. Implementar Diseño3. Generar archivo de programación

1. Ejecutar el proceso de síntesis haciendo doble clic en Sintetizar o izquierdo del ratón y seleccionando la opción de ejecución. Este proceso analiza el circuito que ha creado, la comprobación de conexiones válidas, la sintaxis y estructura, para verificar que el circuito es válida y sintetizable.

2. Si el proceso Sintetizar no devuelve ningún error, puede seguir adelante y ejecutar el proceso de diseño de implementar. Este proceso utiliza diversos algoritmos para trazar el circuito digital y luego crea lugar y la ruta de información de modo que pueda ser colocado en la FPGA física.

Opciones de inicio de reloj

Page 10: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 8 / 9

24. Si el proceso de Diseño Implementar no devuelve ningún error, puede ejecutar el proceso de archivos Generar Programación. Antes de hacer esto, haga clic derecho en el proceso de archivos de programación Generar y seleccione Propiedades de Proceso. En el panel de la ventana Propiedades Proceso categoría, seleccione Opciones de inicio.

25. El primer elemento en el panel de la derecha es la propiedad FPGA de puesta en marcha del reloj. Esta opción permite que un archivo de configuración o bien configurar una acometida directamente de la PC, o cargar una configuración de la memoria flash de la plataforma en el tablero. Para configurar el tablero de la PC, el valor del reloj de puesta en marcha debe ser JTAG Reloj. Para configurar la tarjeta de la memoria flash plataforma, el valor del reloj de puesta en marcha debe ser CCLK.26. Después de seleccionar el valor adecuado de reloj de puesta en marcha, haga clic en Aceptar y ejecutar el proceso de archivos Generar Programación. Después de este proceso se complete, un archivo de configuración .bit debería aparecer en el directorio donde se encuentra su proyecto.

Configuración Junta

27. El archivo de configuración .bit que se ha generado se puede utilizar ahora por el software Adepto de Digilent para configurar una placa del sistema Digilent. Ver el Adepto Software Tutorial básico para más información.

ADJUNTA IMÁGENES QUE EVIDENCIEN EL TRABAJO REALIZADO.

TAREA EN EL LABORATORIO

Page 11: L10_FPGA.docx

Laboratorio 01“El primer contacto con el PIC16F84”

LAB 01Página 9 / 9

Programa el FPGA para que pueda simular las distintas compuertas lógicas (AND,OR,NAND,NOR,NOT,XOR)

OBSERCACIONES Y/O CONCLUSIONES.

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________

______________________________________________________________________________________