Curso FPGA (Programacion de Arreglos de Compuerstas)


Project Report, 2009

142 Pages


Excerpt


Tabla de contenido

INTRODUCCIÓN

RESUMEN

MARCO CONCEPTUAL
CIRCUITOS DIGITALES INTEGRADOS
TECNOLOGIAS DE CIRCUITOS INTEGRADOS
DISPOSITIVOS LOGICOS PROGRAMABLES.(PLD)
Programación De Los Dispositivos Lógicos Programables (PLD)
Software De Los Dispositivos PLD:
FPGAs (Field Programmable Gate Array):
Metodología de diseño con FPGA's

CONFIGURACION Y USO SOFTWARE Y HARDWARE FPGA
1 SOFTWARE UTILIZADO
2. HARDWARE EMPLEADO
3 PROCEDIMIENTO DE CONFIGURACIÓN
Use esta página para seleccionar el dispositivo y otra información del diseño de su proyecto, Seleccionar la herramienta de síntesis y lenguaje, y el simulador
4 PROYECTO # 2 : Compuerta XOR 2 entradas, componentes discretos
5 PROYECTO # 4 CONTADOR BINARIO ASCENDENTE-DECENDENTE

UNIDAD ARITMETICO LOGICA (ALU) CON FPGA
IMPLEMENTACION DE LA ALU EN LA FPGA
SIMULACIÓN DEL DISEÑO
Creación de tiempos de sincronización
Implementación diseño y verificar sincronismo
Reimplementar diseño y verificación localización de pines
Verificar diseño usando tiempos de simulación
Proceso de diseño descargado en la tarjeta

MONITORES CON FPGA
Clasificación según estándares de monitores
Monitores MDA: “Monochrome Display Adapter
Monitor CGA: “Color Graphics Adapter”
Monitor EGA: “Enhanced Graphics Adapter”,
Monitor VGA: “Video Graphics Array”
Monitor SVGA:
Clasificación según tecnología de monitores
Monitores CRT:
Pantallas LCD:
Pantallas Plasma:
CURSO FPGA (PROGRAMACION DE ARREGLOS DE COMPUERSTAS)
¿Qué es la resolución de pantalla?
Descripción de los bloques
ESTRATEGIA METODOLOGICA
Etapa de Análisis
Etapa de diseño
Etapa de Implementación

CONCLUSIONES

RECOMENDACIONES

BIBLIOGRAFÍA

INTRODUCCIÓN

Durante el estudio de la ingeniería electrónica es necesario el diseño y montaje de circuitos digitales para entender su funcionamiento, para lo cual en la universidad se cuenta con un laboratorio que realiza préstamo de elementos electrónicos según los requerimientos del circuito a montar y probar, presentando dificultad en el proceso de montaje por que no hay los suficientes elementos o si se requiere modificar algo en el circuito inicial, demanda mas tiempo y realizar modificaciones en el circuito ubicado sobre el protoboard es difícil , luego surge la necesidad de utilizar un sistema que permita realizar diseño de circuitos digitales y simulación para facilitar el proceso de aprendizaje, esta característica la presenta los FPGA que es un dispositivo lógico programable.

En este trabajo se propone la utilización de una plataforma de hardware reconfigurable a través de un Kit de desarrollo de FIELD PROGRAMMABLE GATE ARRAY (FPGAs) para realizar diseños digitales en lógica secuencial y lógica combinacional.

Como introducción al uso del lenguaje VHDL y el Kit de desarrollo se tiene un curso básico, el cual a través de cuatro proyectos, explica los diferentes pasos para utilizar el software integrado ISE de Xilinx y programar un FPGA incluido en el Kit de desarrollo.

Los diseños digitales con lógica secuencial y combinacional se ve integrada en el desarrollo de un dispensador de productos y en la implementación de una ALU sencilla, igualmente la posibilidad que tiene el FPGA integrado en el kit de desarrollo de usar componentes periféricos se muestran en dos aplicaciones que permiten interactuar con un monitor vga o lcd y un teclado.

Este curso básico de aprendizaje es una guia de aprendizaje para nuevos usuarios del software de programación Integrated Software Enviroment (ISE) 8.2i.de XILINX, aquí se demuestran los pasos basicos para el diseño e implementación de circuitos digitales FPGA en el software ISE. 8.2i.y su implementacion en hardware sobre el kit de desarrollo HW-SPAR3E-SK-US de la familia SPARTAN 3E de XILINX.Al terminar el estudio del curso usted podra alcanzar la destreza para crear, simular e implementar sus propios diseños usando el ISE 8.2i y el kit de desarrollo.

