Edades de Los FPGA

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 23

Tres edades de los FPGA: una retrospectiva sobre los primeros treinta años de la

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.

Xilinx FPGA atributos relativos a 1988. La capacidad es el recuento de células lógicas. La


velocidad es el rendimiento de la misma función en un tejido programable. El precio es por
celda lógica. El poder es por celda lógica. El precio y el poder aumentan en 10 000 ×. Datos:
datos publicados por Xilinx.
Desde su introducción, los dispositivos FPGA han progresado a través de varias fases distintas
de desarrollo. Cada fase fue impulsada tanto por la oportunidad de la tecnología de proceso
como por la demanda de la aplicación. Estas presiones de conducción causaron cambios
observables en las características y herramientas del dispositivo. En este artículo, reviso tres
fases que llamo las "Edades" de los FPGA. Cada edad tiene ocho años y cada una se hizo
evidente solo en retrospectiva. Las tres edades son:

1. Age of Invention 1984–1991;

2. Age of Expansion 1992–1999;

3. Edad de acumulación 2000–2007.

SECCION II.

PREÁMBULO: ¿CUÁL FUE LA GRAN COSA DE LOS FPGA?

A. FPGA contra ASIC

En la década de 1980, las compañías de Circuito Integrado de Aplicación Específica (ASIC)


trajeron un producto sorprendente al mercado de la electrónica: el circuito integrado
personalizado hecho a la medida. A mediados de la década de 1980, docenas de compañías
vendían ASIC, y en la feroz competencia, los atributos ganadores fueron bajo costo, alta
capacidad y alta velocidad. Cuando aparecieron los FPGA, se compararon mal en todas estas
medidas, pero prosperaron. ¿Por qué?

La funcionalidad ASIC se determinó mediante herramientas de máscara personalizadas. Los


clientes de ASIC pagaron esas máscaras con un cargo inicial de ingeniería no recurrente
(NRE). Debido a que no tenían herramientas personalizadas, los FPGA redujeron el costo inicial
y el riesgo de construir una lógica digital personalizada. Al hacer un dispositivo de silicio
personalizado que podría ser utilizado por cientos o miles de clientes, el proveedor de FPGA
efectivamente amortizó los costos de NRE sobre todos los clientes, lo que resultó en ningún
cargo de NRE para ningún cliente, al tiempo que aumenta el costo del chip por unidad para
todos.

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.

Esta idea, de que la Ley de Moore [33] eventualmente impulsaría la capacidad de FPGA para


cubrir los requisitos de ASIC, fue una visión temprana fundamental en el negocio de la lógica
programable. Hoy en día, el costo del dispositivo es menos importante en la decisión de FPGA
frente a ASIC que el rendimiento, el tiempo de comercialización, el consumo de energía, la
capacidad de E / S y otras capacidades. Muchos clientes de ASIC usan tecnología de proceso
más antigua, reduciendo su costo NRE, pero reduciendo la ventaja de costo por chip.

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.

B. FPGA contra PAL


La lógica programable estaba bien establecida antes de la FPGA. La lógica de matriz
programable programada por EPROM (PAL) había forjado un nicho de mercado a principios de
los años ochenta. Sin embargo, los FPGA tenían una ventaja arquitectónica. Para comprender la
ventaja de FPGA, primero observamos las estructuras lógicas programables simples de estos
dispositivos de principios de la década de 1980. Un dispositivo PAL, como se muestra en la Fig.
3 , consiste en una estructura lógica de dos niveles [6] , [38]. Las entradas se muestran entrando
en la parte inferior. En el lado izquierdo, un programable y una matriz generan términos de
producto y cualquier combinación de las entradas y sus inversas. Una puerta fija o en el bloque
de la derecha completa la función lógica combinatoria de los términos del producto de la
macrocelda. Cada salida de macrocelda es una salida del chip. Un registro opcional en la
macrocelda y la retroalimentación a la entrada de la matriz y permiten una implementación de
máquina de estado muy flexible.

Fig. 3.
Arquitectura genérica PAL.

Ver todo

No todas las funciones podrían implementarse en un solo paso a través de la matriz de


