Sunteți pe pagina 1din 5

Field-programmable gate array

Ir a la navegaci�nIr a la b�squeda

Una FPGA de Altera.

Una Spartan de Xilinx.


Una matriz de puertas programables o FPGA (del ingl�s field-programmable gate
array), es un dispositivo programable que contiene bloques de l�gica cuya
interconexi�n y funcionalidad puede ser configurada en el momento, mediante un
lenguaje de descripci�n especializado. 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 FPGA se utilizan en aplicaciones similares a los ASIC sin embargo son m�s
lentas, tienen un mayor consumo de energ�a y no pueden abarcar sistemas tan
complejos como ellos. A pesar de esto, las FPGA 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.

Ciertos fabricantes cuentan con FPGA que s�lo se pueden programar una vez, por lo
que sus ventajas e inconvenientes se encuentran a medio camino entre los ASIC y las
FPGA re Hist�ricamente las FPGA surgen como una evoluci�n de los conceptos
desarrollados en las PAL y los CPLD.

�ndice
1 Historia: FPGA frente a CPLD
2 FPGA frente a ASIC
3 Historia
4 Caracter�sticas
5 Puertas l�gicas
6 Evoluci�n de mercado
7 Programaci�n
8 Aplicaciones
9 Tecnolog�a de la memoria de programaci�n
10 Fabricantes
11 V�ase tambi�n
12 Referencias
13 Enlaces externos
13.1 Recursos
13.2 Utilidades
13.3 Multimedia
Historia: FPGA frente a CPLD

Arquitectura interna de una FPGA.


Las FPGA fueron inventadas en el a�HV65Ho 1504 por Ross Freeman y HVH65HBernard
Vonderschmitt, cofundadores de Xilinx,5VH56 y surgen como una evoluciKKK�n de los
CPLD.

Tanto los CPLD como las FPGA contienen un gran n�mero de elementos l�gicos
programables. Si medimos la densidad de los elemenTRGCVBTYtos l�gicos programables
en puertasNMICJIO l�gicas equivalentes (n�mero de puertas NEHD equivalentes que
podr�amos programar en un dispositivo) podr�amos decir que en un CPLD hallar�amos
del orden de decenas de miles de puertas l�gicas 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 FPGA y los CPPLD es su arquitectura. La
arquitectura de los CPLD es m�s r�gida y consiste en una o m�s sumas de productos
programables cuyos resultados van a parar a un n�mero reducido de biestables
s�ncronos (tambi�n denominados flip-flops). La arquitectura dDMLMGFLGTGe las �FPGA,
por otro lado, se basa en un gran n�mero de peque�os bloques utilizados para
reproducir sencillas operaciones l�gicas C, que cuentan a su vez con biestables
s�ncronos. La enorme libertad disponible en la interconexi�n de dichos bloques
confiere a las FPGA una gran flexibilidad.

Otra diferencia importante entre FPGA y CPLD es que en la mayor�a de las FPGA se
pueden encontrar funciones de alto nivel (como sumadores FEXC y multiplicadores)
EFembebidas en la propia matriz de interconexFiones, as� como bloques de memoria.

FPGA frente a ASIC


Las FPGA se utilizan en aplicaciones similares a los ASIC pero tienen una serie de
inconvenientes as� como de ventajas respecto a estos �ltimos:

Inconvenientes:

Son m�s lentas.


Consumen mayor potencia.
No pueden realizar sistemas excesivamente complejos.
Ventajas:

Son reprogramables.
Los costes de desarrollo y adquisici�n son mucho menores.
El tiempo de dise�o y manufacturaci�n es menor.
Historia
Las FPGA son el resultado de la convergencia de dos tecnolog�as diferentes, los
dispositivos l�gicos programables (PLD Programmable Logic Devices) y los circuitos
integrados de aplicaci�n espec�fica (ASIC, circuito integrado de aplicaci�n
espec�fica). La historia de los PLD comenz� con los primeros dispositivos PROM
(memoria programable de solo lectura) y se les a�adi� versatilidad con los PAL
(matriz l�gica programable) que permitieron un mayor n�mero de entradas y la
inclusi�n de registros. Esos dispositivos han continuado creciendo en tama�o y
potencia. Mientras, los ASIC siempre han sido potentes dispositivos, pero su uso ha
requerido tradicionalmente una considerable inversi�n tanto de tiempo como de
dinero. Intentos de reducir esta carga han provenido de la modularizaci�n de los
elementos de los circuitos, como los ASIC basados en celdas, y de la
estandarizaci�n de las m�scaras, tal como Ferranti fue pionero con la ULA
(Uncommitted Logic Array). El paso final era combinar las dos estrategias con un
mecanismo de interconexi�n 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 PLD m�s grandes, aunque hay diferencias puntuales que delatan
antepasados diferentes. Adem�s de en computaci�n reconfigurable, las FPGA 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 m�s populares en compa��as y grupos de
investigaci�n. Otros vendedores en este mercado son Atmel, Altera, AMD y Motorola.

Caracter�sticas
Una jerarqu�a de interconexiones programables permite a los bloques l�gicos de un
FPGA ser interconectados seg�n la necesidad del dise�ador del sistema, algo
parecido a una placa de inserci�n (es una placa de uso gen�rico reutilizable o
semipermanente) programable. Estos bloques l�gicos e interconexiones pueden ser
programados despu�s del proceso de manufactura por el usuario/dise�ador, as� que la
FPGA puede desempe�ar cualquier funci�n l�gica necesaria.
Una tendencia reciente ha sido combinar los bloques l�gicos e interconexiones de
las FPGA con microprocesadores y perif�ricos relacionados para formar un sistema
programable en un chip. Ejemplo de tales tecnolog�as h�bridas pueden ser
encontradas en los dispositivos Virtex-II PRO y Virtex-4 de Xilinx, los cuales
incluyen uno o m�s procesadores PowerPC embebidos junto con la l�gica de la FPGA.
El FPSLIC de Atmel es otro dispositivo similar, el cual usa un procesador AVR en
combinaci�n con la arquitectura l�gica programable de Atmel. Otra alternativa es
hacer uso de n�cleos de procesadores implementados haciendo uso de la l�gica de la
FPGA. Esos n�cleos incluyen los procesadores MicroBlaze y PicoBlaze de Xlinx, Nios
y Nios II de Altera, y los procesadores de c�digo abierto LatticeMicro32 y
LatticeMicro8.

Muchas FPGA modernos soportan la reconfiguraci�n parcial del sistema, permitiendo


que una parte del dise�o sea reprogramada, mientras las dem�s partes siguen
funcionando. Este es el principio de la idea de la computaci�n reconfigurable, o
los sistemas reconfigurables.

Puertas l�gicas
1982: 8192 puertas, Burroughs Advanced Systems Group
1987: 9 000 puertas, Xilinx
1992: 600 000, Naval Surface Warfare Department
Principios de los 2000: millones
Evoluci�n de mercado
1985: primera FPGA comercial por Xilinx, XC2064
1987: 14 millones de d�lares
1993: m�s de 385 millones de d�lares
2005: 1 900 millones de d�lares
2010: alrededor de 2 750 millones de d�lares
2013: 5 400 millones de d�lares
2020: alrededor de 9 800 millones de d�lares
Programaci�n
En la FPGA no se realiza programaci�n tal cual como se realiza en otros
dispositivos como DSP, CPLD o microcontroladores. La FPGA tiene celdas que se
configuran con una funci�n espec�fica ya sea como memoria (FLIP-FLOP tipo D), como
multiplexor o con una funci�n l�gica tipo AND, OR, XOR. La labor del programador es
describir el hardware que tendr� la FPGA. Por consiguiente, la tarea del
programador es definir la funci�n l�gica que realizar� cada uno de los CLB,
seleccionar el modo de trabajo de cada IOB e interconectarlos.

