Visión General de la Lógica Programable
La evolución de la lógica programable: PAL, PLA, GAL, CPLD y FPGA.
Antes de los FPGA, los ingenieros tenían opciones limitadas para lógica digital personalizada: diseñar un costoso ASIC o conectar circuitos integrados estándar en una protoboard. Los dispositivos lógicos programables (PLD) cerraron esta brecha, permitiendo a los usuarios configurar la lógica en campo. Desde los simples PAL hasta los complejos FPGA, cada generación ofreció más flexibilidad y capacidad.
Objectives
- Trazar la evolución desde PAL → PLA → GAL → CPLD → FPGA
- Explicar la estructura de matriz AND-OR de los PLD
- Comparar CPLD y FPGA en términos de arquitectura y casos de uso
- Comprender cuándo usar lógica programable frente a circuitos integrados discretos frente a ASIC
- Identificar los principales fabricantes y familias de productos
Key Takeaways
- PAL → PLA → GAL: matrices AND-OR programables tempranas para lógica simple
- CPLD: múltiples bloques PLD + enrutamiento, no volátil, temporización predecible
- FPGA: millones de bloques lógicos configurables, la opción más flexible
- ASIC: mayor rendimiento por vatio, solo económico en alto volumen
- Elegir según: complejidad, volumen, tiempo de salida al mercado, potencia, costo
Applications
- Lógica de enlace: Los CPLD reemplazan puñados de circuitos integrados 74HC para lógica a nivel de placa.
- Prototipado de ASIC: Los FPGA prototipan diseños de chips antes de la costosa fabricación.
- Producción de bajo volumen: Los FPGA son rentables cuando el volumen de producción está por debajo de 10K-100K unidades.
- Reemplazo de sistemas heredados: Los CPLD y FPGA reemplazan circuitos integrados personalizados descontinuados.
Practice Problems
Problem 1: Un diseño necesita 500 compuertas equivalentes con capacidad de encendido instantáneo. ¿CPLD o FPGA?
Problem 2: ¿Por qué el PLA es más flexible que el PAL?
Problem 3: Un diseño FPGA debe estar en producción a 1 millón de unidades. ¿Debería mantener el FPGA o pasar a ASIC?
Problem 4: ¿Qué significa "no volátil" para un CPLD frente a un FPGA?