macroceldas de PAL, pero casi todas las funciones comunes podrían ser, y aquellas que no
podían realizarse en dos pasos a través de la matriz. El retraso a través de la matriz PAL es el
mismo independientemente de la función realizada o de dónde se encuentre en la matriz.  Los
PAL tenían un software de ajuste simple que asignaba la lógica rápidamente a ubicaciones
arbitrarias en la matriz sin problemas de rendimiento. El software de adaptación PAL estaba
disponible a través de proveedores independientes de EDA, lo que permite a los fabricantes de
IC agregar fácilmente PAL a su línea de productos.

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.

La innovación de FPGA fue la eliminación de la matriz que proporcionó la programabilidad. En


cambio, las celdas de memoria de configuración se distribuyeron alrededor de la matriz para
controlar la funcionalidad y el cableado. Este cambio renunció a la eficiencia de la estructura
PAL como matriz de memoria en favor de la escalabilidad arquitectónica. La arquitectura de la
FPGA, que se muestra en la Fig. 4 , consiste en una matriz de bloques lógicos programables e
interconectados con interruptores programables en campo. La capacidad y el rendimiento del
FPGA ya no estaban limitados por el crecimiento cuadrático y el diseño del cableado de la
matriz. No todas las funciones eran una salida del chip, por lo que la capacidad podría crecer
con la Ley de Moore. Las consecuencias fueron geniales.

 La arquitectura FPGA no se parece en nada a un recuerdo. El diseño y la fabricación


eran muy diferentes a la memoria.

 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.

 Se requería un software EDA complejo para ajustar un diseño en un FPGA.

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

Con la eliminación de la matriz y, los arquitectos FPGA tuvieron la libertad de construir


cualquier bloque lógico y cualquier patrón de interconexión. Los arquitectos de FPGA podrían
definir modelos de implementación lógica completamente nuevos, no basados en transistores o
compuertas, sino en unidades de funciones personalizadas. Los modelos de retardo no necesitan
basarse en cables metálicos, sino en nodos e interruptores. Esta libertad arquitectónica marcó el
comienzo de la primera era de los FPGA, la era de la invención.

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 dispositivos antifusivos prometieron la eliminación del segundo dado y la eliminación de la


penalización de área del almacenamiento de la celda de memoria, pero a expensas de la
capacidad de programación única. El antifusible temprano fue una estructura de transistor
único; El interruptor de la celda de memoria tenía seis transistores. El ahorro de área de los
antifusibles sobre las celdas de memoria era inevitable. Actel inventó el antifusible y lo lanzó al
mercado [17] , y en 1990 la FPGA de mayor capacidad fue el Actel 1280. Quicklogic y
Crosspoint siguieron a Actel y también desarrollaron dispositivos basados en las ventajas de la
tecnología de proceso antifusible.

En la década de 1980, las arquitecturas basadas en LUT de cuatro entradas de Xilinx se


consideraban "de grano grueso". Las funciones de cuatro entradas se observaron como un
"punto óptimo" en los diseños lógicos, pero el análisis de las listas de redes mostró que muchas
configuraciones de LUT no se utilizaban. Además, muchas LUT tenían entradas no utilizadas,
desperdiciando un área preciosa. Buscando mejorar la eficiencia, los arquitectos de FPGA
buscaron eliminar el desperdicio en el bloque lógico. Varias compañías implementaron
arquitecturas más finas que contienen funciones fijas para eliminar el desperdicio de células
lógicas. Algotronix CAL utilizó una implementación de función MUX fija para una LUT de dos
entradas [24]. Simultáneamente (luego Atmel) y su licenciatario, IBM, utilizaron una variante
de celda pequeña que incluía puertas nand y xor de dos entradas y un registro en los dispositivos
CL. Pilkington basó su arquitectura en una única puerta nand como el bloque
lógico [23] , [34] . Autorizaron a Plessey (familia ERA), Toshiba (familia TC) y Motorola
(familia MPA) para usar su dispositivo SRAM, basado en células nand. El extremo de la
arquitectura de grano fino fue el FPGA Crosspoint CLi, en el que los transistores individuales se
conectaban entre sí con conexiones programables antifusibles [31] .

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] .

Arquitecturas radicalmente diferentes impidieron las herramientas de diseño FPGA universales,