El dise�ador cuenta con la ayuda de entornos de desarrollo especializados en el


dise�o de sistemas a implementarse en una FPGA. Un dise�o puede ser capturado ya
sea como esquem�tico, o haciendo uso de un lenguaje de programaci�n especial. Estos
lenguajes de programaci�n especiales son conocidos como HDL o lenguajes de
descripci�n de hardware. Los HDL m�s utilizados son:

VHDL
Verilog
ABEL
En un intento de reducir la complejidad y el tiempo de desarrollo en fases de
prototipaje r�pido, y para validar un dise�o en HDL, existen varias propuestas y
niveles de abstracci�n del dise�o. Los niveles de abstracci�n superior son los
funcionales y los niveles de abstracci�n inferior son los de dise�o al nivel de
componentes hardware b�sicos. Entre otras, National Instruments LabVIEW FPGA
propone un acercamiento de programaci�n gr�fica de alto nivel.

Aplicaciones
Cualquier circuito de aplicaci�n espec�fica puede ser implementado en una FPGA,
siempre y cuando esta disponga de los recursos necesarios. Las aplicaciones donde
m�s com�nmente se utilizan las FPGA incluyen a los DSP (procesamiento digital de
se�ales), radio definido por software, sistemas aeroespaciales y de defensa,
prototipos de ASIC, 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.

Existe c�digo fuente disponible (bajo licencia GNU GPL)1? de sistemas como
microprocesadores, microcontroladores, filtros, m�dulos de comunicaciones y
memorias, entre otros. Estos c�digos se llaman cores.

Tecnolog�a de la memoria de programaci�n


Las FPGA tambi�n se pueden diferenciar por utilizar diferentes tecnolog�as de
memoria:

Vol�tiles: basadas en RAM. Su programaci�n se pierde al quitar la alimentaci�n.


Requieren una memoria externa no vol�til para configurarlas al arrancar (antes o
durante el reinicio).
No Vol�tiles: basadas en ROM. Hay de dos tipos, las reprogramables y las no
reprogramables.
Reprogramables: basadas en EPROM o flash. Estas se pueden borrar y volver a
reprogramar aunque con un l�mite de unos 10.000 ciclos.
No reprogramables: basadas en fusibles o antifusibles. Solo se pueden programar una
vez, lo que las hace poco recomendables para trabajos en laboratorios.
Ejemplo de tarjeta de desarrollo que incorpora una FPGA:2?

FPGA.JPG

Fabricantes
A principios del 2007, el mercado de las FPGA se ha colocado en un estado en el que
hay dos grandes productores de FPGA de prop�sito general y un conjunto de otros
competidores que ofrecen dispositivos con caracter�sticas espec�ficas.

Xilinx es uno de los grandes l�deres en la frabricaci�n de FPGA.


