Sei sulla pagina 1di 15

FPGAS

CONTENIDO pg. 1. INTRODUCCIN 2. DEFINICIN 3. HISTORIA 4. ELEMENTOS Error! Bookmark not defined. 5. PROGRAMACIN 6. VENTAJAS 7. FABRICANTES 8. APLICACIONES 9. CONCLUSIONES BIBLIOGRAFA 10 11 13 14 16 18 4 5 6

1.

INTRODUCCIN

Los circuitos integrados son omnipresentes en gran cantidad de productos industriales.Una de sus alternativas, los circuitos tipo FPGA, presentan una caracterstica nica: estn al alcance de pases con un desarrollo tecnolgico medio. Las FPGAs (Field programmable Gate Arrays) aparecen en el Mercado en 1984, con una idea central: permitir realizar un circuito integrado a medida, sin los riesgos econmicos asociados a las otras opciones tecnolgicas. Hoy las FPGAs estn presentes en campos tan diversos como la automocin, la electrnica de consumo, o la investigacin espacial. La tecnologa FPGA tiene una aplicacin horizontal en todas las industrias que requieren computacin a alta velocidad.

2.

DEFINICIN

Un FPGA (Field Programmable Gate Array o Arreglo de Compuertas Programables) es un dispositivo semiconductor que contiene bloques de lgica cuya interconexin y funcionalidad puede ser configurada mediante un lenguaje de programacin especializado. La lgica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lgica o un sistema combinacional hasta complejos sistemas en un chip [1]. En el nivel ms alto, los FPGAs son chips de silicio reprogramables. Al utilizar bloques de lgica pre-construidos y recursos para ruteo programables, se logra configurar estos chips para implementar funcionalidades personalizadas en hardware sin tener que utilizar una tablilla de prototipos o un cautn. Slo deber desarrollar tareas de cmputo digital en software y compilarlas en un archivo de configuracin o bitstream1 que contenga informacin de cmo deben conectarse los componentes. Se puede decir que estos componentes y la tecnologa que alrededor de ellos se ha desarrollado, han revolucionado las tcnicas de diseo de hardware, imprimiendo una velocidad y fiabilidad mayores a los diseos de sistemas electrnicos digitales. De hecho, hoy en da, un gran nmero de los sistemas electrnicos profesionales cuentan con FPGA como componentes fundamentales .

Serie de bytes, por lo general de 8 bits cada uno, y puede considerarse como un caso especial de un flujo de bits.

3.

HISTORIA

Las FPGA (Field Programmable Gate Arrays), en principio llamadas LCA (Logic Cell Array) nacen en 1985 con una idea sencilla: un Gate Array tolerante a errores de diseo y programable o reprogramable por el usuario. Fueron inventadas en el ao 1984 por Ross Freeman y Bernard Vonderschmitt, co-fundadores de Xilinx2. Histricamente las FPGA surgen como una evolucin de los conceptos desarrollados en las PAL (Programmable Array Logic) y los CPLD (Complex Programmable Logic Device). Las FPGA son el resultado de la convergencia de dos tecnologas diferentes, los dispositivos lgicos programables (PLDs [Programmable Logic Devices]) y los circuitos integrados de aplicacin especfica (ASIC [application-specific integrated circuit]). La historia de los PLDs comenz con los primeros dispositivos PROM (Programmable Read-Only Memory) y se les aadi versatilidad con los PAL que permitieron un mayor nmero de entradas y la inclusin de registros. Esos dispositivos han continuado creciendo en tamao y potencia. Mientras, los ASIC siempre han sido potentes dispositivos, pero su uso ha requerido tradicionalmente una considerable inversin tanto de tiempo como de dinero. Intentos de reducir esta carga han provenido de la modularizacin de los elementos de los circuitos, como los ASIC basados en celdas, y de la estandarizacin de las mscaras, tal como Ferranti fue pionero con la ULA (Uncommitted Logic Array). El paso final era combinar las dos estrategias con un mecanismo de interconexin que pudiese programarse utilizando fusibles, antifusibles o celdas RAM, como los innovadores dispositivos Xilinx de mediados de los 80. Los circuitos resultantes son similares en capacidad y aplicaciones a los PLDs ms grandes, aunque hay diferencias puntuales que delatan antepasados diferentes. Adems de en computacin reconfigurable, las FPGAs se utilizan en controladores, codificadores/decodificadores y en el prototipado de circuitos VLSI y microprocesadores a medida.