como estaban disponibles en el negocio ASIC. Los proveedores de FPGA asumieron la carga
adicional del desarrollo de EDA para sus dispositivos. Esto fue finalmente reconocido como una
ventaja, ya que los vendedores de FPGA experimentaron y mejoraron sus arquitecturas. Los
proveedores de PAL de la década anterior se habían basado en proveedores externos de
herramientas para proporcionar software para mapear diseños en sus PAL. Como resultado, los
proveedores de PAL se restringieron a aquellas arquitecturas que los proveedores de
herramientas admitían, lo que llevó a la mercantilización, bajos márgenes y falta de
innovación. La arquitectura PLD fue sofocada mientras que la arquitectura FPGA floreció.

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.

A. El área se volvió menos preciosa


Nadie que se unió a la industria de FPGA a mediados de la década de 1990 estaría de acuerdo
en que el costo no era importante o que el área no era preciosa. Sin embargo, aquellos que
habían experimentado las agonías del desarrollo de productos en la década de 1980 ciertamente
vieron la diferencia. En la década de 1980, la eficiencia del transistor era necesaria para entregar
cualquier producto. En la década de 1990, era simplemente una cuestión de definición del
producto. El área seguía siendo importante, pero ahora se podía cambiar por rendimiento,
características y facilidad de uso. Los dispositivos resultantes fueron menos eficientes en
silicio. Esto era impensable en la Era de la Invención solo unos años antes.

B. La automatización del diseño se volvió esencial


En la Era de la Expansión, la capacidad del dispositivo FPGA aumentó rápidamente a medida
que disminuyeron los costos. Las aplicaciones FPGA se volvieron demasiado grandes para el
diseño manual. En 1992, el buque insignia Xilinx XC4010 entregó un máximo (reclamado) de
10 000 puertas. En 1999, el Virtex XCV1000 tenía una calificación de un millón. A principios
de la década de 1990, al comienzo de la Era de la Expansión, se prefería la colocación y el
enrutamiento automáticos, pero no era del todo confiable. A finales de la década de 1990, la
síntesis automatizada [9] , la colocación y el enrutamiento [3] , [4] , [19] , [32] , [37] eran pasos
necesarios en el proceso de diseño. Sin la automatización, el esfuerzo de diseño sería
simplemente demasiado grande. La vida de una empresa FPGA ahora dependía de la capacidad
de las herramientas de automatización de diseño para apuntar al dispositivo. Esas compañías de
FPGA que controlaban su software controlaban su futuro.
El metal más barato de la escala del proceso condujo a un cable de interconexión más
programable, de modo que las herramientas de colocación automatizadas podrían tener éxito
con una colocación menos precisa. Las herramientas de diseño automatizadas requerían
arquitecturas amigables con la automatización, arquitecturas con recursos de interconexión
regulares y abundantes para simplificar la toma de decisiones algorítmicas. El cable más barato
también admitió una segmentación de cable más larga, cables de interconexión que abarcaban
múltiples bloques lógicos [2] , [28] , [44] . Los cables que abarcan muchos bloques
efectivamente hacen que la lógica físicamente distante sea lógicamente más cercana, mejorando
el rendimiento. El gráfico en la Fig. 7muestra grandes ganancias de rendimiento de una
combinación de tecnología de proceso y alcance de interconexión. La escala del proceso solo
habría bajado la curva, pero conservaría la forma; segmentación más larga aplanó la curva. La
ubicación simplificada de la interconexión segmentada más larga porque con una interconexión
más larga, no era tan esencial colocar dos bloques exactamente en la alineación correcta
necesaria para conectarlos con una ruta de alto rendimiento. El placer puede hacer un trabajo
más descuidado y aun así lograr buenos resultados.
Fig.7.
Escalado de rendimiento con segmentación de mayor longitud de cable.

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.

Muchas arquitecturas de la era de la invención, construidas para la eficiencia con bloques


