aplicacio fpga

4
ITCR. Marín. Preparación de reportes escritos informativos. . APLICACION REAL DE LOS FPGA. Daniel Ricardo Tobar Estrella e-mail: [email protected] RESUMEN: Este articulo es una investigación acerca de la aplicación real de los FPGA y de los ejemplos actuales utilizando el programa Altium Design Summer 9. Una FPGA es un dispositivo semiconductor que contiene bloques de lógica cuya interconexión y funcionalidad se puede programar. La lógica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema combinacional hasta complejos sistemas en un chip. Las FPGAs tienen las ventajas de ser reprogramables (lo que añade una enorme flexibilidad al flujo de diseño), sus costes de desarrollo y adquisición son mucho menores para pequeñas cantidades de dispositivos y el tiempo de desarrollo es también menor. Cuando utilizar un FPGA Cualquier circuito de aplicación específica puede ser implementado en un FPGA, siempre y cuando esta disponga de los recursos necesarios. La adopción de chips FPGA en las industrias ha sido impulsada por el hecho de que los FPGAs combinan lo mejor de los ASICs y de los sistemas basados en procesadores. Ofrecen velocidades temporizadas por hardware y fiabilidad, pero sin requerir altos volúmenes de recursos para compensar el gran gasto que genera un diseño personalizado de ASIC. El silicio reprogramable tiene la misma capacidad de ajustarse que un software que se ejecuta en un sistema basado en procesadores, pero no está limitado por el número de núcleos de proceso disponibles. Ejemplos en Altium de un diseño y grabación de un FPGA Anexo1 Ejemplos de utilización Las aplicaciones donde más comúnmente se utilizan los FPGA incluyen a los DSP (procesamiento digital de señales), radio definido por software, sistemas aeroespaciales y de defensa, prototipos de ASICs, sistemas de imágenes para medicina, sistemas de visión para computadoras, reconocimiento de voz, bioinformática, emulación de hardware de computadora, entre otras. Cabe notar que su uso en otras áreas es cada vez mayor, sobre todo en aquellas aplicaciones que requieren un alto grado de paralelismo. FPGA vs. MICROCONTROLADOR Pic Estructura : arreglo bidimensional de bloques lógicos rodeados por conexiones configurables. Una familia contiene idénticos bloques lógicos y conexiones , pero difieren en el tamaño del arreglo. Tecnología de programación : se programa por la carga de celdas de memoria de configuración, que controlan la lógica e interconexiones. Los Cinco Beneficios Principales de la Tecnología FPGA 1. Rendimiento 2. Tiempo en llegar al mercado 3. Precio 4. Fiabilidad 5. Mantenimiento a largo plazo Los FPGAs, tomando ventaja del paralelismo del hardware, exceden la potencia de cómputo de los procesadores digitales de señales (DSPs) rompiendo el paradigma de ejecución secuencial y logrando más en cada ciclo de reloj. BDTI, una destacada firma analista que realiza 1

Upload: daniel-to

Post on 25-Jun-2015

307 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Aplicacio FPGA

ITCR. Marín. Preparación de reportes escritos informativos..

APLICACION REAL DE LOS FPGA.

Daniel Ricardo Tobar Estrellae-mail: [email protected]

RESUMEN: Este articulo es una investigación acerca de la aplicación real de los FPGA y de los ejemplos actuales utilizando el programa Altium Design Summer 9. Una FPGA es un dispositivo semiconductor que contiene bloques de lógica cuya interconexión y funcionalidad se puede programar. La lógica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema combinacional hasta complejos sistemas en un chip. Las FPGAs tienen las ventajas de ser reprogramables (lo que añade una enorme flexibilidad al flujo de diseño), sus costes de desarrollo y adquisición son mucho menores para pequeñas cantidades de dispositivos y el tiempo de desarrollo es también menor.

Cuando utilizar un FPGA

Cualquier circuito de aplicación específica puede ser implementado en un FPGA, siempre y cuando esta disponga de los recursos necesarios. La adopción de chips FPGA en las industrias ha sido impulsada por el hecho de que los FPGAs combinan lo mejor de los ASICs y de los sistemas basados en procesadores. Ofrecen velocidades temporizadas por hardware y fiabilidad, pero sin requerir altos volúmenes de recursos para compensar el gran gasto que genera un diseño personalizado de ASIC. El silicio reprogramable tiene la misma capacidad de ajustarse que un software que se ejecuta en un sistema basado en procesadores, pero no está limitado por el número de núcleos de proceso disponibles.

Ejemplos en Altium de un diseño y grabación de un FPGA

Anexo1

Ejemplos de utilización

