El rango de dispositivos programables de campo disponibles en el mercado de hoy es ampliamente mayor que lo que era hace unos pocos años atrás. La sopa de letras resultante de acrónimos y coincidencia de aplicaciones apropiadas es suficiente para enviar a un diseñador corriendo en busca de su microcontrolador favorito.
Los Dispositivos Programables de Campo (FPD, por sus siglas en inglés) o Dispositivos Lógicos Programables (PLD) difieren de los microcontroladores estándar en que programar un FPD realmente cambia el hardware del dispositivo. Se puede indicar a un microcontrolador que ejecute un programa sistemáticamente, una instrucción por vez. La velocidad de ejecución está típicamente controlada por un reloj interno o externo, y el dispositivo lleva a cabo una instrucción por ciclo del reloj. Para aplicaciones normales de señal baja, este sistema está bien. Sin embargo, si la aplicación exige lectura I/O simultánea y/o procesamiento de señal de alta velocidad, el dispositivo necesita tener rutas de hardware dedicadas. Con un FPD, estas rutas de hardware pueden definirse y crearse por el usuario a través de una programación de interfaz. Estos dispositivos exigen memoria no volátil tal como flash o NVRAM para mantener sus configuraciones a pesar de la pérdida de potencia.
Dispositivo Lógico Programable Simple (SPLD; por sus siglas en inglés)
Para aplicaciones que solo exigen un número pequeño de I/O a ser manipulados de manera simultánea, un SPLD puede ser suficiente. Generalmente compuestos de solamente una docena o algo así de macrocélulas, estos dispositivos son típicamente los más pequeños, menos costosos y los menos sedientos de energía de los FPD. El popular ATF16xV8 familia de Atmel tiene piezas con 8 macrocélulas que consumen menos de 250mW en potencia pico, en paquetes tan pequeños de 4 x 6mm. La línea se disipa entre los SPLD y los lógico programables especializados como disposiciones lógicas programables (PLA o PAL) que generalmente se usan para llevar a cabo funciones similares.
Dispositivo Lógico Programable Complejo (CPLD; por sus siglas en inglés)
Cuando su aplicación definitivamente necesita de un dispositivo programable pero solo necesita uno entre 32 y 1000 o algo así de macrocélulas, su respuesta es un CPLD. Estos dispositivos generalmente incluyen una entrada más alta a un radio de puerta lógica, lo que los convierte en ideales para aplicaciones que requieren números grandes de I/O simultáneos, pero una cantidad relativamente baja de procesamiento de datos. Los CPLD son más densos que los SPLD y ofrecen capacidades aumentadas en paquetes pequeños. El Flash370 familia de Cypress tiene dispositivos que ofrecen entre 32 y 128 macrocélulas en un paquete de 14 x 14mm. Mientras que los SPLD tienden a funcionar a 5V, los CPLD se comportan como FPGA y generalmente requieren tensiones más bajas en corrientes más altas. Comúnmente, los CPLD extraerán hasta 50mA por línea de I/O desde un suministro de 1,8V o 3,3V.
Arreglo de Compuertas de Campo Programable (FPGA, por sus siglas en inglés)
Las FPGAson los titanes actuales del mundo de los FPD, ofrecen potencial cerebral para todo desde servidores con cuchillas hasta robots salvavidas. Esta categoría cubre una gama amplia de precios, capacidades y tamaños. La familia LatticeEC de Lattice Semiconductor ofrece soluciones de tecnología de 130nm con unas pocas miles de células en un paquete de 20 x 20mm por menos de $10 USD. En el otro extremo del espectro, la familia Stratix V de Altera usa tecnología de 28nm para crear dispositivos optimizados para aplicaciones de ancho de banda central e intensivas de datos. Esto varía en costos desde unos pocos cientos a varios miles de dólares y generalmente exige sistemas de administración de la energía muy precisos para entregar corriente alta, los rieles de tensión baja necesarios para la operación. Hay referencias de los diseños disponibles para guía sobre cómo enfocar el centro proveedor (0,9V hasta 68A) y los rieles de potencia I/O con secuencia apropiada para evitar daño a los dispositivos. La energía rigurosa y la administración termal requerida para operar con seguridad un FPGA de alto rendimiento puede ser intimidante, pero las capacidades de los dispositivos simplemente no pueden hacerse coincidir con ninguna otra cosa en el mercado actual.