lógicos irregulares y una interconexión dispersa, eran difíciles de colocar y enrutar
automáticamente. Durante la Era de la Invención, esto no fue un problema grave porque los
dispositivos eran lo suficientemente pequeños como para que el diseño manual fuera
práctico. Pero la eficiencia de área excesiva fue fatal para muchos dispositivos y empresas en la
Era de la Expansión. Las arquitecturas de grano fino basadas en minimizar el desperdicio lógico
(como el bloque de compuerta y puerta de pilkington, el bloque 2LUT basado en Mux
Algotronix / Xilinx 6200, el bloque de transistores Crosspoint) simplemente murieron. Las
arquitecturas que lograron su eficiencia al matar de hambre la interconexión también
murieron. Estos incluyeron todas las arquitecturas basadas en la red del vecino más
cercano. The Age of Expansion también condenó a dispositivos multiplexados en el
tiempo [14] , [39], ya que se podría tener una expansión de capacidad equivalente sin la
consiguiente complejidad y pérdida de rendimiento simplemente esperando la próxima
generación de procesos. Los sobrevivientes en el negocio de FPGA fueron aquellos que
aprovecharon el avance de la tecnología de procesos para permitir la automatización. Altera fue
la primera en llevar las conexiones de larga distancia de sus CPLD a la arquitectura Altera
FLEX. FLEX era más automatizable que otros FPGA del período que estaban dominados por
cables cortos. Logró un éxito rápido. A mediados de la década de 1990, AT & T / Lucent lanzó
ORCA [26] y Xilinx amplió su interconexión XC4000 en número y longitud a medida que
construía dispositivos más grandes. La Era de la Expansión se estableció firmemente.

C. Surgimiento de SRAM como tecnología de elección


Un aspecto del rápido progreso de la Ley de Moore fue la necesidad de estar a la vanguardia de
la tecnología de procesos. La forma más fácil de duplicar la capacidad y reducir a la mitad el
costo de la lógica era apuntar al siguiente nodo de tecnología de proceso. Esto presionó a los
proveedores de FPGA a adoptar tecnología de proceso de vanguardia. Las empresas de FPGA
que utilizan tecnologías que no podrían implementarse fácilmente en un nuevo proceso estaban
en desventaja estructural. Este fue el caso con tecnologías programables no volátiles como
EPROM, Flash y antifusible. Cuando una nueva tecnología de proceso está disponible, los
primeros componentes que están disponibles son transistores y cables, los componentes
esenciales de la electrónica. Un dispositivo basado en memoria estática podría usar un proceso
nuevo y más denso de inmediato. Los dispositivos antifusibles se promocionaron con precisión
como más eficientes en un nodo tecnológico particular, pero llevó meses o años calificar el
antifusible en el nuevo nodo. Para cuando se probó el antifusible, los FPGA SRAM ya estaban
comenzando a entregarse en el siguiente nodo. Las tecnologías antifusibles no podían seguir el
ritmo de la tecnología, por lo que necesitaban ser dos veces más eficientes que la SRAM solo
para mantener la paridad del producto.

Los dispositivos antifusibles sufrieron una segunda desventaja: la falta de reprogramabilidad. A


medida que los clientes se acostumbraron a los FPGA SRAM "volátiles", comenzaron a apreciar
las ventajas de la programabilidad en el sistema y la actualización de hardware en el campo.  Por
el contrario, un dispositivo programable de una sola vez tenía que manejarse físicamente para
actualizarse o corregir errores de diseño. La alternativa para los dispositivos antifusibles fue una
extensa fase de verificación de tipo ASIC, que socava el valor de la FPGA.

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.

D. Aparición de LUT como celda lógica de elección


Los LUT sobrevivieron y dominaron a pesar de su ineficiencia documentada en la Era de la
Expansión por varias razones. Primero, las arquitecturas basadas en LUT eran objetivos fáciles
para las herramientas de síntesis. Esta declaración habría sido disputada a mediados de la
década de 1990, cuando los proveedores de síntesis se quejaron de que los FPGA no eran
"amigables con la síntesis". Esta percepción surgió porque las herramientas de síntesis se
desarrollaron inicialmente para apuntar a los ASIC. Sus mapeadores de tecnología esperaban
una pequeña biblioteca en la que cada celda se describía como una red de nands con
inversores. Como una LUT implementa cualquiera de los 2 2nortecombinaciones de sus
entradas, una biblioteca completa habría sido enorme. Los mapeadores de tecnología ASIC
hicieron un mal trabajo en los FPGA basados en LUT. Pero a mediados de la década de 1990,
los mapeadores de LUT específicos explotaron la simplicidad de mapear funciones arbitrarias
en LUT [9] .
El LUT tiene eficiencias ocultas. Una LUT es una memoria, y las memorias se distribuyen
eficientemente en silicio. La LUT también guarda la interconexión. La interconexión
programable FPGA es costosa en área y demora. En lugar de un simple cable de metal como en
un ASIC, la interconexión FPGA contiene memorias intermedias, multiplexores de
enrutamiento y las celdas de memoria para controlarlos. Por lo tanto, mucho más del costo de la
lógica está realmente en la interconexión [15]. Dado que una LUT implementa cualquier
función de sus entradas, las herramientas de automatización solo necesitan enrutar las señales
deseadas juntas en una LUT para retirar la función de esas entradas. No era necesario realizar
múltiples niveles de LUT solo para crear la función deseada de un pequeño conjunto de
entradas. Los pines de entrada LUT son intercambiables arbitrariamente, por lo que el enrutador
no necesita apuntar a un pin específico. Como resultado, la lógica basada en LUT redujo la
cantidad de interconexión requerida para implementar una función. Con una buena síntesis, el
desperdicio de la funcionalidad LUT no utilizada fue menor que el ahorro del requisito reducido
de interconexión.