El software ISE 8.2i realiza simulación y permite incluir banco de puebas que representan el comportamiento esperado del circuito, ademas el ISE 8.2i genera un archivo el cual se descarga al kit de desarrollo para configurar la FPGA para ver su funcionamiento.

El lenguaje a utilizar es lenguaje para descripción y modelado de circuitos (VHDL) que permite descomponer la estructura principal de diseño en subdiseños e interconectarlos; también permite la especificación de la función de diseño usando formas de lenguaje de programación familiar, igualmente como un resultado facilita hacer pruebas de simulación para hacer correcciones sin costo de hardware prototipo.

RESUMEN

En este trabajo se desarrolla un curso básico y 4 aplicaciones en circuitos digitales, implementando lógica combinacional y secuencial sobre un kit de desarrollo de Field Programmable Gate Array (FPGA) para el laboratorio de Electrónica de la Universidad Autónoma de Manizales El curso básico describe de manera detallada proyectos simples que permite a los usuarios hacer uso del kit de desarrollo, guiándolos para que realicen la introducción y estudio del hardware y software integrado.

Las cuatro aplicaciones están orientadas a mostrar diseños con lógica combinacional y secuencial, además las posibilidades que tiene el kit de desarrollo para manejar dispositivos periféricos.

La primera aplicación esta orientada a la lógica combinacional diseñando una ALU como prototipo de prueba, la segunda aplicación es en lógica secuencial simulando un dispensador. de productos, la tercera aplicación muestra la formación de una cuadricula de colores sobre la pantalla del monitor VGA y la cuarta aplicación integra dispositivos periféricos los cuales son posibles conectar al kit de desarrollo como teclado y monitor VGA.

El Kit de desarrollo elegido es el HW-SPAR3E-SK-US de la familia SPARTAN 3E de XILINX, y el sistema de desarrollo Xilinx ISE & EDK de la misma compañía.

MARCO CONCEPTUAL

En microelectrónica es necesario trabajar con circuitos integrados los cuales usan diferentes tecnologías y escalas de integración entre las cuales están SSI, MSI, LSI, VLSI, Y ULSI., algunos permiten ser programados por el usuario, entre estos están los dispositivos lógicos programables (PLD), los mismos se utilizan en muchas aplicaciones para reemplazar a los circuitos SSI y MSI. Existen cuatro tipos de dispositivos que se clasifican como PLD: estos son PAL, PLA, GAL Y PROM, estos dispositivos tienen diferente grado de complejidad, siendo unos simples como los SPLD y otros complejos como los CPLD, para su programación se requieren un software, un hardware representado en un prototipo , este se programa luego de realizar la síntesis del circuito usando lenguaje VHDL., en este trabajo se utiliza el lenguaje VHDL para programar un prototipo de FPGAs, , luego los siguientes tópicos teóricos aportan para la realización de este proyecto:

CIRCUITOS DIGITALES INTEGRADOS

Un circuito integrado (CI) monolítico es un circuito electrónico construido enteramente sobre un pequeño chip de silicio. Todos los componentes que conforman el circuito como transistores, diodos, resistencias y condensadores son parte integrante de un único Chip, cuyos terminales se conectan a los pines del encapsulado para permitir las conexiones de entrada y salida al mundo exterior. Otra técnica de encapsulado de CI es la tecnología de montaje superficial (SMT) el cual es un método más moderno que permite ahorrar espacio, alternativo al montaje de inserción. Los pines de los encapsulados de montaje superficial se sueldan directamente a las pistas de una cara de la tarjeta, dejando la otra cara libre para añadir circuitos adicionales obteniendo un circuito más pequeño

TECNOLOGIAS DE CIRCUITOS INTEGRADOS

Los tipos de transistores con los que se implementan los circuitos integrados pueden ser transistores bipolares TTL (Transistor-transistor Logic) o MOSFET(metal-oxide semiconductor Field-Effect Transitor). La mayor parte de las tecnologías de circuitos que utilizan MOSFET son de tipo CMOST (complementary MOST) o NMOST(n-channel MOST). Por ejemplo los microprocesadores utilizan la tecnología CMOST.

Generalmente los circuitos de escala de integración SSI y MSI están disponibles en TTL y CMOST, y los circuitos de escalas de integración LSI, VLSI y ULSI se implementan normalmente con CMOST o NMOST, ya que estas tecnologías requieren una menor superficie de chip y consume menos potencia. Acontinuación se aclaran las escalas de integración:

