You are on page 1of 3

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

APLICACION REAL DE LOS FPGA.


Daniel Ricardo Tobar Estrella
e-mail: daniesto13@hotmail.com

FPGA vs. MICROCONTROLADOR Pic


RESUMEN: Este articulo es una investigación acerca
de la aplicación real de los FPGA y de los ejemplos
Estructura : arreglo bidimensional de bloques
actuales utilizando el programa Altium Design Summer
lógicos rodeados por conexiones configurables.
9. Una FPGA es un dispositivo semiconductor que
Una familia contiene idénticos bloques lógicos y
contiene bloques de lógica cuya interconexión y
conexiones , pero difieren en el tamaño del arreglo.
funcionalidad se puede programar. La lógica
Tecnología de programación : se programa por la
programable puede reproducir desde funciones tan
carga de celdas de memoria de configuración, que
sencillas como las llevadas a cabo por una puerta lógica
controlan la lógica e interconexiones.
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 Los Cinco Beneficios Principales de la
flujo de diseño), sus costes de desarrollo y adquisición Tecnología FPGA
son mucho menores para pequeñas cantidades de
dispositivos y el tiempo de desarrollo es también menor. 1. Rendimiento
2. Tiempo en llegar al mercado
3. Precio
Cuando utilizar un FPGA 4. Fiabilidad
5. Mantenimiento a largo plazo
Cualquier circuito de aplicación específica puede
ser implementado en un FPGA, siempre y cuando esta Los FPGAs, tomando ventaja del paralelismo del
disponga de los recursos necesarios. La adopción de hardware, exceden la potencia de cómputo de los
chips FPGA en las industrias ha sido impulsada por el procesadores digitales de señales (DSPs) rompiendo el
hecho de que los FPGAs combinan lo mejor de los paradigma de ejecución secuencial y logrando más en
ASICs y de los sistemas basados en procesadores. cada ciclo de reloj. BDTI, una destacada firma analista
Ofrecen velocidades temporizadas por hardware y que realiza evaluaciones de referencia, lanzó
fiabilidad, pero sin requerir altos volúmenes de recursos evaluaciones mostrando cómo los FPGAs pueden
para compensar el gran gasto que genera un diseño entregar significativamente más potencia de
personalizado de ASIC. El silicio reprogramable tiene la procesamiento por dólar que una solución de DSP, en
misma capacidad de ajustarse que un software que se algunas aplicaciones. El controlar entradas y salidas
ejecuta en un sistema basado en procesadores, pero no (E/S) a nivel de hardware ofrece tiempos de respuesta
está limitado por el número de núcleos de proceso más veloces y funcionalidad especializada que coincide
disponibles. con los requerimientos de una aplicación.
La tecnología FPGA ofrece flexibilidad y capacidades de
Ejemplos en Altium de un diseño y rápido desarrollo de prototipos, para enfrentar las
preocupaciones de tiempo incrementado en que un
grabación de un FPGA producto tarde en llegar al mercado. Usted puede probar
una idea o un concepto y verificarlo en hardware sin
Anexo1
tener que pasar por el largo proceso de fabricación por
el que pasa un diseño personalizado de ASIC.

Ejemplos de utilización Posteriormente podrá implementar cambios y


realizar iteraciones de un diseño FPGA en cuestión de
Las aplicaciones donde más comúnmente se horas en vez de semanas. También está disponible el
utilizan los FPGA incluyen a los DSP (procesamiento hardware comercial listo para ejecutarse (COTS), con
digital de señales), radio definido por software, sistemas diferentes tipos de E/S ya conectados a un chip FPGA
aeroespaciales y de defensa, prototipos de ASICs, programable por el usuario. El aumento en disponibilidad
sistemas de imágenes para medicina, sistemas de visión de herramientas de software de alto nivel disminuye la
para computadoras, reconocimiento de voz, curva de aprendizaje con niveles de abstracción. Estas
bioinformática, emulación de hardware de computadora, herramientas frecuentemente incluyen importantes
entre otras. Cabe notar que su uso en otras áreas es núcleos IP (funciones pre construidas) para control
cada vez mayor, sobre todo en aquellas aplicaciones avanzado y procesamiento de señales.
que requieren un alto grado de paralelismo. 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
ITCR. Marín. Preparación de reportes escritos informativos.
.