[10] http://www.xilinx.com/

4. ELEMENTOS

Cada chip FPGA est compuesto de un nmero finito de recursos predefinidos con interconexiones programables para implementar un circuito digital reconfigurable. En el nivel ms bajo, los bloques de lgica configurables, como los segmentos o clulas lgicas, ofrecen dos componentes bsicos: flip-flops y tablas de consulta (LUTs). Es importante tomar esto en cuenta porque distintas familias de FPGAs se diferencian en la manera en que los flip-flops y las LUTs estn empacados [6]. Los flip-flops son registros binarios de desplazamiento utilizados para sincronizar la lgica y ahorrar estados lgicos entre ciclos de reloj. En cada transicin de reloj el flip-flop recibe el valor 1 0 (VERDADERO o FALSO) en su entrada, y conserva esa constante de valor hasta la siguiente transicin de reloj.

Figura 1. Estructura flip-flop

Las tablas de consulta (LUTs) significa Look Up Table y es conveniente pensar en esto como una ecuacin matemtica: R= S + L, donde R es el resultado de lo que deseas obtener, S es el archivo de origen y L es tu LUT o la diferencia necesaria entre tu archivo de origen y tu resultado deseado. En cualquier caso, el LUT es la forma de lograr la diferencia entre el archivo de origen y el resultado. Nunca es el resultado por s mismo. Una jerarqua de interconexiones programables permite a los bloques lgicos de un FPGA ser interconectados segn la necesidad del diseador del sistema, algo

parecido a un breadboard (es una placa de uso genrico reutilizable o semipermanente) programable. Estos bloques lgicos e interconexiones pueden ser programados despus del proceso de manufactura por el usuario/diseador, as que el FPGA puede desempear cualquier funcin lgica necesaria. La arquitectura de un FPGA consiste en cinco elementos programables fundamentales [5]: CLB (Bloques Lgicos Configurables) IOB (Bloques de entrada-salida) BRAM (memoria RAM de bloque) Multiplicadores DCM (Manejador de reloj digital)

Figura 2. Estructura FPGA

Los CLBs se pueden programar de diversas maneras logrando as una amplia gama de funciones lgica. Cada CLB est compuesto por cuatro slices y estos a su vez contienen las llamadas LUTs, las cuales son elementos basados en memoria. Las LUTs pueden tomar la forma de un bloque lgico e implementar multiplexores, o bien utilizarse como elementos de memoria (RAM distribuida) donde cada una tiene una capacidad de hasta 16 bits. Tambin puede utilizarse como un registro de desplazamiento logrando retrasos de 16 ciclos de reloj. Los IOBs se encargan del flujo de datos desde y hacia el FPGA a travs de los pines del chip. Soportan flujos de datos bidireccionales, operaciones tri-estados, y

un total de 24 estndares de seales incluyendo siete estndares diferenciales de alto desempeo. Poseen adems control digital de impedancias. La RAM de bloque consiste en varios bloques (internos del FPGA) de 18 Kbits. Cada uno se comporta como un chip de memoria de doble puerto. Cada puerto tiene sus propias seales de control para las operaciones de lectura y escritura. Los Multiplicadores son bloques dedicados que efectan esta operacin entre dos nmeros de 18 bits cada uno. A la salida se obtiene un nmero de 36 bits. Se puede asociar un bloque multiplicador con un bloque de RAM, de manera que se obtiene un multiplicador sincrnico con las salidas registradas. La cercana fsica de los bloques multiplicadores y los bloques de RAM posibilita esta caracterstica. Haciendo multiplicadores en cascada es posible lograr la multiplicacin de ms de dos nmeros e incluso de nmeros de ms de 18 bits.

Fig. 4 (a) Multiplicador de 18 bits asincrnico. (b) Multiplicador de 18 bits con salidas registradas