- SSI (small-scale integration): Se refiere a circuitos que integran aproximadamente 10 compuertas por chip, surgieron en los años 60´s
- MSI (medium-scale integration): Se refiere a circuitos que integran aproximadamente entre100-1000 compuertas por chip, surgieron en los años 70´s
- LSI(large-scale integration): Se refiere a circuitos que integran aproximadamente entre1000-10000 compuertas por chip, surgieron en los años 80´s
- VLSI (very large-scale integration): Se refiere a circuitos que integran aproximadamente entre10000-100000 compuertas por chip, surgieron en los años 90´s
- ULSI (ultralarge scale integration):Se refiere a circuitos que integran aproximadamente entre1M-10M compuertas por chip,

DISPOSITIVOS LOGICOS PROGRAMABLES.(PLD)

Los dispositivos lógicos programables (PLD) se utilizan en aplicaciones para reemplazar a los circuitos SSI y MSI, ya que ahorran espacio y reducen el número y el costo de los dispositivos en un determinado diseño. Un PLD puede usarse como una caja negra que contiene compuertas lógicas y llaves programables, tal como se observa en la figura 3

Existen cuatro tipos de dispositivos que se clasifican como PLD:

PLA: (Programmable Logic Array): Consiste una matriz de compuertas AND, OR e inversores conectados por medio de una matriz de interruptores programables. cuya estructura se observa en la figura 4

illustration not visible in this excerpt

figura 3

illustration not visible in this excerpt

figura 4

Basada en la idea de que una función lógica puede ser realizada como una Suma De Productos, una PLA, comprende un arreglo ( array) de compuertas AND que alimentan un arreglo de compuertas OR - Un esquema del circuito se muestra en la figura 5.

illustration not visible in this excerpt

figura 5

En esta figura se observa que cada entrada a la compuerta AND se puede programar (conectar o nó). El circuito está diseñado para que una entrada no conectada no afecte el funcionamiento de las compuertas. Una PLA típica tiene 16 entradas y 8 salidas. El esquema de la PLA dado en la figura 5 no es aconsejable cuando se trabaja con mayor número de entradas/salidas. En su lugar utilizamos el esquema dado en la figura 6.

PAL (Programmable Array Logic): en estos dispositivos la matriz de compuertas OR es fija, además, las salidas sé realimentan a la entrada de la matriz de compuertas AND permitiendo funciones lógicas multinivel. La PAL ofrece menos flexibilidad que la PLA debido a que tiene un arreglo fijo (OR). La PLA permite hasta 4 terminos producto por compuerta OR, mientras que la PAL solo 2. Ello se observa en la figura 6

illustration not visible in this excerpt

figura 6

Como se ha visto en las PLAs ambos arreglos (planos AND y OR) son programables. Esto tiene dos dificultades para el fabricante. En primer lugar es de fabricación compleja por la cantidad de llaves, por otro lado son poco veloces. Este problema los llevo a mejorar el diseño y desarrollaron un dispositivo de arreglo AND programable y OR fijo. Esta estructura se denomina Programmable Array Logic. Ello se observa en la figura 6.

En muchas PAL se agregan circuitos extras a cada salida OR, para proveer una mayor flexibilidad. Este circuito adicional a la salida OR se la denomina MACROCELL, se muestra en la figura 7.

illustration not visible in this excerpt

figura 7

SPLD (Simple Programmable Logic Device): en estos dispositivos, se les anexan multiplexores a cada una de las salidas combinacionales normales de los PAL y las salidas de los multiplexores se convierten en las salidas del dispositivo.

CPLD (Complex Programmable Logic Device):

Las PAL y PLA son útiles para implementar una gran variedad de pequeños/medianos circuitos digitales (Entradas más salidas que no superen el número de 32).

Cuando se requiere mayor cantidad de entradas/salidas se recurre a un CPLD (Complex Programmable Logic Devices).

Un CPLD comprende múltiples bloques en un único chip con recursos de cableado interno para conectar los bloques. Cada bloque es similar a una PLA o PAL, por lo que en el esquema de la figura 8 se refiere a cada block como PAL - like block.

illustration not visible in this excerpt

figura 8

estos dispositivos combinan una gran cantidad de SPLD, como el XC95108 de Xilinx que contiene seis bloques de función configurable, cada uno equivale a 18 SPLD con 36 entradas y 18 salidas.En la figura 9 se observa un ejemplo de interconexionado

illustration not visible in this excerpt

figura 9

El PAL-like block incluye 3 MACROCELLS ( CPLD reales tienen cerca de 16 MACROCELLS en una PAL-like block), consistente en una compuerta OR de 4 entradas (real de 5 a 20 entradas) . Cada salida de la compuerta OR se conecta a una entrada XOR. La MACROCELL incluye FF, Mux y Buffer de salida con tercer estado. Los cables de interconexión (interconexión wires) contienen llaves programables que se utilizan para la conexión de los PAL-like blocks. El tamaño de las CPLD va de 2 a 100 PAL-like block.

