La lógica programable se puede implementar en su widget en muchos espectros diferentes, desde la grabación de unas cuantas puertas o el uso de un MUX hasta el último FPGA con microcontrolador integrado y periféricos IO, por no mencionar el PrimeCell GPIO o otros ejemplos más específicos . ¿Para qué aplicaciones se utilizan los diversos niveles de complejidad de los dispositivos lógicos programables? Aunque la agrupación parece mezclarse cerca de los extremos de sus definiciones , creo que esta es una lista aceptable:
- PAL / PLA / GAL : Arreglo lógico programable; parecen estar listados como 'PLDs' incrustados en Digikey, cubriendo asíncrono 10/8 I / O ( ATF16V8C ) a 50MHz, 192 macrocell, (CY7C341B ), y son en su mayoría reprogramables.
- CPLD : dispositivo lógico programable complejo; Digikey los enumera como tales , disponible en 7.5ns 10 I / O ( ATF750C ) a 233 MHz, 428 I / O "CPLDs en FPGA Densidades" ( CY39100V484B ).
- FPGA : Arreglo de puerta programable en campo; disponible en 58 I / O ( XC2064 ) a 1023 I / O BGA beasts ( EP1S80F1508C7N ).
- FPGA con MCU duro : esto es cuando una MCU se presenta físicamente en el FPGA IC, no se emula.
cita de Wikipedia:
La diferencia entre los FPGA y los CPLD es que los FPGA se basan internamente en tablas de búsqueda (LUT), mientras que los CPLD forman las funciones lógicas con el mar de puertas (por ejemplo, la suma de productos). Los CPLD están diseñados para diseños más simples, mientras que los FPGA están diseñados para diseños más complejos. En general, los CPLD son una buena opción para aplicaciones de lógica combinacional amplia, mientras que los FPGA son más adecuados para máquinas de estados grandes (es decir, microprocesadores).
Esto no explica la diferencia entre el uso de a 233 MHz, 400 I / O CPLD y un FPGA comparable ; o entre un 192 PLD macrocell y un CPLD comparable . No puedo obtener pautas confiables para restringir las opciones de diseño. Tenga en cuenta que actualmente no tengo una aplicación específica en mente, pero a menudo me he preguntado "¿qué usaría para hacer eso?"
He recibido excelentes consejos fuera del sitio con respecto a requisitos específicos, pero creo que esta pregunta podría beneficiarse de algunos ejemplos. mostrando preferencia sobre una familia de PLDs cuando puede que otra parezca ser igual o más adecuada.