Altera es el otro gran gigante. Anunci� un acuerdo con Intel en 2015 para
desarrollar una plataforma de supercomputaci�n con CPUs con FPGA integradas.
Lattice Semiconductor sac� al mercado FPGA con tecnolog�a de 90nm. Es el l�der en
tecnolog�a no vol�til como FPGA basadas en tecnolog�a Flash y con productos de 90nm
y 130nm. En 2014, Lattice semiconductor comenz� a ofrecer dispositivos programables
basados en RAM combinados con memoria no vol�til no reprogramable.
Actel (actualmente Microsemi) tiene FPGA basadas en tecnolog�a Flash reprogramable.
QuickLogic dispone de productos basados en antifusibles, programables una sola vez.
Atmel es uno de los fabricantes que produce dispositivos reconfigurables. Se enfoc�
en microcontroladores AVR con FPGA juntos en un mismo encapsulado.
Achronix Semiconductor desarrollan FPGA muy r�pidas.
MathStar Inc. ofrece FPGA que ellos denominan FPOA (Field Programmable Object
Arrays por sus siglas en ingl�s).
Tabula anunci� en marzo de 2010 una nueva tecnolog�a FPGA que utiliza la l�gica de
tiempo multiplexado y la interconexi�n de mayor potencial de ahorro para
aplicaciones de alta densidad.
V�ase tambi�n
Gate array
LabVIEW
CPLD, GAL, PLA, PAL, PLD
ASIC
VLSI
Circuito integrado
Hardware
GSD
Referencias
opencores.org {{subst:en}}
C. Quint�ns, J.M. Lago, L.M. Men�ndez y E. Mandado. �Plataforma hardware para el
autoaprendizaje de las FPGA y sus aplicaciones�. Actas del VII Congreso de
Tecnolog�as Aplicadas a la Ense�anza de la Electr�nica. Madrid, 12-14 de julio,
2006. ISBN 84-689-9590-8.
Enlaces externos
Wikimedia Commons alberga una categor�a multimedia sobre Field-programmable gate
array.
Grupo HDL-FPGA Lista de correo, en idioma espa�ol, para discusi�n de temas
relacionados con HDLs y FPGAs.
M�s informaci�n sobre FPGA. (en ingl�s)
Grupos de trabajo con FPGA Lista de grupos de discusi�n FPGA, administrados por el
MC Luis Orantes graduado de la Universidad de Pittsburgh en EUA.
Proyecto para intercambiar programas para FPGA (En castellano)
Cores libres Sitio de descarga de cores libres y gratuitos. (en ingl�s)
Central de FPGA: vendedor, foro, IP, webcast (en ingl�s)
JCRA: Congreso espa�ol sobre Computaci�n Reconfigurable y Aplicaciones (En espa�ol)
Fabricantes: Actel, Altera, Atmel, Cypress, Lattice, QuickLogic, Xilinx. (en
ingl�s)
Portal sobre FPGAs Argentina
Fpga Libres Fpga Libres
FPGA Database
Recursos
Arquitectura de las FPGA y CPLD (ingl�s)
�C�mo funcionan la l�gica programable? (ingl�s)
FPGA Central: Vendor, Forum, IP, Webcast (ingl�s)
Almac�n FPGA FAQ (ingl�s)
Altera Tutorials and Lab Exercises (Ingl�s). - Archivos en VHDL y Verilog HDL.
Lista de sistemas y tarjetas FPGA (ingl�s)
FPGA Tutoriales (ingl�s)
DSP-FPGA.com Revista de electr�nica (ingl�s)
OpenFPGA
Archivado el 10 de julio de 2007 en la Wayback Machine.
OpenCores.org - C�digo abierto de algunas IP (Intelectual Property) (ingl�s)
Dise�o de FPGA desde cero (ingl�s)
Dise�o digital utilizando l�gicas programables
Conceptos claves del lenguaje VHDL
Simulador de c�digos HDL usando el compilador de C (en ingl�s)
Dise�o Digital para FPGA, con herramientas libres
Utilidades
Altium Designer - Utilidad de dise�o de Altera, Xilinx, Actel, y otras familias
FPGA/CPLD
Quartus - Utilidad de dise�o para los dispositivos Altera
ISE - Utilidad de dise�o para los dispositivos Xilinx
ispLEVER - Paquete de aplicaciones para los dispositivos Lattice
LogicSim - Herramienta de simulaci�n FPGA
ModelSim - Simulador de diferentes lenguajes de programaci�n hardware HDL/Verilog
Synplify - Herramienta de s�ntesis FPGA
Yosys - Herramienta libre para s�ntesis en FPGA
Arachne-pnr - Herramienta libre de emplazado y rutado para FPGA de Lattice
Icestorm - Documentaci�n y utilidad de configuraci�n para FPGA de Lattice. Junto a
Yosys y Arachne-pnr forman un conjunto de herramientas libres para cerrar el ciclo
de dise�o completo, obteniendo el fichero de configuraci�n (bitstream) a partir de
c�digo en Verilog
Icarus Verilog - Simulador libre para Verilog
Gtkwave - Visualizador libre de se�ales

S-ar putea să vă placă și