illustration not visible in this excerpt

Programación De Los Dispositivos Lógicos Programables (PLD)

Para realizar la programación de un PLD se requiere

1. Software de programación (compilador lógico).
2. Un computador personal que cumpla los requisitos de software.
3. Un programador controlable por software, el cual es un dispositivo hardware que acepta datos de programación procedentes de la computadora e implementa un diseño lógico específico en el PLD, esté se inserta en un zócalo en el programador.

Software De Los Dispositivos PLD:

Existen diversos paquetes de software para implementar los diseños lógicos basados en los PLD, es así como VHDL, ABEL, y CUPL, son lenguajes de descripción de hardware (HDL, Hardware Descripción Language) más comúnmente utilizados. Puesto que estos lenguajes son similares y producen el mismo resultado en términos de programación de un PLD, a menudo, su utilización es una cuestión de preferencias y disponibilidad.

FPGAs (Field Programmable Gate Array):

Introducidas por Xilinx en 1985. Son los dispositivos programables por el usuario de aplicación más general. Estos chips tienen unos componentes básicos que se pueden unir según las necesidades de diseño, Esta configuración se encuentra almacenada en una memoria ram interna, y se carga desde el exterior del chip. De igual forma que en los microcontroladores se carga software, en las FPGA's se carga la configuración que determina en qué circuito se va a convertir.

Una FPGA's es un chip que según cómo se configure, puede realizar cualquier circuito digital. una FPGA más grande, con más recursos internos, alcanza a implementar diseños más complejos. Pero al final se tiene una manera de poder crear diseños digitales sin tener que utilizar componentes externos. Y lo interesante es que una vez configurada la FPGA, lo que tenemos en su interior es hardware.

Metodología de diseño con FPGA's

La metodología de diseño es similar a la cualquier sistema digital, salvo que al final se obtiene un archivo ejecutable que se descarga a la FPGA para que se reconfigure, implementando así el diseño esperado.

Primero hay que tener una descripción del circuito a realizar. Tradicionalmente en las ingenierías se realizan planos o esquemas para esta descripción, de forma similar a como un arquitecto diseña un edificio. Sin embargo es posible realizar una descripción del hardware utilizando algún lenguaje de descripción de hardware, como VHDL o Verilog Con esta descripción se pueden realizar simulaciones del circuito, para comprobar que lo diseñado trabaja correctamente de lo contrario se volverá a modificar la descripción (esquemas o programa) hasta que la simulación sea satisfactoria. Hasta aquí sólo se a utilizado el computador y no se tocado hardware. Sin embargo en el caso del software, la propia simulación es la ejecución del programa. Se observa directamente el resultado del programa y se modifican el código fuente hasta que se eliminen los errores.

En el caso del hardware hay que construir el circuito. Y aquí es donde vienen las FPGA's para hacerlo. A partir de la especificación hardware y utilizando un compilador especial, obtenemos un archivo binario, llamado bitstream que contiene toda la información necesaria para configurar la FPGA. Este archivo, que es el equivalente a un programa ejecutable en el caso del software, es el que hay que cargar en la FPGA. Se carga este archivo en la FPGA y listo. Ya se tiene el hardware que queríamos situado en el interior de un chip. No se ha tenido que soldar, ni comprar componentes, ni perder tiempo haciendo un prototipo. Ahora los cambios en el diseño se pueden hacer igual de rápidos que en el caso de software. Sólo hay que cambiar la especificación del diseño, volver a compilar y reconfigurar la FPGA con el nuevo bitstream generado.

VHDL(Hardware Description Lenguaje): lenguaje para descripción y modelado de circuitos que permite descomponer la estructura principal de diseño en subdiseños e interconectarlos; también permite la especificación de la función de diseño usando formas de lenguaje de programación familiar, igualmente como un resultado facilita hacer pruebas de simulación para hacer correcciones sin costo de hardware prototipo.

La especificación de un circuito hasta ahora sólo se hacía de una manera: utilizando esquemas gráficos, en los que cada símbolo representa un componente o elemento lógico: multiplexores, puertas lógicas,n etc. Existe otra manera de describir un circuito: utilizando los llamados lenguajes de descripción hardware. Existen varios: VHDL, Verilog, Handle C, JBits. La ventaja de estos lenguajes es que además de permitir describir el circuito, permiten definir bancos de pruebas (testbench), que son muy útiles para la simulación y la depuración.