Las aplicaciones donde más comúnmente se utilizan los FPGA incluyen a los DSP (procesamiento digital de señales), radio definido por software, sistemas aeroespaciales y de defensa, prototipos de ASICs, sistemas de imágenes para medicina, sistemas de visión para computadoras, reconocimiento de voz, bioinformática, emulación de hardware de computadora, entre otras. Cabe notar que su uso en otras áreas es cada vez mayor, sobre todo en aquellas aplicaciones que requieren un alto grado de paralelismo.

FPGA vs. MICROCONTROLADOR Pic

Estructura : arreglo bidimensional de bloques lógicos rodeados por conexiones configurables.Una familia contiene idénticos bloques lógicos y conexiones , pero difieren en el tamaño del arreglo.

Tecnología de programación : se programa por la carga de celdas de memoria de configuración, que controlan la lógica e interconexiones.

Los Cinco Beneficios Principales de la Tecnología FPGA

1. Rendimiento2. Tiempo en llegar al mercado3. Precio4. Fiabilidad5. Mantenimiento a largo plazo

Los FPGAs, tomando ventaja del paralelismo del hardware, exceden la potencia de cómputo de los procesadores digitales de señales (DSPs) rompiendo el paradigma de ejecución secuencial y logrando más en cada ciclo de reloj. BDTI, una destacada firma analista que realiza evaluaciones de referencia, lanzó evaluaciones mostrando cómo los FPGAs pueden entregar significativamente más potencia de procesamiento por dólar que una solución de DSP, en algunas aplicaciones. El controlar entradas y salidas (E/S) a nivel de hardware ofrece tiempos de respuesta más veloces y funcionalidad especializada que coincide con los requerimientos de una aplicación.La tecnología FPGA ofrece flexibilidad y capacidades de rápido desarrollo de prototipos, para enfrentar las preocupaciones de tiempo incrementado en que un producto tarde en llegar al mercado. Usted puede probar una idea o un concepto y verificarlo en hardware sin tener que pasar por el largo proceso de fabricación por el que pasa un diseño personalizado de ASIC.

Posteriormente podrá implementar cambios y realizar iteraciones de un diseño FPGA en cuestión de horas en vez de semanas. También está disponible el hardware comercial listo para ejecutarse (COTS), con diferentes tipos de E/S ya conectados a un chip FPGA programable por el usuario. El aumento en disponibilidad de herramientas de software de alto nivel disminuye la curva de aprendizaje con niveles de abstracción. Estas herramientas frecuentemente incluyen importantes núcleos IP (funciones pre construidas) para control avanzado y procesamiento de señales.Mientras que las herramientas de software ofrecen un entorno de programación, los circuitos de un FPGA son una implementación segura de la ejecución de un programa. Los sistemas basados en procesadores

1

Page 2: Aplicacio FPGA

ITCR. Marín. Preparación de reportes escritos informativos..

frecuentemente implican varios niveles de abstracción para auxiliar a programar las tareas y compartir los recursos entre procesos múltiples. El nivel controlador se encarga de los recursos de hardware y el sistema operativo administra la memoria y el ancho de banda del procesador.

El núcleo de un procesador sólo puede ejecutar una instrucción a la vez, y los sistemas basados en procesadores están siempre en riesgo de que sus tareas se obstruyan entre sí. Los FPGAs, que no necesitan sistemas operativos, minimizan los retos de fiabilidad con ejecución paralela y hardware preciso dedicado a cada tarea.

Los chips FPGA, al ser reconfigurables, son capaces de mantenerse al tanto con modificaciones a futuro que pudieran ser necesarias. Mientras el producto o sistema se va desarrollando, usted puede implementarle mejoras funcionales sin la necesidad de invertir tiempo rediseñando el hardware o modificando el diseño de la tarjeta.

Características del microcontrolador

Los PICs actuales vienen con una amplia gama de mejoras hardware incorporadas:

Núcleos de CPU de 8/16 bits con Arquitectura Harvard modificada

Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes

Puertos de E/S (típicamente 0 a 5,5 voltios) Temporizadores de 8/16 bits Tecnología Nanowatt para modos de control de

energía Periféricos serie síncronos y asíncronos:

USART, AUSART, EUSART Conversores analógico/digital de 8-10-12 bits Comparadores de tensión Módulos de captura y comparación PWM Controladores LCD Periférico MSSP para comunicaciones I²C, SPI,

y I²S Memoria EEPROM interna con duración de

hasta un millón de ciclos de lectura/escritura Periféricos de control de motores Soporte de interfaz USB Soporte de controlador Ethernet Soporte de controlador CAN Soporte de controlador LIN Soporte de controlador Irda