Como ltimo elemento entre los fundamentales del FPGA estn los DCM. Por lo general, los miembros de la familia Spartan 3 de Xilinx, poseen cuatro DCMs. Estos elementos estn destinados a proveer una seal de reloj de elevada exactitud. Eliminan los cambios de fase en la seal de reloj, as como las desviaciones de esta seal producto de perturbaciones externas, de altas temperaturas u otros efectos. Para esto implementan un DLL (en ingls, DelayLocked Loop). El DLL rastrea las desviaciones de la seal de reloj y a travs de una realimentacin logra eliminar el error en la seal original. El DCM es capaz de proveer al sistema de un conjunto de seales desfasadas con respecto a la seal de reloj original.

5. PROGRAMACIN

Anteriormente slo los ingenieros con un profundo entendimiento de diseo de hardware digital podan trabajar con la tecnologa FPGA. Sin embargo, el aumento de herramientas de diseo de alto nivel est cambiando las reglas de programacin de FPGAs, con nuevas tecnologas que convierten los diagramas a bloques grficos, o hasta el cdigo ANSI C a circuitos de hardware digital [7]. El diseador cuenta con la ayuda de entornos de desarrollo especializados en el diseo de sistemas a implementarse en un FPGA. Un diseo puede ser capturado ya sea como esquemtico, o haciendo uso de un lenguaje de programacin especial. Estos lenguajes de programacin especiales son conocidos como HDL o Hardware Description Language (lenguajes de descripcin de hardware). Los HDLs ms utilizados son: VHDL (Very High Speed Integrated Circuit) Verilog3 ABEL (Advanced Boolean Expression Language) En un intento de reducir la complejidad y el tiempo de desarrollo en fases de prototipaje rpido, y para validar un diseo en HDL, existen varias propuestas y niveles de abstraccin del diseo. Entre otras, National Instruments LabVIEW FPGA [2] propone un acercamiento de programacin grfica de alto nivel.

www.verilog.com, usado para modelar sistemas electrnicos.

6. VENTAJAS

Los cinco beneficios principales de la tecnologa FPGA [9]. 1. 2. 3. 4. 5. Rendimiento Tiempo en llegar al Mercado Precio Fiabilidad Mantenimiento a largo plazo

1. Rendimiento Aprovechando del paralelismo del hardware, los FPGAs exceden la potencia de cmputo de los procesadores digitales de seales (DSPs) rompiendo el paradigma de ejecucin secuencial y logrando ms en cada ciclo de reloj. BDTI, una destacada firma analista que realiza evaluaciones de referencia, lanz evaluaciones mostrando cmo los FPGAs pueden entregar significativamente ms potencia de procesamiento por dlar que una solucin de DSP, en algunas aplicaciones. El controlar entradas y salidas (E/S) a nivel de hardware ofrece tiempos de respuesta ms veloces y funcionalidad especializada que coincide con los requerimientos de una aplicacin.