frecuentemente implican varios niveles de abstracción que sea lo más barato posible y a la vez lo más simple y
para auxiliar a programar las tareas y compartir los fiable.
recursos entre procesos múltiples. El nivel controlador
se encarga de los recursos de hardware y el sistema A diferencia de los procesadores, los FPGAs llevan
operativo administra la memoria y el ancho de banda del a cabo diferentes operaciones de manera paralela, por
procesador. lo que éstas no necesitan competir por los mismos
recursos. Cada tarea de procesos independientes se
El núcleo de un procesador sólo puede ejecutar una asigna a una sección dedicada del chip, y puede
instrucción a la vez, y los sistemas basados en ejecutarse de manera autónoma sin ser afectada por
procesadores están siempre en riesgo de que sus tareas otros bloques de lógica. Como resultado, el rendimiento
se obstruyan entre sí. Los FPGAs, que no necesitan de una parte de la aplicación no se ve afectado cuando
sistemas operativos, minimizan los retos de fiabilidad se agregan otros procesos.
con ejecución paralela y hardware preciso dedicado a
cada tarea. 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
Los chips FPGA, al ser reconfigurables, son EPROM además del propio circuito hace que el
capaces de mantenerse al tanto con modificaciones a interconexionado externo sea más complejo y de peor
futuro que pudieran ser necesarias. Mientras el producto calidad debido a los retrasos introducidos por las líneas,
o sistema se va desarrollando, usted puede soldaduras, etc., que puede ser un problema importante.
implementarle mejoras funcionales sin la necesidad de
invertir tiempo rediseñando el hardware o modificando el
diseño de la tarjeta.
1.1 MANUAL PARA GRABAR UNA FPGA
UTILIZANDO ALTIUM DESIGNER
SUMMER 9
Características del microcontrolador
Visualizamos en el disco C la opción Conected
Los PICs actuales vienen con una amplia gama de FPGA Scripts. Vamos a C/program files/Altium
mejoras hardware incorporadas: Designer Summer 09 –Beta, buscamos la opción
Examplesd, buscamos la opción Scripts, luego
• Núcleos de CPU de 8/16 bits con Arquitectura vamos a Delphiscripts script y por ultimo vamos a
Harvard modificada FPGA.
• Memoria Flash y ROM disponible desde 256 Click derecho y seleccionamos copy. Click derecho
bytes a 256 kilobytes y seleccionamos paste.
Abrir Altium Summer Designer 09
• Puertos de E/S (típicamente 0 a 5,5 voltios)
Hacemos click en File/New/New Proyect/FPGA
• Temporizadores de 8/16 bits Proyect.
• Tecnología Nanowatt para modos de control de Seleccionamos File/New/Schematic.
energía Seleccionamos File/Save all/Connected FPGA
• Periféricos serie síncronos y asíncronos: Scipts.
USART, AUSART, EUSART Seleccionamos En file name/Test_FPGA/Save.
• Conversores analógico/digital de 8-10-12 bits Seleccionamos Libraries/Nanoboard_intiFPGA
• Comparadores de tensión Instruments.Intlit Configurable Nanoboard interface.
Arrastramos el Nanoboard a la pantalla principal.
• Módulos de captura y comparación PWM Buscamos Libraries/Digital_IO FPGA Instruments
• Controladores LCD Intlit Configurable Digital_IO.
• Periférico MSSP para comunicaciones I²C, SPI, Arrastramos el Digital_IO a la pantalla principal.
y I²S Hacemos click derecho en el área principal/Bus
• Memoria EEPROM interna con duración de Puenteamos las dos patas del Digital_IO.
hasta un millón de ciclos de lectura/escritura Luego vamos al a Barra de
• Periféricos de control de motores herramientas/Tools/Anotate/Schematics/Quietly
En el cuadro de dialogo que aparece damos click
• Soporte de interfaz USB
en la opción Yes.
• Soporte de controlador Ethernet Hacemos click derecho en la opcion
• Soporte de controlador CAN Nanoboard/Properties/ en full path damos cllick en
• Soporte de controlador LIN el ícono de abrir carpetas/conected FPGA
• Soporte de controlador Irda Scripts/FPGA/SwapIdsupdate/SwapIds_Project1.prj
scr/OK
Hacemos click derecho en Test_FPGA/ y damos
La decisión del tipo de implementación hardware click derecho/RecompileFPGA Project
suele venir en la fase de compilación del circuito, se Test_FPGA.prjfpg
hacen pruebas para ver lo que ocupa en cada tipo de Hacer click en TestschDoc/PreviewerForm.pas
circuito y las prestaciones que nos da, con esto se trata

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

Y luego click en Form de la barra de herramientas


inferior
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#polivale
nte
[4] http://www.xeltek.com/
[5] http://www.actel.com/documents/FlashPro3_QS.pdf
[6]http://es.wikipedia.org/wiki/Microcontrolador_PIC#Car
acter.C3.ADsticas