Edades de Los FPGA
Edades de Los FPGA
Edades de Los FPGA
tecnología FPGA
Resumen:
Desde su introducción, las matrices de compuertas programables en campo (FPGA) han crecido
en capacidad en más de un factor de 10000 y en rendimiento en un factor de 100. El costo y la
energía por operación han disminuido en más de un factor de 1000. Estos avances han sido
impulsados por la escala de la tecnología de proceso, pero la historia de FPGA es mucho más
compleja que la simple escala de tecnología. Los efectos cuantitativos de la Ley de Moore han
impulsado cambios cualitativos en la arquitectura, las aplicaciones y las herramientas de
FPGA. Como consecuencia, los FPGA han pasado por varias fases distintas de desarrollo. Estas
fases, denominadas "edades" en este documento, son La era de la invención, La era de la
expansión y La era de la acumulación. Este documento resume cada uno y discute sus presiones
de conducción y características fundamentales. El documento concluye con una visión de la
próxima Era de los FPGA.
ECCIÓN I.
INTRODUCCIÓN
Xilinx introdujo las primeras matrices de compuertas programables de campo (FPGA) en 1984,
aunque no se llamaron FPGA hasta que Actel popularizó el término alrededor de 1988.
Durante los siguientes 30 años, el dispositivo que llamamos FPGA aumentó en capacidad
en más de un factor de 10 000 y aumentó en velocidad en un factor de 100. El costo y el
consumo de energía por unidad de función disminuyeron en más de un factor de 1000
(ver Fig. 1 ). Estos avances han sido impulsados en gran medida por la tecnología de procesos, y
es tentador percibir la evolución de los FPGA como una simple progresión de capacidad,
después de la escala de semiconductores. Esta percepción es demasiado simple. La historia real
del progreso de FPGA es mucho más interesante.
Figura 1.
SECCION II.
El costo inicial de NRE aseguró que los FPGA fueran más rentables que los ASIC en algún
volumen [38] . Los proveedores de FPGA promocionaron esto en su "punto de cruce", el
número de unidades que justificaron el mayor gasto NRE de un ASIC. En la Fig. 2 , las líneas
gráficas muestran el costo total de un número de unidades compradas. Un ASIC tiene un costo
inicial para la NRE, y cada unidad posterior agrega su costo unitario al total. Un FPGA no tiene
carga NRE, pero cada unidad cuesta más que el ASIC funcionalmente equivalente, de ahí la
línea más pronunciada. Las dos líneas se encuentran en el punto de cruce. Si se requiere menos
de esa cantidad de unidades, la solución FPGA es más barata; más que esa cantidad de unidades
indica que el ASIC tiene un costo total más bajo.
Figura 2.
FPGA versus ASIC Crossover Point. El gráfico muestra el costo total versus el número de
unidades. Las líneas FPGA son más oscuras y comienzan en la esquina inferior izquierda. Con
la adopción del siguiente nodo de proceso (flechas desde el nodo anterior en líneas discontinuas
hasta el nodo posterior en líneas continuas), el punto de cruce, indicado por la línea punteada
vertical, se hizo más grande.
La desventaja de la prima de costo por unidad de FPGA sobre ASIC disminuyó con el tiempo a
medida que los costos de NRE se convirtieron en una fracción mayor del costo total de
propiedad de ASIC. Las líneas discontinuas en la Fig. 2 indican el costo total en algún nodo del
proceso. Las líneas continuas representan la situación en el siguiente nodo de proceso, con un
mayor costo de NRE, pero un menor costo por chip. Tanto FPGA como ASIC aprovecharon la
fabricación de menor costo, mientras que los cargos de ASIC NRE continuaron subiendo,
empujando el punto de cruce más alto. Finalmente, el punto de cruce creció tanto que para la
mayoría de los clientes, el número de unidades ya no justificaba un ASIC. El silicio
personalizado estaba garantizado solo para un rendimiento muy alto o un volumen muy
alto; todos los demás podrían usar una solución programable.
Los FPGA no solo eliminaron los cargos iniciales de enmascaramiento y redujeron los costos de
inventario, sino que también redujeron los costos de diseño al eliminar clases enteras de
problemas de diseño. Estos problemas de diseño incluyen diseño a nivel de transistor, pruebas,
integridad de señal, diafonía, diseño de E / S y distribución de reloj.
Tan importante como el bajo costo inicial y el diseño más simple, las principales ventajas de
FPGA fueron la disponibilidad instantánea y la visibilidad reducida de una falla. A pesar de la
extensa simulación, los ASIC rara vez parecían ser correctos la primera vez. Con los tiempos de
respuesta de fabricación de obleas en las semanas o meses, las vueltas de silicio afectaron
significativamente los horarios, y a medida que aumentaron los costos de enmascaramiento, las
vueltas de silicio se notaron a niveles cada vez mayores en la empresa. El alto costo del error
exigió una extensa verificación del chip. Dado que un FPGA se puede reelaborar en minutos,
los diseños de FPGA no incurrieron en demoras de semanas por un error. Como resultado, la
verificación no necesita ser tan exhaustiva. La "auto-emulación", conocida coloquialmente
como "descárgala y pruébalo", podría reemplazar una simulación extensa.
Finalmente, estaba el riesgo de producción de ASIC: una empresa de ASIC ganaba dinero solo
cuando el diseño de sus clientes entraba en producción. En la década de 1980, debido a los
requisitos cambiantes durante el proceso de desarrollo, las fallas de los productos o los errores
de diseño, solo alrededor de un tercio de todos los diseños fueron a producción. Dos tercios de
los diseños perdieron dinero. Las pérdidas fueron incurridas no solo por los clientes de ASIC,
sino también por los proveedores de ASIC, cuyos cargos de NRE rara vez cubrieron sus costos
reales y nunca cubrieron el costo de la oportunidad perdida en sus instalaciones de fabricación
que se deprecian rápidamente. Por otro lado, las empresas y los clientes de lógica programable
aún podrían ganar dinero con un volumen pequeño, y un pequeño error podría corregirse
rápidamente, sin la creación de máscaras costosas.
Fig. 3.
Arquitectura genérica PAL.
Ver todo
Los PAL fueron muy eficientes desde el punto de vista de fabricación. La estructura PAL es
muy similar a una matriz de memoria EPROM, en la que los transistores se empaquetan
densamente para proporcionar una implementación eficiente. Los PAL eran lo suficientemente
similares a los recuerdos que muchos fabricantes de memoria pudieron expandir su línea de
productos con PAL. Cuando el negocio de la memoria cíclica vaciló, los fabricantes de memoria
ingresaron al negocio de la lógica programable.
El problema arquitectónico con los PAL es evidente cuando se considera la escala. El número
de puntos programables en la matriz y crece con el cuadrado del número de entradas (más
precisamente, las entradas multiplicadas por los términos del producto). El escalado del proceso
ofrece más transistores con el cuadrado del factor de contracción. Sin embargo, el aumento
cuadrático en la matriz y limita los PAL para hacer crecer la lógica solo linealmente con el
factor de contracción. La entrada de PAL y las líneas de término del producto también están
muy cargadas, por lo que el retraso aumenta rápidamente a medida que aumenta el tamaño. Un
PAL, como cualquier memoria de este tipo, tiene líneas de palabras y líneas de bits que abarcan
todo el dado. Con cada generación, la relación del accionamiento del transistor programado a la
carga disminuyó. Más entradas o términos de producto aumentaron la carga en esas líneas. El
aumento del tamaño del transistor para disminuir la resistencia también aumentó la capacitancia
total. Para mantener la velocidad, el consumo de energía aumentó dramáticamente. Los PAL
grandes no eran prácticos tanto en el área como en el rendimiento. En respuesta, en la década de
1980, Altera fue pionera en el Dispositivo lógico programable complejo (CPLD), compuesto
por varios bloques tipo PAL con conexiones de barra transversal más pequeñas entre ellos. Pero
los FPGA tenían una solución más escalable.
Los bloques lógicos eran más pequeños. No había garantía de que una sola función
encajara en una. Por lo tanto, fue difícil determinar de antemano cuánta lógica cabría en
el FPGA.
El rendimiento del FPGA dependía de dónde se ubicara la lógica en el FPGA. Los
FPGA requirieron colocación y enrutamiento, por lo que el rendimiento del diseño
terminado no fue fácil de predecir de antemano.
Fig.4.
Arquitectura genérica de FPGA de matriz. 4 4 ×4 conjuntos con tres pistas de cableado por fila
y columna. Los interruptores están en los círculos en las intersecciones. Las entradas y salidas
del dispositivo se distribuyen alrededor de la matriz.
Ver todo
SECCION III.
EDAD DE LA INVENCIÓN 1984–1991
El primer FPGA, el Xilinx XC2064, contenía solo 64 bloques lógicos, cada uno de los cuales
contenía dos tablas de búsqueda de tres entradas (LUT) y un registro [8] . Según el conteo de
hoy, esto sería alrededor de 64 celdas lógicas, menos de 1000 puertas. A pesar de su pequeña
capacidad, era un troquel muy grande, más grande que los microprocesadores comerciales de la
época. La tecnología de proceso de 2.5 micras utilizada para el XC2064 apenas podía
producirlo. En esos primeros años, la contención de costos era crítica para el éxito de los FPGA.
"La contención de costos fue crítica para el éxito de los FPGA". Un lector moderno aceptará esa
declaración como una especie de declaración simplista de lo obvio, pero esta interpretación
subestima seriamente el tema. El tamaño del troquel y el costo por función fueron
aplastantemente vitales. El XC2064, con solo 64 chanclas accesibles para el usuario, costó
cientos de dólares porque era un troquel tan grande. Dado que el rendimiento (y, por lo tanto, el
costo) es superlineal para un troquel grande, un aumento del 5% en el tamaño del troquel podría
haber duplicado el costo o, peor aún, el rendimiento podría haber caído a cero dejando a la
empresa de inicio sin ningún producto. La contención de costos no era una cuestión de mera
optimización; se trataba de si el producto existiría o no. Era una cuestión de vida o muerte
corporativa. En esos primeros años, la contención de costos era crítica para el éxito de los
FPGA.
Como resultado de la presión de los costos, los arquitectos de FPGA utilizaron su libertad recién
descubierta para maximizar la eficiencia de la FPGA, aprovechando cualquier ventaja en la
tecnología y arquitectura de procesos. Aunque los FPGA basados en memoria estática eran
reprogramables, requerían una PROM externa para almacenar la programación cuando estaba
apagado. La reprogramabilidad no se consideró un activo, y Xilinx le restó importancia para
evitar las preocupaciones de los clientes sobre lo que sucedió con su lógica cuando se cortó la
energía. Y la memoria dominaba el área del dado.
Los primeros arquitectos de FPGA señalaron que una arquitectura de interconexión eficiente
debería observar la bidimensionalidad del circuito integrado. Los cables largos y lentos de PAL
fueron reemplazados por conexiones cortas entre bloques adyacentes que se podrían unir según
sea necesario mediante programación para formar rutas de enrutamiento más
largas. Inicialmente, los transistores de paso simple dirigían las señales a través de los
segmentos de interconexión a los bloques adyacentes. El cableado fue eficiente porque no había
fracciones de cables no utilizadas. Estas optimizaciones redujeron considerablemente el área de
interconexión e hicieron posible los FPGA. Al mismo tiempo, sin embargo, aumentaron el
retraso de la señal y la incertidumbre del retraso a través del cableado FPGA debido a las
grandes capacitancias y las resistencias en serie distribuidas a través de la red de conmutación
de transistores de paso. Dado que los cables e interruptores de interconexión agregan tamaño,
pero no la lógica (facturable), Los arquitectos de FPGA se mostraron reacios a agregar
mucho. Los primeros FPGA eran notoriamente difíciles de usar porque estaban hambrientos de
interconexión.
SECCION IV.
EDAD DE LA INVENCIÓN EN RETROSPECTO
En la era de la invención, los FPGA eran pequeños, por lo que el problema de diseño era
pequeño. Aunque eran deseables, la síntesis e incluso la colocación y el enrutamiento
automatizados no se consideraban esenciales. Muchos consideraron poco práctico incluso
intentar la automatización del diseño en las computadoras personales de la época, ya que la
colocación y el enrutamiento de ASIC se realizaban en las computadoras centrales. El diseño
manual, tanto lógico como físico, era aceptable debido al pequeño tamaño del problema. El
diseño manual a menudo era necesario debido a los recursos de enrutamiento limitados en los
chips [41] .
Una ventaja adicional del desarrollo de software cautivo fue que los clientes de FPGA no
estaban obligados a comprar herramientas de una compañía externa de EDA, lo que habría
aumentado sus costos de NRE. Como hicieron con los cargos de NRE, los proveedores de
FPGA amortizaron sus costos de desarrollo de herramientas en sus precios de silicio,
manteniendo el costo inicial de usar sus dispositivos muy bajo. Las empresas EDA no estaban
muy interesadas en las herramientas FPGA de todos modos con su mercado fragmentado, bajo
volumen, bajo precio de venta y el requisito de ejecutarse en computadoras con poca potencia.
En la Era de la invención, los FPGA eran mucho más pequeños que las aplicaciones que los
usuarios querían poner en ellos. Como resultado, los sistemas de FPGA múltiple [1] , [42]
se hicieron populares, y el software automatizado de partición de múltiples chips se identificó
como un componente importante de un conjunto de diseño de FPGA [36] , incluso cuando la
ubicación y el enrutamiento automáticos no lo fueron.
SECCION V.
INTERLUDIO: SHAKEOUT EN EL NEGOCIO DE FPGA
La Era de la Invención terminó con un desgaste brutal en el negocio de FPGA. Un lector
moderno puede no reconocer la mayoría de las compañías o nombres de productos en la Sección
III y en el árbol genealógico de FPGA en la Fig. 5 [6] , [38] . Muchas de las compañías
simplemente desaparecieron. Otros vendieron sus activos en silencio mientras salían del
negocio de FPGA. La causa de este desgaste fue más que la dinámica normal del
mercado. Hubo cambios importantes en la tecnología, y las compañías que no aprovecharon los
cambios no pudieron competir. Los cambios cuantitativos debidos a la Ley de Moore resultaron
en cambios cualitativos en los FPGA construidos con tecnología de semiconductores. Estos
cambios caracterizaron la era de la expansión.
Fig.5.
FPGA arquitectura árbol genealógico, ca. 2000. Todas las marcas registradas son propiedad de
sus respectivos dueños.
Ver todo
SECCION VI.
EDAD DE EXPANSIÓN 1992–1999
Durante la década de 1990, la Ley de Moore continuó su rápido ritmo de mejora, duplicando el
recuento de transistores cada dos años. Al ser pioneros en el modelo de negocio más fabuloso,
las empresas de inicio de FPGA generalmente no podían obtener tecnología de silicio de
vanguardia a principios de la década de 1990. Como resultado, los FPGA comenzaron la Era de
la Expansión rezagada en la curva de introducción del proceso. En la década de 1990, se
convirtieron en líderes de procesos cuando las fundiciones se dieron cuenta del valor de usar el
FPGA como una aplicación de controlador de procesos. Las fundiciones pudieron construir
FPGA SRAM tan pronto como pudieron producir transistores y cables en una nueva
tecnología. Los vendedores de FPGA vendieron sus enormes dispositivos mientras que las
fundiciones refinaron sus procesos. Cada nueva generación de silicio duplicó el número de
transistores disponibles, lo que duplicó el tamaño del FPGA más grande posible y redujo a la
mitad el costo por función. Más importante que la simple escala del transistor, la introducción
del pulido químico-mecánico (CMP) permitió a las fundiciones apilar más capas de
metal. Valiosa para los ASIC, esta capacidad fue explosiva para los FPGA porque el costo de la
interconexión valiosa (no flexible) se redujo aún más rápido que el costo de los transistores, y
los proveedores de FPGA aumentaron agresivamente la interconexión en sus dispositivos para
acomodar la mayor capacidad (ver Fig. 6 ).
Fig.6.
Crecimiento de LUT de FPGA y cables de interconexión La longitud del cable se mide en
millones de pasos de transistores.
Ver todo
Esta mejora rápida del proceso tuvo varios efectos que ahora examinamos.
Ver todo
En el lado negativo, cuando no se usa toda la longitud del segmento de alambre, las partes de la
traza metálica se desperdician de manera efectiva. Muchas arquitecturas de la Era de la
invención eficientes en silicio se basaban en la eficiencia del cableado, con cables cortos que
eliminaban el desperdicio. A menudo, seguían rígidamente la limitación bidimensional del
silicio físico que les daba a esos FPGA la etiqueta de "celular". En la Era de la Expansión, era
posible una segmentación de cables más larga porque el costo del metal desperdiciado ahora era
aceptable. Las arquitecturas dominadas por las conexiones del vecino más cercano no podían
igualar el rendimiento o la facilidad de automatización de las arquitecturas que aprovechaban la
mayor segmentación del cable.
Un cambio de eficiencia similar aplicado a los bloques lógicos. En la Era de la invención, los
bloques lógicos pequeños y simples eran atractivos porque su retraso lógico era corto y porque
desperdiciaban poco cuando no se usaban o se usaban parcialmente. La mitad de las celdas de
memoria de configuración en una LUT de cuatro entradas se desperdician cuando se instancia
una función de tres entradas en ella. Los diseñadores inteligentes podían mapear manualmente
estructuras lógicas complejas de manera eficiente en un número mínimo de bloques lógicos de
grano fino, pero las herramientas automatizadas no tuvieron tanto éxito. Para funciones más
grandes, la necesidad de conectar varios bloques pequeños genera una mayor demanda en la
interconexión. En la Era de la Expansión, no solo había más bloques lógicos, sino que los
bloques mismos se volvieron más complejos.
El rápido ritmo de la Ley de Moore en la Era de la Expansión relegó los FPGA antifusibles y
flash a productos de nicho.
SECCION VII.
INTERLUDIO: CAPACIDAD FPGA BELL CURVE
Fig.8.
Crecimiento del mercado direccionable FPGA.
Ver todo
Esta aplicabilidad creciente también se puede ver en la diapositiva "Brecha de diseño" popular
entre los vendedores de EDA a fines de la década de 1990 ( Fig. 9) La capacidad de los ASIC y
los FPGA aumentó con la Ley de Moore: los ASIC crecieron a una tasa de crecimiento anual
del 59% y los FPGA a una tasa de crecimiento anual del 48%. El inicio de diseño ASIC
promedio observado creció considerablemente más lentamente, solo un 25% por año. Como
resultado, la capacidad de FPGA alcanzó el tamaño de diseño ASIC promedio en 2000, aunque
para un FPGA grande (costoso). Sin embargo, en 2004, se pronosticaba que un FPGA de diez
dólares cumpliría con el requisito ASIC promedio. Ese punto de cruce se alejó más a principios
de la década de 2000, ya que los FPGA se dirigieron al extremo inferior del mercado ASIC y
esos pequeños diseños se convirtieron en diseños FPGA. Los diseños pequeños ya no se
incluyeron en el cálculo del tamaño de diseño ASIC promedio, inflando así el tamaño de diseño
ASIC promedio en el nuevo milenio. Hoy, el ASIC promedio es mucho más grande que la Fig.
9 sugeriría, porque los FPGA absorbieron con éxito casi todo el bajo nivel del negocio ASIC.
Fig.9.
Brecha de diseño. Fuente: Datos: Synopsys, Gartner Dataquest, Tecnología VLSI, Xilinx.
Ver todo
SECCION VIII.
EDAD DE EXPANSIÓN EN RETROSPECTO
A medida que los FPGA se hicieron más populares, las compañías de EDA se interesaron en
proporcionarles herramientas. Sin embargo, las oberturas de las compañías EDA fueron vistas
con sospecha. Los veteranos de FPGA habían visto cómo los vendedores de PLD habían
perdido el control sobre su innovación al entregar el software. Se negaron a dejar que eso
suceda en el dominio FPGA. Además, las principales compañías de FPGA temían que sus
clientes pudieran depender de las herramientas de una compañía externa de EDA. Si eso
sucediera, la compañía EDA podría aumentar efectivamente la FPGA NRE por los precios de
sus herramientas de software. Esto socavaría la propuesta de valor de FPGA, desplazando el
punto de cruce a un volumen más bajo. Se hicieron algunas alianzas importantes de FPGA-EDA
en el dominio de síntesis, a distancia de las herramientas de diseño físico que definieron la
arquitectura. A pesar de las alianzas, Las empresas FPGA mantuvieron proyectos competitivos
para evitar la posibilidad de dependencia. En la Era de la Expansión, los proveedores de FPGA
se encontraron compitiendo tanto con la tecnología ASIC como con la tecnología EDA.
SECCION IX.
INTERLUDIO: XILINX MARKETING, CA. 2000
Fig.10.
Xilinx marketing ca. 2000 Imagen cortesía de Xilinx.
Ver todo
SECCION X.
EDAD DE ACUMULACIÓN 2000–2007
Al comienzo del nuevo milenio, los FPGA eran componentes comunes de los sistemas
digitales. La capacidad y el tamaño del diseño estaban creciendo y los FPGA habían encontrado
un gran mercado en la industria de las comunicaciones de datos. La caída de las puntocom de
principios de la década de 2000 creó la necesidad de un menor costo. El costo y la complejidad
crecientes de la fabricación de silicio eliminaron a los usuarios ASIC "casuales". El silicio
personalizado era simplemente demasiado arriesgado para que un pequeño equipo lo ejecutara
con éxito. Cuando vieron que podían encajar su problema en un FPGA, se convirtieron en
clientes de FPGA.
Al igual que en la Era de la Expansión, el ritmo inexorable de la Ley de Moore hizo que los
FPGA fueran aún más grandes. Ahora eran más grandes que el tamaño típico del problema. No
hay nada malo en tener una capacidad superior a la necesaria, pero tampoco hay nada
particularmente virtuoso en ella. Como resultado, los clientes no estaban dispuestos a pagar una
gran prima por el FPGA más grande.
El aumento de la capacidad por sí solo tampoco fue suficiente para garantizar el crecimiento del
mercado. Considere la figura 11 , la curva de campana FPGA, nuevamente. A medida que la
capacidad de FPGA superó el tamaño de diseño promedio, el pico de la curva de campana, un
aumento en la capacidad admitió progresivamente menos aplicaciones. El mero tamaño, que
prácticamente garantizaba un producto exitoso en la Era de la Expansión, atrajo cada vez menos
clientes nuevos en los años siguientes.
Fig.11.
Crecimiento decreciente del mercado direccionable FPGA.
Ver todo
Los proveedores de FPGA abordaron este desafío de dos maneras. Para la gama baja del
mercado, se centraron en la eficiencia y produjeron familias de FPGA de bajo costo y menor
capacidad: Spartan de Xilinx, Cyclone de Altera y EC / ECP de Lattice.
Para los de gama alta, los proveedores de FPGA buscaron facilitar a los clientes llenar sus
espaciosos FPGA. Produjeron bibliotecas de lógica suave (IP) para funciones importantes. Las
funciones lógicas más notables fueron los microprocesadores (Xilinx MicroBlaze y Altera
Nios) [21] , controladores de memoria y varias pilas de protocolos de comunicaciones. Antes de
que se implementara Ethernet MAC en transistores en Virtex-4, se implementó en LUT como
un núcleo blando para Virtex-II. Las interfaces estándar para componentes IP consumieron LUT
adicionales, pero esa ineficiencia no fue una gran preocupación en comparación con los ahorros
en el esfuerzo de diseño.
Los FPGA grandes eran más grandes que el diseño ASIC promedio. A mediados de la década
de 2000, solo los emuladores ASIC necesitaban particionadores de múltiples chips. Más clientes
estaban interesados en agregar múltiples componentes potencialmente no relacionados en un
solo FPGA espacioso [25] . Xilinx promovió la "Lógica reconfigurable de Internet" y la
partición del área FPGA para permitir la inserción dinámica de unidades funcionales en un
subconjunto de los recursos lógicos programables.
Las características de los diseños cambiaron en la década de 2000. Grandes FPGA admitieron
grandes diseños que eran subsistemas completos. Los usuarios de FPGA ya no estaban
trabajando simplemente en implementar la lógica; necesitaban su diseño FPGA para cumplir
con los estándares del sistema. Estos estándares eran principalmente estándares de
comunicaciones para señalización y protocolos, ya sea para interactuar con componentes
externos o para comunicarse entre bloques internos. Los estándares de procesamiento se
volvieron aplicables debido al creciente papel de los FPGA en las aplicaciones de computación
intensiva. A medida que el FPGA creció como una fracción de la lógica general del sistema del
cliente, su costo y potencia crecieron en consecuencia. Estos problemas se volvieron mucho más
importantes que en la Era de la Expansión.
La presión para cumplir con los estándares, disminuir el costo y disminuir la potencia condujo a
un cambio en la estrategia de arquitectura de simplemente agregar lógica programable y cumplir
la Ley de Moore, como se hizo en la Era de la Expansión, a agregar bloques lógicos
dedicados [7] , [13] , [29] , [43] . Estos bloques incluían memorias grandes, microprocesadores,
multiplicadores, E / S flexibles y transceptores síncronos de fuente. Construidos con transistores
diseñados a medida en lugar de puertas ASIC, a menudo eran incluso más eficientes que las
implementaciones ASIC. Para las aplicaciones que los usaron, redujeron la sobrecarga de la
capacidad de programación en área, rendimiento, potencia y esfuerzo de diseño [27] .
Fig. 12.
Xilinx marketing ca. 2005. Imagen cortesía de Xilinx.
Ver todo
Para aliviar la carga del uso de las nuevas funciones y cumplir con los estándares del sistema,
los proveedores de FPGA ofrecieron generadores lógicos para crear una funcionalidad
específica a partir de una combinación de sus funciones dedicadas y lógica suave [22]. Los
generadores y las bibliotecas de lógica suave proporcionaron las interfaces a CoreConnect, AXI
y otros buses para periféricos en procesadores suaves y reforzados. También construyeron la
lógica de protocolo de bus que envolvía las interfaces físicas de función fija de los transceptores
seriales. Xilinx System Generator y Altera's DSP Builder automatizaron gran parte del
ensamblaje para sistemas DSP, construidos a partir de una combinación de funciones fijas y
LUT. Para simplificar la creación de sistemas de microprocesador, Xilinx proporcionó el Kit de
diseño integrado (EDK) mientras que Altera lanzó su Kit de diseño de sistema integrado
(ESDK). Las demostraciones de estas capacidades incluyen Linux que se ejecuta en el
procesador FPGA con compresión y descompresión de video en el tejido FPGA.
Pero, ¿qué pasa con aquellos clientes en la Era de la Acumulación que no necesitan las
funciones fijas? Para un cliente que no necesita un procesador Power-PC, memoria o
multiplicador, el área de ese bloque se desperdicia, degradando efectivamente el costo y la
velocidad del FPGA. Al principio, los proveedores de FPGA intentaron asegurarse de que esas
funciones pudieran usarse para la lógica si no fueran necesarias para su propósito
principal. Proporcionaron software de "mapeo LUT grande" para mover la lógica a los bloques
de RAM no utilizados. Xilinx lanzó el "Ultracontrolador" para mapear máquinas de estado en
código de microprocesador para el Power-PC reforzado en el Virtex-II Pro. Pero estas medidas
fueron finalmente percibidas como sin importancia. Es una indicación de cuán lejos hemos
llegado de la Era de la Invención que los vendedores y clientes de FPGA simplemente aceptaron
el área desperdiciada. Un vicepresidente de Xilinx comentó que proporcionaría cuatro
procesadores Power-PC en un FPGA y no le importó si los clientes no usaban ninguno de
ellos. "Les damos los procesadores de forma gratuita".
SECCION XI.
INTERLUDIO: TODAS LAS EDADES EN TODO MOMENTO
Los bloques dedicados no eran exclusivos de la Era de la acumulación, del mismo modo que el
aumento de la capacidad del dispositivo no era exclusivo de la Era de la expansión o la
innovación arquitectónica exclusiva de la Era de la invención. Las puertas, el enrutamiento y el
busing de tres estados estaban disponibles en la Era de la invención, mientras que la aritmética,
la memoria y las E / S especializadas aparecieron en la Era de la expansión ( Tabla 1) Se han
agregado bloques dedicados a lo largo de las eras de los FPGA, y hay indicios de que
continuarán evolucionando en variedad y complejidad. Sin embargo, en general, las funciones
dedicadas exitosas han sido de naturaleza genérica, utilizando la flexibilidad de las LUT
programables y la interconexión para personalizar la funcionalidad. Los intentos de producir
FPGA específicos de nicho o específicos de la aplicación no han tenido éxito, ya que pierden la
ventaja de la fabricación en volumen en la que se basa la economía de FPGA. Esto fue, por
supuesto, hasta que la Era de la Acumulación dio lugar a la "comunicación FPGA".
SECCION XII.
EDAD DE ACUMULACIÓN EN RETROSPECTO
A. Aplicaciones
El mayor cambio en los FPGA en la Era de la Acumulación fue el cambio en la aplicación de
destino. El negocio de FPGA creció no por el reemplazo general de ASIC, sino por la adopción
por parte de la infraestructura de comunicaciones. Empresas como Cisco Systems utilizaron
FPGA para crear rutas de datos personalizadas para dirigir grandes volúmenes de Internet y
tráfico de voz en paquetes a través de sus conmutadores y enrutadores [20] , [30] . Sus
requisitos de rendimiento eliminaron los microprocesadores y procesadores de matriz estándar,
y los volúmenes unitarios estaban dentro del punto de cruce de FPGA. Se podrían implementar
nuevas arquitecturas y algoritmos de enrutamiento de red en FPGA rápidamente y actualizarse
en el campo. En la Era de la Acumulación, las ventas al segmento de la industria de
comunicaciones crecieron rápidamente a más de la mitad del negocio total de FPGA.
Por supuesto, este éxito llevó a los principales fabricantes de FPGA a personalizar sus FPGA
para la industria de las comunicaciones. Los FPGA hechos para comunicaciones incorporaron
transceptores de E / S de alta velocidad, miles de multiplicadores dedicados de alto rendimiento,
la capacidad de crear amplias rutas de datos y tuberías profundas para cambiar grandes
cantidades de datos sin sacrificar el rendimiento. Los bloques dedicados y el enrutamiento que
se agregaron para atender mejor los requisitos de la aplicación de comunicaciones redujeron el
área de lógica general disponible. A fines de la década de 2000, los FPGA no eran reemplazos
ASIC de propósito general tanto como eran motores de enrutamiento de datos. A medida que
aparecían los procesadores multinúcleo y las unidades de procesador de gráficos de uso general
(GPGPU), los FPGA aún se preferían para el cómputo en tiempo real de alto rendimiento. Al
mismo tiempo, los FPGA conservaron su generalidad.
B. Ley de Moore
El escalado clásico de Dennard, con mejoras simultáneas en costo, capacidad, potencia y
rendimiento, finalizó a mediados de la década de 2000 [5] , [18] . Las generaciones posteriores
de tecnología todavía dieron mejoras en capacidad y costo. El poder continuó mejorando
también, pero con una clara compensación contra el rendimiento. Las ganancias de rendimiento
de un nodo tecnológico al siguiente fueron modestas y se intercambiaron por ahorros de
energía. Este efecto es evidente en la desaceleración del crecimiento del rendimiento en la
década de 2000 en la figura 1 . Estas compensaciones también impulsaron la acumulación de
funciones, porque la simple dependencia de la escala de la tecnología de proceso, como en la
Era de la Expansión, no era suficiente para mejorar la potencia y el rendimiento. El
endurecimiento de la lógica proporcionó las mejoras necesarias.
SECCION XIII.
EDAD ACTUAL: NO MÁS LÓGICA PROGRAMABLE
Al final de la Era de la Acumulación, los FPGA no eran conjuntos de puertas, sino colecciones
de bloques acumulados integrados con la lógica programable. Todavía eran programables, pero
no estaban restringidos a la lógica programable. Las dimensiones adicionales de
programabilidad adquiridas en la Era de la Acumulación agregaron una carga de diseño. El
esfuerzo de diseño, una ventaja para los FPGA en su competencia con ASIC, fue una desventaja
en la competencia con los procesadores y GPU multi-core recién llegados.
A. Aplicaciones
Durante la Era de la Acumulación, las compañías ASIC que trajeron dispositivos personalizados
al mercado en la década de 1980 estaban desapareciendo silenciosamente. Por supuesto, todavía
existían dispositivos ASIC específicos para socket personalizados, pero solo para diseños con
un volumen muy grande o requisitos operativos extremos. ¿Los FPGA los derrotaron? Bueno,
parcialmente En la década de 2000, los cargos de ASIC NRE simplemente aumentaron
demasiado para la mayoría de las aplicaciones. Esto se puede ver en la Fig. 13donde el costo de
desarrollo en millones de dólares se traza contra el nodo tecnológico. El costo de desarrollo de
un dispositivo personalizado alcanzó decenas, luego cientos de millones de dólares. Una
empresa que invierte el 20% de los ingresos en investigación y desarrollo requiere ingresos de
medio billón de dólares por la venta de un chip para justificar el costo de desarrollo de cien
millones de dólares. El punto de cruce de FPGA alcanzó millones de unidades. Hay muy pocos
chips que se venden en ese volumen: especialmente microprocesadores, memorias y
procesadores de teléfonos celulares. Junto con controles financieros estrictos a raíz de otra
recesión, la incertidumbre de las ventas y el largo plazo de ingresos para nuevos productos, el
resultado era inevitable: si los requisitos de la aplicación podían cumplirse con un dispositivo
programable, la lógica programable era la solución preferida.
Fig.13.
Costo estimado del diseño del chip, por nodo de proceso, en todo el mundo. Datos: Xilinx y
Gartner. 2011
Ver todo
Tras la migración de ASIC a SoC, los proveedores de lógica programable desarrollaron SoC
programables [12] . Definitivamente, este no es el motor de transferencia de datos tan popular
en el dominio de las comunicaciones de datos y tampoco un conjunto de puertas. El sistema
programable FPGA es un sistema programable completo en un chip, que contiene memoria,
microprocesadores, interfaces analógicas, una red en chip y un bloque lógico
programable. Ejemplos de esta nueva clase de FPGA son Xilinx All-Programmable Zynq,
Altera SoC FPGA y Actel / Microsemi M1.
B. Herramientas de diseño
Estos nuevos FPGA tienen nuevos requisitos de diseño. Lo más importante, son programables
por software, así como programables por hardware. El microprocesador no es el simple bloque
de hardware que se dejó caer en el FPGA como se hizo en la Era de la Acumulación, sino que
incluye un entorno completo con cachés, buses, red en chip y periféricos. El software incluido
incluye sistemas operativos, compiladores y middleware: un ecosistema completo, en lugar de
un bloque de funciones integrado. La programación de software y hardware juntos agrega
complejidad de diseño.
Pero esta sigue siendo la punta del iceberg. Para lograr su objetivo de desplazar ASIC o SoC,
los FPGA heredan los requisitos del sistema de esos dispositivos. Los FPGA modernos tienen
controles de potencia, como la escala de voltaje y el sesgo del cuerpo adaptativo Stratix [29]. Se
requiere seguridad de última generación, incluida la criptografía de clave pública en Xilinx
Zynq SoC y Microsemi SmartFusion. Los sistemas completos requieren interfaces de señal
mixta para la interfaz del mundo real. Estos también monitorean el voltaje y la
temperatura. Todo esto es necesario para que el FPGA sea un sistema completo en un chip, un
dispositivo ASSP SoC creíble. Como resultado, los FPGA han crecido hasta el punto en que la
matriz de compuertas lógicas es típicamente menos de la mitad del área. En el camino, las
herramientas de diseño de FPGA han crecido para abarcar el amplio espectro de problemas de
diseño. El número de ingenieros de EDA en las compañías de FPGA creció hasta ser
comparable al número de ingenieros de diseño.
C. Tecnología de proceso
Aunque la escala del proceso ha continuado de manera constante durante las últimas tres
décadas, los efectos de la Ley de Moore en la arquitectura FPGA fueron muy diferentes en
diferentes momentos. Para tener éxito en la era de la invención, los FPGA requerían una
arquitectura agresiva y una innovación de procesos. En la Era de la Expansión, montar la Ley de
Moore fue la forma más exitosa de abordar una fracción cada vez mayor del mercado. A medida
que los FPGA se convirtieron en componentes del sistema, se les exigió que abordaran esos
estándares, y el busto de punto com les exigió que proporcionaran esas interfaces a un precio
mucho más bajo. La industria FPGA ha confiado en la escala de tecnología de proceso para
cumplir con muchos de estos requisitos.
D. Esfuerzo de diseño
Observe cómo esa última sección se centró en los atributos del dispositivo: costo, capacidad,
velocidad y potencia. El costo, la capacidad y la velocidad fueron precisamente aquellos
atributos en los que los FPGA estaban en desventaja para el ASIC en los años ochenta y
noventa. Sin embargo, prosperaron. Un enfoque limitado en esos atributos sería erróneo, al igual
que el enfoque limitado de las empresas ASIC en ellos en la década de 1990 los llevó a
subestimar los FPGA. La programabilidad le dio a los FPGA una ventaja a pesar de sus
inconvenientes. Esa ventaja se tradujo en un menor riesgo y un diseño más fácil. Esos atributos
siguen siendo valiosos, pero otras tecnologías también ofrecen programabilidad.
Del mismo modo que los clientes que buscaban circuitos integrados personalizados hace 30
años se sintieron atraídos por los FPGA por la complejidad de los ASIC, muchos ahora se
sienten atraídos por los procesadores multinúcleo, las unidades de procesamiento gráfico (GPU)
y los productos estándar específicos de aplicación programables por software (ASSP). Estas
soluciones alternativas proporcionan sistemas prediseñados con software para simplificar los
problemas de mapeo en ellos. Sacrifican parte de la flexibilidad, el rendimiento y la eficiencia
energética de la lógica programable para facilitar su uso. Está claro que, si bien hay muchos
usuarios de FPGA que necesitan explotar los límites de la tecnología FPGA, hay muchos otros
para quienes la capacidad tecnológica es adecuada, pero que se sienten intimidados por la
complejidad de usar esa tecnología.
La complejidad y la capacidad de los dispositivos han impulsado un aumento en la capacidad de
las herramientas de diseño. Los conjuntos de herramientas FPGA modernos incluyen
compilación de síntesis de alto nivel de C, Cuda y OpenCL a lógica o microprocesadores
integrados [10] , [11] , [35] . Las bibliotecas de funciones lógicas y de procesamiento
proporcionadas por el proveedor cubren los costos de diseño. Los sistemas operativos e
hipervisores en funcionamiento controlan la operación de FPGA SoC. Las funciones de diseño
del equipo, incluido el control de construcción, están integradas en los sistemas de diseño
FPGA. Algunas capacidades son creadas por los propios proveedores, otras son parte del
creciente ecosistema FPGA.
Claramente, la usabilidad es crítica para la próxima era de los FPGA. ¿Se logrará esa usabilidad
a través de mejores herramientas, arquitecturas novedosas, explotación de la tecnología de
proceso o una mayor acumulación de bloques fijos? Lo más probable es que, como se requería
que cada edad anterior contribuyera a cada edad sucesiva, se necesitarán todas las técnicas para
tener éxito. Y más además. Al igual que con las otras Edades, la próxima Era de los FPGA solo
será completamente clara en retrospectiva. A lo largo de la era, espere ver una buena ingeniería
tradicional: producir los mejores productos posibles a partir de la tecnología disponible. Esta
buena ingeniería se logrará a medida que la tecnología disponible y la definición de "mejor"
cambien continuamente.
SECCION XIV.
EDAD FUTURA DE FPGAS
¿Qué hay del futuro? ¿Cuál es la edad después de esta? Me niego a especular, pero en su lugar
planteo un desafío: recuerde las palabras de Alan Kay: "La mejor manera de predecir el futuro
es inventarlo".