La programación de celdas de memoria distribuida permitió la libertad arquitectónica y dio a los


proveedores de FPGA acceso casi universal a la tecnología de procesos. Los LUT para la
implementación lógica aliviaron la carga de la interconexión. Las arquitecturas basadas en LUT
derivadas de Xilinx aparecieron en las segundas fuentes de Xilinx: Monolithic Memories, AMD
y AT&T. En la Era de la Expansión, otras compañías, especialmente Altera y AT&T / Lucent,
también adoptaron arquitecturas de celdas de memoria y LUT.

SECCION VII.
INTERLUDIO: CAPACIDAD FPGA BELL CURVE

La curva de campana en la figura 8representa el histograma de distribución de tamaños de


aplicaciones ASIC. La capacidad de FPGA en algún momento es un punto en el eje X, que se
muestra mediante una barra vertical. Todas las aplicaciones a la izquierda de la barra son
aquellas que pueden ser atendidas por FPGA, por lo que el mercado direccionable para FPGA
es el área sombreada debajo de la curva a la izquierda de la barra. Durante la Era de la
Expansión, la capacidad de FPGA aumentó al ritmo de la Ley de Moore, por lo que la barra se
movió hacia la derecha. Por supuesto, toda la curva de campana de las aplicaciones también se
movió hacia la derecha, pero la tasa de crecimiento en el tamaño de la aplicación fue más lenta
que el crecimiento de la capacidad de FPGA. Como resultado, la barra que representa los FPGA
se movió rápidamente hacia la derecha en relación con la distribución de los diseños.  Dado que
los FPGA abordaban el extremo inferior de la curva, incluso un pequeño aumento en la
capacidad disponible admitía una gran cantidad de nuevas aplicaciones.

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 través de la Era de la Expansión, la Ley de Moore aumentó rápidamente la capacidad de los


FPGA, lo que llevó a una demanda de automatización del diseño y permitió una mayor
segmentación de la interconexión. Las arquitecturas demasiado eficientes que no podían
automatizarse efectivamente simplemente desaparecieron. Los dispositivos SRAM fueron los
primeros en explotar la nueva tecnología de procesos y dominaron el negocio. Los FPGA
invadieron el territorio ASIC a medida que la capacidad del dispositivo FPGA creció más
rápidamente que la demanda de las aplicaciones. Los usuarios ya no clamaban por el software
de partición multi-FPGA: los diseños encajan, a veces perfectamente, en los FPGA disponibles.

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

A fines de la década de 1990, la Era de la Expansión se entendía bien en el negocio de


FPGA. Los proveedores de FPGA buscaban agresivamente la tecnología de procesos como la
solución a sus problemas de tamaño, rendimiento y capacidad. Cada nueva generación de
procesos trajo consigo numerosas aplicaciones nuevas. La diapositiva de la Fig. 10 está extraída
de una presentación de marketing de Xilinx del año 2000. El Virtex 1000, el FPGA más grande
disponible en ese momento, se representa como el pequeño rectángulo negro en la esquina
inferior izquierda. La diapositiva muestra la expectativa de que la Era de la Expansión
continuará sin cesar, aumentando el número de puertas a 50 millones en los próximos cinco
años. Esto no sucedió, a pesar del progreso inquebrantable de la Ley de Moore. En la siguiente
sección examinamos lo que realmente sucedió y por qué.

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] .