La decisión del tipo de implementación hardware suele venir en la fase de compilación del circuito, se hacen pruebas para ver lo que ocupa en cada tipo de circuito y las prestaciones que nos da, con esto se trata que sea lo más barato posible y a la vez lo más simple y fiable.

A diferencia de los procesadores, los FPGAs llevan a cabo diferentes operaciones de manera paralela, por lo que éstas no necesitan competir por los mismos recursos. Cada tarea de procesos independientes se asigna a una sección dedicada del chip, y puede ejecutarse de manera autónoma sin ser afectada por otros bloques de lógica. Como resultado, el rendimiento de una parte de la aplicación no se ve afectado cuando se agregan otros procesos.

En general las FPGA son más baratas y de mayor capacidad, pero necesitan más área para hacer lo mismo, y el hecho de que necesiten una memoria EPROM además del propio circuito hace que el interconexionado externo sea más complejo y de peor calidad debido a los retrasos introducidos por las líneas, soldaduras, etc., que puede ser un problema importante.

1.1 MANUAL PARA GRABAR UNA FPGA UTILIZANDO ALTIUM DESIGNER SUMMER 9

Visualizamos en el disco C la opción Conected FPGA Scripts. Vamos a C/program files/Altium Designer Summer 09 –Beta, buscamos la opción Examplesd, buscamos la opción Scripts, luego vamos a Delphiscripts script y por ultimo vamos a FPGA.Click derecho y seleccionamos copy. Click derecho y seleccionamos paste.Abrir Altium Summer Designer 09Hacemos click en File/New/New Proyect/FPGA Proyect.Seleccionamos File/New/Schematic.Seleccionamos File/Save all/Connected FPGA Scipts.Seleccionamos En file name/Test_FPGA/Save.Seleccionamos Libraries/Nanoboard_intiFPGA Instruments.Intlit Configurable Nanoboard interface.Arrastramos el Nanoboard a la pantalla principal.Buscamos Libraries/Digital_IO FPGA Instruments Intlit Configurable Digital_IO.Arrastramos el Digital_IO a la pantalla principal.Hacemos click derecho en el área principal/BusPuenteamos las dos patas del Digital_IO.Luego vamos al a Barra de herramientas/Tools/Anotate/Schematics/QuietlyEn el cuadro de dialogo que aparece damos click en la opción Yes.Hacemos click derecho en la opcion Nanoboard/Properties/ en full path damos cllick en el ícono de abrir carpetas/conected FPGA Scripts/FPGA/SwapIdsupdate/SwapIds_Project1.prjscr/OKHacemos click derecho en Test_FPGA/ y damos click derecho/RecompileFPGA Project Test_FPGA.prjfpgHacer click en TestschDoc/PreviewerForm.pasY luego click en Form de la barra de herramientas inferior

2

Page 3: Aplicacio FPGA

ITCR. Marín. Preparación de reportes escritos informativos..

En la barra de herramientas inferior derecha en Scrpt/Breakpoint/Instruments damos click en control/Designal Insttrument Manerwirapper.Arrastramos hasta la pantalla de previewer.Insertar como un botón y dar doble click en el elemento y seleccionar Ain(7…0) y Aout(7..0) “Esto es un proceso para designar señales”.Insertamos un botón XpBitBt/Dar y damos doble click y en la ventana que aparece en propiedades/caption/write y damos click en eventos/click en U2, en la pantalla principal y ponemos visto en live.En Nanoboard damos click derecho/configure FPGA Proyect/Test_FPGA.prjfpg y en Test_FPGA.prjfpg damos clickderecho/add new proyect/constrat file.Click en TEST_FPGA/configuration mananger y seleccionamos todas las opciones y damos click en ok.Luego que este programado damos click derecho en el Nanoboard y escojemos la opción Run Aplication/Previewer.pas y luego damos click en ok.En la opcion previewer damos click en write 5 veces y luego seleccionamos ok.Click arriba del Nanoboard y escogemos la opcion FPGA_Proyect1. Click en program FPGA y por ultimo click en Nanoboard/Test memory read y pulsamos en el botón ok.

BIBLIOGRAFIA

[1] http://www.micropik.com/pag_ci_micros.htm[2] http://zone.ni.com/devzone/cda/tut/p/id/8259[3] http://www.info-ab.uclm.es/labelec/solar/grabacion/marco6.htm#polivalente[4] http://www.xeltek.com/[5] http://www.actel.com/documents/FlashPro3_QS.pdf[6]http://es.wikipedia.org/wiki/Microcontrolador_PIC#Caracter.C3.ADsticas

3