Prototipo los prototipos son una técnica de uso común en algunas ingenierías cuando los desarrollos son complejos, laboriosos y caros, o no están completamente especificados; en los dominios de aplicación de los sistemas digitales, un prototipo permite evaluar la viabilidad de diferentes soluciones propuestas para un problema. Pueden plantearse subsistemas formados por módulos hardware específicos, o por módulos programables que se adapten mediante software a la funcionalidad de las especificaciones.

Matriz Programable: es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección, las matrices pueden ser fijas o programables Sintesis: Proceso software por el que se convierte una descripción de circuito en un archivo JEDEC el cual es un archivo software estándar generado a partir de un software de compilación que se emplea en un dispositivo de programación para implementar un diseño lógico en un PLD, también se denomina mapa de fusibles o mapa de celdas.

CONFIGURACION Y USO SOFTWARE Y HARDWARE FPGA

1 SOFTWARE UTILIZADO

El software de diseño programación y simulación INTEGRATED SOFTWARE ENVIROMENT (ISE) 8.2I es una herramienta útil para estudiantes y profesionales que desean acelerar y mejorar sus habilidades para el desarrollo de aplicaciones digitales empleando un entorno de programación gráfico o usando lenguaje VHDL y realizar la simulación de su funcionamiento sin el riesgo de ocasionar daños a los circuitos.

1.1 Breve historia del lenguaje VHDL.

VHDL es el Idioma de Descripción de Hardware, que se desarrolló en los años de 1980s como un proyecto de investigación de circuito integrado de gran velocidad el cual fue consolidado por el Departamento Americano de Defensa. Un equipo de ingenieros de tres compañías - IBM, Texas Instruments e Intermetrics - fue contratado por el Departamento de Defensa para completar la especificación y aplicación de un nuevo idioma basado en método de descripción de diseños digitales ideado por ellos. La primera versión públicamente disponible de VHDL, versión 7.2, se libero en 1985. En 1986, el Instituto de Eléctricidad y Electrónica Diseñada, Inc. (IEEE) se presentó con una propuesta para estandarizar el idioma que hizo en 1987, después de que las mejoras sustanciales y modificaciones fueron hechas por un equipo de gobierno y representantes académicos. La norma resultante, IEEE 1076-1987, es la base virtual para cada simulación y el producto de la síntesis vendido hoy. Una nueva versión mejoro el lenguaje, la IEEE 1076-1993, se lanzo en 1994.

Aunque IEEE Standard 1076 define el lenguaje de VHDL completo, hay aspectos del lenguaje que hacen difícil la descripción completamente portátil del diseño (descripciones que pueden simularse usando las herramientas de diferentes vendedores). El problema proviene del hecho que VHDL soporta muchos tipos de datos abstractos, pero esto no se dirige al problema simple de caracterizar señales diferentes o las condiciones de la simulación normalmente usadas como los desconocidos y alta-impedancia.

Poco después IEEE 1076-1987 fue adoptada, las compañías de simuladores empezaron reforzando VHDL con los nuevos tipos no estandarizados y permitirles a sus clientes simular los circuitos electrónicos complejos con precisión. Esto causó problemas porque las descripciones de un diseño entraron en un simulador donde a menudo eran incompatibles con otros ambientes de simulación. VHDL estaba volviéndose no estandarizable rápidamente creando un problema.Otra norma se desarrolló por un comité de IEEE. Esta norma, numerada 1164, define un paquete estandar (un lenguaje VHDL que permite coleccionar las declaraciones normalmente usadas en una biblioteca externa) conteniendo las definiciones para un tipo de los datos normalizados. Este tipo de datos normalizado se llama el std_logic, y el paquete 1164 IEEE es frecuentemente llamado el paquete de la Lógica estandar.

Las normas IEEE 1076-1987 e IEEE 1164 completan el estándar VHDL siendo el más usado hoy.

1.2 REQUERIMIENTOS DEL SISTEMA

La instalación completa del software ISE 8.2i requiere:

- aproximadamente 1 GB de espacio de almacenamiento en disco duro.
- Memoria RAM 512 M minimo , ideal 1 GB de memoria Ram
- Windous 2000,.Windous XP/PRO, Linux, o solaris
- Procesador 1.7 Ghz.

1.3 INSTALACIÓN SOFTWARE ISE 8.2i

Inserte el DVD marcado como Xilinx 8.2i Design Tools Evaluation en la unidad de DVD. Este DVD contiene un comando autoejecutable que abrira un menu usando un navegador WEB.como muestra la Figura 1.1. Si el menu del DVD no habre automáticamente, use un navegador WEB para abrir el archivo HTML: index.htm.

illustration not visible in this excerpt

Figura 1.1 Pantallazo inicial en proceso de instalación

