Dispositivo lógico programable complejo


Un dispositivo lógico programable complejo ( CPLD ) es un dispositivo lógico programable con una complejidad entre PAL y FPGA , y características arquitectónicas de ambos. El bloque de construcción principal del CPLD es una macrocélula , que contiene lógica que implementa expresiones de forma normal disyuntiva y operaciones lógicas más especializadas.

La diferencia más notable entre un CPLD grande y un FPGA pequeño es la presencia de memoria no volátil en el chip en el CPLD, que permite que los CPLD se utilicen para funciones de " cargador de arranque ", antes de transferir el control a otros dispositivos que no tienen su propio almacenamiento permanente de programas. Un buen ejemplo es cuando se usa un CPLD para cargar datos de configuración para un FPGA desde una memoria no volátil. [1]

Los CPLD fueron un paso evolutivo desde dispositivos aún más pequeños que los precedieron, PLA (enviados por primera vez por Signetics ) y PAL . Estos, a su vez, fueron precedidos por productos lógicos estándar , que no ofrecían programabilidad y se usaban para construir funciones lógicas conectando físicamente varios chips lógicos estándar (o cientos de ellos) juntos (generalmente con cableado en una placa o placas de circuito impreso, pero a veces, especialmente para la creación de prototipos, utilizando cableado envolvente de alambre ).

La principal distinción entre las arquitecturas de dispositivos FPGA y CPLD es que las FPGA se basan internamente en tablas de búsqueda (LUT), mientras que las CPLD forman las funciones lógicas con mar de puertas (por ejemplo, suma de productos).


Un CPLD Altera MAX de la serie 7000 con 2500 puertas.
Die de un Altera EPM7032 EEPROM basados Complejo de dispositivos de lógica programable (CPLD). Tamaño de matriz 3446x2252 µm. Nodo tecnológico 1 µm.