El resultado fue la "Plataforma FPGA", capturada por la diapositiva de Xilinx Marketing de


2005 en la Fig. 12 . Compare esto con la figura 10 . Ya no era el mensaje los millones de
puertas, sino los bloques dedicados predefinidos de alto rendimiento. Incluso el término
"puerta" había desaparecido del tobogán. Este FPGA no era simplemente una colección de
LUT, flip-flops, E / S y enrutamiento programable. Incluía multiplicadores, bloques de RAM,
múltiples microprocesadores Power-PC, administración de reloj, transceptores síncronos de
fuente de velocidad de gigahercios y cifrado de flujo de bits para proteger la IP del diseño. Las
herramientas FPGA crecieron para apuntar a esta creciente variedad de objetivos de
implementación.

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.

Ahora estamos en la próxima era de los FPGA. ¿Qué es esta próxima edad?

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.

Las presiones continuaron aumentando en los desarrolladores de FPGA. La desaceleración


económica que comenzó en 2008 continuó impulsando el deseo de un menor costo. Esta presión
se muestra no solo en la demanda de un precio más bajo para la funcionalidad, sino también en
un menor consumo de energía, lo que refleja el costo de usar los dispositivos [29] , [40] . La
tecnología de procesamiento de escalado posterior a Dennard no logró brindar los enormes
beneficios concurrentes en costo, capacidad, rendimiento, potencia y confiabilidad que la nueva
tecnología de proceso había brindado en las décadas anteriores. De particular preocupación fue
la demanda de compensaciones entre poder y rendimiento. ¿Ahora que?

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

Tabla 1 Lógica dedicada seleccionada en FPGA


Los ASIC no murieron. Los ASIC sobrevivieron y se expandieron al agregar capacidad de
programación en forma de dispositivos de sistema en chip (SoC) de producto estándar
específico de aplicación (ASSP). Un SoC combina una colección de bloques de funciones fijas
junto con un subsistema de microprocesador. Los bloques de funciones generalmente se eligen
para un dominio de aplicación específico, como el procesamiento de imágenes o la creación de
redes. El microprocesador controla el flujo de datos y permite la personalización a través de la
programación y las actualizaciones de campo. El SoC dio una estructura a la solución de
hardware, y programar los microprocesadores fue más fácil que diseñar
hardware. Aprovechando las ventajas de FPGA, los dispositivos ASSP programables sirvieron a
un mercado más amplio, amortizando sus costos de desarrollo de manera más amplia. Las
empresas que construyen los SoC ASSP se convirtieron en vendedores de semiconductores sin
fábrica por derecho propio,

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.

Desde el final de la escala de Dennard, la tecnología de proceso ha mejorado el rendimiento


para cumplir con los objetivos de potencia. Cada nodo de proceso también ha proporcionado
menos mejora de densidad. El crecimiento en el número de transistores en cada nuevo nodo se
desaceleró a medida que los procesos complejos se volvieron más caros. Algunas predicciones
afirman que el costo por transistor aumentará. La industria FPGA, al igual que la industria de
semiconductores en su conjunto, ha confiado en el escalado tecnológico para ofrecer productos
mejorados. Si las mejoras ya no provienen del escalado tecnológico, ¿de dónde provienen?

La mejora de la tecnología de proceso de ralentización mejora la viabilidad de los nuevos


circuitos y arquitectura FPGA: un regreso a la Era de la Invención. Pero no es tan simple como
regresar a 1990. Estos cambios deben incorporarse sin degradar la facilidad de uso de la
FPGA. Esta nueva era supone una carga mucho mayor para los ingenieros de aplicaciones y
circuitos FPGA.

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.

El esfuerzo de diseño y el riesgo están surgiendo como requisitos críticos en la lógica


programable. Los sistemas muy grandes son difíciles de diseñar correctamente y requieren
equipos de diseñadores. Los problemas de ensamblar sistemas complejos de procesamiento de
datos o computación llevan a los clientes a encontrar soluciones más fáciles. A medida que el
costo de diseño y el tiempo crecen, se convierten en un problema tan grande para los FPGA
como los costos de NRE de ASIC para los ASIC en la década de 1990 [16] . Esencialmente, los
grandes costos de diseño socavan la propuesta de valor de la FPGA.

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".

También podría gustarte