Haga click sobre el link de Desing tools products llamado ISE 8.2i WebPACK y de click en el boton ejecutar como muestra la Figura 1.2

illustration not visible in this excerpt

Figura 1.2 Inicio instalacion de ISE 8.2i WebPACK

Se habre una ventana para registrar el producto, haga click en next. Ver Figura 1.3

illustration not visible in this excerpt

Figura 1.3 Obtener serial de registro

En la siguiente pantalla pide el serial de registro como indica la Figura 1.4, para lo cual digitamos: XXXX XXXX XXXX XXXX

illustration not visible in this excerpt

Figura 1.4 Digitar serial de registro

Acontinuación el instalador solicita establecer la ruta de la carpeta en la cual se instalara el Ise 8.2i WebPACK, por defecto lo realizar en el directorio raiz.Ver Figura 1.5

illustration not visible in this excerpt

Figura 1.5 Determinar ruta de instalación programa

La ventana de selección opciones a instalar, muestra los modulos disponibles para instalar, por defecto todos aparecen seleccionados, haga click en boton Next. ver figura 1.6

illustration not visible in this excerpt

Figura 1.6 Selección modulos a instalar

En la ventana Update Enviroment las opciones aparecen preseleccionadas haga click en Next. Ver Figura 1.7.

illustration not visible in this excerpt

Figura 1.7 opciones de actualización ISE 8.2i

El resumen de la configuración de instalacion se muestra como en la Figura 1.8, haga click en Install.Este proceso toma 10 minutos aproximadamente.

illustration not visible in this excerpt

Figura 1.8 Iniciar proceso de Instalación

El proceso de instalación esta en curso como indica la figura 1.9

illustration not visible in this excerpt

Figura 1.9 Instalación en curso

Diferentes pantallazos se muestran en pantalla hasta que aparece el mensaje de instalación completa Ver figura 1.10

illustration not visible in this excerpt

Figura 1.10 Instalación finalizada

Reinicie el computador y retire el DVD, en el escritorio aparecera el icono de ISE 8.2i. Figura 1.11

illustration not visible in this excerpt

Figura 1.11 Icono de ISE 8.2i

2. HARDWARE EMPLEADO.

Se emplea como elemento base un kit de desarrollo FPGA comercial referencia HWSPAR3E-SK-US de la familia SPARTAN 3E de XILINX. Mostrado en la Figura 2.1

illustration not visible in this excerpt

Figura 2.1 HW-SPAR3E-SK-US de la familia SPARTAN 3E de XILINX Este kit de desarrollo posee

1 FPGA XC3S500E de la familia Spartan 3E, con mas de 232 pines de uso como I/O.Mas de 10000 celdas logicas.

1 Memoria PROM plataforma flash configurable 4 Mbit.

1 CoolRunner CPLD Ref. XC2C64A con 64 macro celdas

1 DDR SDRAM DE 64 Mbyte, 100 MHz

1 memoria flash 16 MByte (128 Mbit) para almacenar configuración del FPGA o el codigo del microprocesador

1 SPI serial flash de16 Mbits (STMicro), permite almacenar configuración del FPGA o el codigo del microprocesador

1 display LCD de 2-lineas, 16-characteres

1 puerto PS/2para mouse o teclado

1 puerto para monitor VGA

1 puerto 10/100 Ethernet PHY ( equire Ethernet MAC in FPGA)

2 puertos de 9 pines RS-232 (estilo DTE- y DCE)

1 puerto USB para FPGA/CPLD download/debug interface

1 oscilador de 50 MHz.

1 memoria EEPROM para almacenar archivo de configuración

1 conector de expansión FX2 · Hirose

3 conectores de expansión 6 pines diligent

4 salidas para conversor digital-analogo DAC base SPI-

2 entradas para conversor analogo a digital ADC base SPI-con preamplificador de ganancia programable.

1 encoder rotacional con boton pulsador central

8 salidas discretas en LED´s

4 · swiches deslizables

4 swiches pulsadores

1 entrada para reloj · SMA

1 socket DIP · 8-pin para reloj oscilador auxiliary

3 PROCEDIMIENTO DE CONFIGURACIÓN

El aprendizaje para el manejo del kit de desarrollo en la Ingeniería Electrónica necesita de una constante realización práctica de ejercicios, tanto de simulación como de implementación. Por ello, este curso describe con ejemplos sencillos como utilizar el kit de desarrollo, empleando el dispositivo FPGA de Xilinx y el simulador ISE 8.2i.

3.1 Arranque del programa:

Para iniciar el Integrated Software Enviroment (ISE) dar:

illustration not visible in this excerpt

Figura 3.1. Pantallazo inicial software ISE 8.2i