2. Tiempo en llegar al mercado La tecnologa FPGA ofrece flexibilidad y capacidades de rpido desarrollo de prototipos para enfrentar los retos de que un producto se libere tarde al mercado. Usted puede probar una idea o un concepto y verificarlo en hardware sin tener que pasar por el largo proceso de fabricacin por el que pasa un diseo personalizado de ASIC. Posteriormente podr implementar cambios y realizar iteraciones de un diseo FPGA en cuestin de horas en vez de semanas. Tambin existe hardware comercial listo para usarse (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 abstraccin. Estas herramientas frecuentemente incluyen importantes ncleos IP (funciones pre-construidas) para control avanzado y procesamiento de seales.

3. Precio El precio de la ingeniera no recurrente de un diseo personalizado ASIC excede considerablemente al de las soluciones de hardware basadas en FPGA. La fuerte inversin inicial de los ASICs es fcilmente justificable para los fabricantes de equipos originales que embarcan miles de chips por ao, pero muchos usuarios finales necesitan la funcionalidad de un hardware personalizado para decenas o cientos de sistemas en desarrollo. La misma naturaleza programable del silicio implica que no hay precio de fabricacin o largo plazos de ejecucin de ensamblado. Los requerimientos de un sistema van cambiando con el tiempo, y el precio de cambiar incrementalmente los diseos FPGA es insignificante al compararlo con el precio de implementar cambios en un ASIC antes de su lanzamiento.

4. Fiabilidad Mientras que las herramientas de software ofrecen un entorno de programacin, los circuitos de un FPGA son una implementacin segura de la ejecucin de un programa. Los sistemas basados en procesadores frecuentemente implican varios niveles de abstraccin para auxiliar a programar las tareas y compartir los recursos entre procesos mltiples. El software a nivel driver se encarga de administrar los recursos de hardware y el sistema operativo administra la memoria y el ancho de banda del procesador. El ncleo de un procesador slo puede ejecutar una instruccin a la vez, y los sistemas basados en procesadores estn siempre en riesgo de que sus tareas se obstruyan entre s. Los FPGAs, que no necesitan sistemas operativos, minimizan los retos de fiabilidad con ejecucin paralela y hardware preciso dedicado a cada tarea.

5. Mantenimiento a largo plazo Como se mencion anteriormente, los chips FPGA son actualizables en campo y no requieren el tiempo y el precio que implica redisear un ASIC. Los protocolos de comunicacin digital por ejemplo, tienen especificaciones que podran cambiar con el tiempo, y las interfaces basadas en ASICs podran causar retos de mantenimiento y habilidad de actualizacin. 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 rediseando el hardware o modificando el diseo de la tarjeta.

10

7. FABRICANTES

A principios de 2007, el mercado de los FPGA se ha colocado en un estado donde hay dos productores de FPGA de propsito general que estn a la cabeza del mismo, y un conjunto de otros competidores quienes se diferencian por ofrecer dispositivos de capacidades nicas.

Xilinx es uno de los dos grandes lderes en la fabricacin de FPGA. Altera es el otro gran lder. Lattice Semiconductor lanz al mercado dispositivos FPGA con tecnologa de 90nm. En adicin, Lattice es un proveedor lder en tecnologa no voltil, FPGA basadas en tecnologa Flash, con productos de 90nm y 130nm. Actel tiene FPGAs basados en tecnologa Flash reprogramable. Tambin ofrece FPGAs que incluyen mezcladores de seales basados en Flash. QuickLogic tiene productos basados en antifusibles (programables una sola vez). Atmel es uno de los fabricantes cuyos productos son reconfigurables (el Xilinx XC62xx fue uno de estos, pero no estn siendo fabricados actualmente). Ellos se enfocaron en proveer microcontroladores AVR con FPGAs, todo en el mismo encapsulado. Achronix Semiconductor tienen en desarrollo FPGAs muy veloces. Planean sacar al mercado a comienzos de 2007 FPGAs con velocidades cercanas a los 2GHz. MathStar, Inc. ofrecen FPGA que ellos llaman FPOA (Arreglo de objetos de matriz programable).

11

8. APLICACIONES

Cualquier circuito de aplicacin especfica puede ser implementado en un FPGA, siempre y cuando esta disponga de los recursos necesarios. Las aplicaciones donde ms comnmente se utilizan los FPGA incluyen a los DSP (procesamiento digital de seales), radio definido por software, sistemas aeroespaciales y de defensa, prototipos de ASICs, sistemas de imgenes para medicina, sistemas de visin para computadoras, reconocimiento de voz, bioinformtica, emulacin 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. Tambin tienen cabida en empresas que realizan las actividades indicadas en el listado siguiente [10]:

Alarmas. Arcos de seguridad de bancos. Climatizacin de autobuses. Comunicaciones por fibra ptica. Conduccin Automtica de Trenes. Control industrial. Control de instalaciones elctricas. Electrnica de potencia. Electrnica espacial. Electrnica submarina. Electrnica aplicada a hoteles. Enclavadores Elctricos. Ensayo de materiales. Equipos de medicina y radiologa.

12

Herramientas EDA4. Equipos de medidas de potencia. Equipos de medidas en audio. Equipos de transmisin de TV. Equipos ferroviarios. Equipos para parking pblicos. Estaciones terrenas. Fabricacin de azulejos y cermicos. Identificacin dactilar. Ingeniera Nuclear. Internet. Tarjeta inteligente. Telemandos y Automatismos para Puertas. Maquinaria de empaquetamiento de frutas. Maquinaria para panaderas. Navegacin GPS. Regulacin de Trfico. Seguridad Electrnica.

Electronic Design Automation. Son las herramientas de hardware y software utilizadas en el diseo de sistemas electrnicos.

13

9. CONCLUSIONES

Desde que Xilinx los invent en 1984, los FPGAs han pasado de ser sencillos chips de lgica de acoplamiento a reemplazar a los circuitos integrados de aplicacin especfica (ASICs) y procesadores para procesamiento de seales y aplicaciones de control.

La adopcin de chips FPGA en la industria 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 volmenes de recursos para compensar el gran gasto que genera un diseo personalizado de ASIC.

Tradicionalmente, los ingenieros de hardware han usado la tecnologa de arreglo de compuerta programable en campo (FPGA) con herramientas de programacin hechas para expertos. Sin embargo, como los FPGAs se han vuelto ms rpidos y ms rentables, los ingenieros e investigadores con poca o ninguna experiencia en diseo de hardware digital estn buscando aprovechar los FPGAs para crear soluciones personalizadas. Para abarcar este creciente inters, los proveedores estn creando herramientas de ms alto nivel que hacen ms fcil programar FPGAs y brindar los beneficios de la tecnologa FPGA a nuevas aplicaciones.

Con el desarrollo de esta tecnologa, el diseo de hardware ha transitado vertiginosamente de la pura interconexin de circuitos integrados y componentes electrnicos a la programacin software. No es extrao ver una placa de un equipo, incluso de alta tecnologa, con solo algunos componentes discretos de montaje superficial, un oscilador y un FPGA. Las potencialidades de estos dispositivos hacen que se puedan agrupar en ellos un nmero nada despreciable de funciones y componentes complejas que antes constituan cada una un circuito integrado. Lo que se conoce como System on Programmable Chip (SoPC) implica lo descrito anteriormente, todo un sistema encapsulado enteramente en un FPGA.

14

BIBLIOGRAFIA

[1] E. Boemo Scalvinoni, Estado del arte de la tecnologa FPGA, Cuaderno Tecnolgico No1 - Microelectrnica, Instituto Nacional de Tecnologa Industrial, Unin Europea, 2005. [2] FPGAs accelerate time to market for industrial designs, M. Thompson, EETimes, 2004. http://www.us.design-reuse.com/articles/8190/fpgas-accelerate-time-tomarket-for-industrial-designs.html [3] G. Sutter. "Bajo Consumo en FPGAs". Escuela Politcnica Superior, Universidad Autnoma de Madrid, 2005. [4] M. L Lpez Vallejo, J. L. Ayala Rodrigo. "FPGA: Nociones bsicas e implementacin". Dpto. de Ingeniera, Universidad de Madrid, 2004. [5] Microcontroladores PIC. Detalles de la estructura de un FPGA, [en lnea]. http://www.microcontroladorespic.com/tutoriales/FPGAs/estructuraconfiguracion.html [6] National Instruments, NI Developer Zone - FPGAs a Fondo [en lnea]. http://zone.ni.com/devzone/cda/tut/p/id/8261 [7] R. D Cardenas Espinosa. "Curso FPGA (Programacin de Arreglos de Compuertas)". UAM-Colombia, 2009. [8] Stephen D. Brown, Robert J. Francis, Jonathan Rose, and Zvonko G. Vranesic. Field-Programmable Gate Arrays. Kluwer Academic Publishers, Norwell, Massachusetts, 1992. [9] The Field-Programmable Gate Array (FPGA): Expanding Its Boundaries, InStat Market Research, April 2006 [Citado 02 feb 2011]. http://zone.ni.com/devzone/cda/tut/p/id/8259 [10] Xilinx Corporation. Notas de aplicacin: DS003(v1.9), Xapp138 (v2.3), Xapp151(v1.5. Xapp153(v1.0) http://www.xilinx.com
15

Potrebbero piacerti anche