Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
2 Historia
3 Caractersticas
4 Programacin
5 Aplicaciones
7 Fabricantes
8 Vase tambin
9 Referencias
10 Enlaces externos
o
10.1 Recursos
10.2 Utilidades
10.3 Multimedia
Las FPGAs fueron inventadas en el ao 1984 por Ross Freeman y Bernard Vonderschmitt,
co-fundadores de Xilinx, y surgen como una evolucin de los CPLDs.
Tanto los CPLDs como las FPGAs contienen un gran nmero de elementos lgicos
programables. Si medimos la densidad de los elementos lgicos programables en puertas
lgicas equivalentes (nmero de puertas NAND equivalentes que podramos programar en
un dispositivo) podramos decir que en un CPLD hallaramos del orden de decenas de
miles de puertas lgicas equivalentes y en una FPGA del orden de cientos de miles hasta
millones de ellas.
Aparte de las diferencias en densidad entre ambos tipos de dispositivos, la diferencia
fundamental entre las FPGAs y los CPLDs es su arquitectura. La arquitectura de los
CPLDs es ms rgida y consiste en una o ms sumas de productos programables cuyos
resultados van a parar a un nmero reducido de biestables sncronos (tambin
denominados flip-flops). La arquitectura de las FPGAs, por otro lado, se basa en un gran
nmero de pequeos bloques utilizados para reproducir sencillas operaciones lgicas, que
Historia[editar]
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 ReadOnly Memory) y se les aadi versatilidad con los PAL (Programmable Array Logic) 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 y celdas ROM, 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.
El primer fabricante de estos dispositivos fue Xilinx [2] y los dispositivos de Xilinx se
mantienen como uno de los ms populares en compaas y grupos de investigacin. Otros
vendedores en este mercado son Atmel, Altera, AMD y Motorola.
Caractersticas[editar]
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 semi permanente)
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.
Una tendencia reciente ha sido combinar los bloques lgicos e interconexiones de los
FPGA con microprocesadores y perifricos relacionados para formar un Sistema
programable en un chip. Ejemplo de tales tecnologas hbridas pueden ser encontradas
en los dispositivos Virtex-II PRO y Virtex-4 de Xilinx, los cuales incluyen uno o ms
procesadores PowerPC embebidos junto con la lgica del FPGA. El FPSLIC de Atmel es
otro dispositivo similar, el cual usa un procesador AVR en combinacin con la arquitectura
lgica programable de Atmel. Otra alternativa es hacer uso de ncleos de procesadores
implementados haciendo uso de la lgica del FPGA. Esos ncleos incluyen los
procesadores MicroBlaze y PicoBlaze de Xlinx, Nios y Nios II de Altera, y los procesadores
de cdigo abierto LatticeMicro32 y LatticeMicro8.
Muchos FPGA modernos soportan la reconfiguracin parcial del sistema, permitiendo que
una parte del diseo sea reprogramada, mientras las dems partes siguen funcionando.
Este es el principio de la idea de la computacin reconfigurable, o los sistemas
reconfigurables.
Programacin[editar]
VHDL
Verilog
ABEL
Aplicaciones[editar]
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.
Existe cdigo fuente disponible (bajo licencia GNU GPL)1 de sistemas
como microprocesadores, microcontroladores, filtros, mdulos de comunicaciones
y memorias, entre otros. Estos cdigos se llaman cores.
Fabricantes[editar]
Desde principios de 2007, hay dos grandes productores de FPGA de propsito general,
adems de un conjunto de otros competidores quienes se diferencian por ofrecer
dispositivos con caractersticas nicas.
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.
Vase tambin[editar]
Gate array
LabVIEW
ASIC
VLSI
Circuito integrado
Hardware
GSD