En el pantallazo inicial del programa se observan cuatro (4) ventanas como muestra la Figura 3.2

illustration not visible in this excerpt

Figura 3.2. Descripción pantalla inicial software ISE 8.2i

La ventana 1 llamada Sources muestra los diferentes archivos fuente adicionados al proyecto

La ventana 2 llamada Processes muestra los diferentes procesos que se pueden realizar al archivo fuente seleccionado en la ventana 1.

La ventana 3 es el area de trabajo para mostrar y/o editar los diferentes archivos fuente seleccionados en la ventana 1.

La ventana 4 llamada Transcript muestra mensajes de estado de los diferentes procesos ejecutados durante el diseño, es asi como aquí aparecen las advertencias, los errores detectados en la revisión de sintaxis, compilación y simulación de un diseño electronico.

La forma corta para iniciar el Integrated Software Enviroment (ISE) es dar doble click en el icono del programa ISE mostrado en la Figura 3.3, el cual esta ubicado en el escritorio.

illustration not visible in this excerpt

Figura 3.3 Icono de ISE 8.2i

3.2 Crear proyecto # 1 : Compuerta AND 4 entradas

Para crear el nuevo proyecto el cual llamaremos compuertand4. procedemos así:

A. Seleccione File > New Project. Como lo indica la Figura 3.4.

illustration not visible in this excerpt

Figura 3.4 Creación de proyecto compuertand4.

La página de creación de nuevo proyecto aparece, aquí damos la información general del proyecto así:

Project Name: Especifique el nombre del proyecto compuertand4.

Project Location: Especifique la localización del proyecto.Por defecto el nombre de la carpeta es el mismo dado en el campo de nombre del proyecto

Para cambiar la ruta del directorio haga click en el boton ubicado al lado del campo Project Location y de la ruta deseada.

NOTA: Cada proyecto debe tener su propia carpeta. Si multiples proyectos quedan en la misma carpeta pueden ocurrir conflictos.

Top-Level Source Type

Especifique el top-level source type. Selecione HDL de la lista, mas adelante se explicaran las otras opciones Schematic, EDIF or NGC/NGO.

La Figura 3.5 muestra la pagina configurada

illustration not visible in this excerpt

Figura 3.5 Pagina configuración nuevo proyecto

En la configuración de los parámetros en un nuevo proyecto puede obtener ayuda para las diferentes ventanas dando ckick en el boton de More Info

B. Click Next para moverse a la página de propiedades del dispositivo.

Use esta página para seleccionar el dispositivo y otra información del diseño de su proyecto, Seleccionar la herramienta de síntesis y lenguaje, y el simulador

Product Category Específica la categoria del producto según su aplicación. Esta selección filtra las familias de dispositivos y dispositivos disponibles en los dos siguientes campos

Family Específica la familia de dispositivos, o arquitectura Xilinx, dentro del cual se implementara su diseño

Device Especifique el dispositivo en el cual implementara su poryecto

Package Específica la presentación del dispositivo con respecto al número de entradas y salidas.

Speed Específica la velocidad del dispositivo seleccionado.

Top-Level Source Type Especifica el tipo de fuente para el nivel de diseño.

Synthesis Tool Especifica la herramienta de sintesis y lenguaje de sintesis usado para su diseño en este caso Xilinx Synthesis Technology (XST) es suministrado con ISE.Hay otras herramientas de sintesis como synplify® Synplify®,LeonardoSpectrum.Precision® que no estan disponible en este programa

Simulator Especifica la herramienta usada para simulacion y el lenguaje usado para generar el archivo netlists de la simulación ISE Simulator esta integrado en ISE 8.2i.

Enable Enhanced Design Summary Selecionando esta opción usted puede ver información adicional en el resumen de diseño.El número acumulado de errores y notas de advertencia para cada paso de implementación deben ser mostrados así como los mensajes de errores, notas de advertencia y mensajes de información.

Cuando la tabla esta completa, las propiedades se mostraran así como la Figura 3.6:

illustration not visible in this excerpt

Figura 3.6: Propiedades del proyecto

Verifique que Enable Enhanced Design Summary es seleccionado. Deje los valores por defecto en los otros campos.

C. Click Next para crear la ventana New Source en el New Project, como indica la Figura 3.7

illustration not visible in this excerpt

Figura 3.7 Crear nueva fuente para el proyecto

No se requiere crear nueva fuente, haga click en next se mostrara la ventana de la figura 3.8

illustration not visible in this excerpt

Figura 3.8 Adicionar nueva fuente para el proyecto

aquí da la opción de anexar nuevos archivos fuente , no se requiere, haga click en next nuevamente, así se muestra en pantalla el resumen de las propiedades del nuevo proyecto creado como indica la figura 3.9

illustration not visible in this excerpt

Figura 3.9 Ventana resumen de las propiedades del proyecto

haga click en finish, su nuevo proyecto esta creado, En la ventana sources se observa el icono del nuevo proyecto a desarrollar llamado compuertand4. como se muestra en la figura 3.10.

illustration not visible in this excerpt

Figura 3.10 Nuevo icono del proyecto compuertand4. en la ventana sources

3.3 Crear un archivo fuente HDL

En esta sección, usted puede crear el .archivo fuente HDL para su diseño como sigue:.

A. Click en New Source dentro de la ventana New Project Wizard como muestra la Figura 3.11.

illustration not visible in this excerpt

Figura 3.11 Crear nuevo archivo fuente del proyecto

B Seleccione un tipo de archivo fuente de la lista dependiendo del dispositivo y diseño especificado para su proyecto, para este caso seleccione VHDL Module como tipo de fuente

C. Digite en el campo file name el nombre iniciando por una letra (A-Z, a-z) y debe contener solamente carácteres alfanumericos (A-Z, a-z, 0-9) y underscores (_). Para este caso digite compuertand4..el campo Location contiene la ruta del proyecto actual por defecto.Verifique que la casilla Add to project este seleccionada, para adicionar el archivo fuente al proyecto como muestra la figura 3.12 , para información y ayuda detallada dar click en boton More Info

illustration not visible in this excerpt

Figura 3.12 Selección tipo de fuente

D. Click en Next.

E. Declare los puertos para el diseño de la compuerta con cuatro entradas y una salida, esta se define seleccionando out, llenando la información como se muestra en la Figura 3.13

illustration not visible in this excerpt

Figura 3.13 Declarar entradas y salidas del proyecto

F. Click Next,

illustration not visible in this excerpt

Figura 3.14 Resumen del nuevo archivo fuente

En la figura 3.14 se observa el cuadro resumen del nuevo archivo fuente del proyecto que se esta realizando.Ahora damos click en Finish El archivo fuente contiene el par entidad / arquitectura visualizados en el espacio de trabajo, y el display de compuertand4. es como se muestra en la figura 3.15

illustration not visible in this excerpt

Figura 3.15 Espacio de trabajo para editar archivo fuente

3.4 Usando plantillas de lenguaje (VHDL)

El proximo paso en la creación del archivo fuente es adicionar la descripcion de la compuertand4.. Para hacer esto usted necesita usar codigo de compuerta and desde plantillas del lenguaje ISE y utilizarlas en el diseño del circuito compuertand4..

A. Ubique el cursor justo debajo donde comienza la declaracion dentro de la arquitectura de la compuertand4. en el espacio de trabajo como indica la figura 3.16

illustration not visible in this excerpt

Figura 3.16 Ubicación cursor para edición archivo

B. Abra las plantillas de lenguaje seleccionando Edit →·Language Templates como muestra la Figura 3.17.

illustration not visible in this excerpt

Figura 3.17 Ubicación plantillas de lenguaje

C. Usando el simbolo “+”, busque el siguiente codigo de ejemplo :

illustration not visible in this excerpt

Figura 3.18 Ubicación plantilla VHDL para compuerta and 4 entradas

D. Con 4-Input AND Gate, seleccione Edit →·Use in File para copiar plantilla como muestra la Figura 3.19

illustration not visible in this excerpt

Figura 3.19 Usar plantilla seleccionada en archivo fuente

La plantilla copiada dentro del archivo fuente de compuertand4. se indica en la figura 3.20

Excerpt out of 142 pages

Details

Title
Curso FPGA (Programacion de Arreglos de Compuerstas)
College
( Atlantic International University )
Course
Electronica Digital
Author
Year
2009
Pages
142
Catalog Number
V184996
ISBN (eBook)
9783656102229
File size
4891 KB
Language
Spanish; Castilian
Notes
En este trabajo se propone la utilización de una plataforma de hardware reconfigurable a través de un Kit de desarrollo de FIELD PROGRAMMABLE GATE ARRAY (FPGAs) para realizar diseños digitales en lógica secuencial y lógica combinacional.
Keywords
FPGA
Quote paper
Doctor of Sciences (Cum Laude) with major in Electronic Engineering Ruben Dario Cardenas Espinosa (Author), 2009, Curso FPGA (Programacion de Arreglos de Compuerstas), Munich, GRIN Verlag, https://www.grin.com/document/184996

Comments

  • No comments yet.
Title: Curso FPGA (Programacion de Arreglos de Compuerstas)



Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free