

Un dispositivo lógico programable complejo ( CPLD ) es un dispositivo lógico programable con una complejidad intermedia entre la lógica de matriz programable (PAL) y las matrices de puertas programables en campo (FPGA), y características arquitectónicas de ambas. El bloque básico del CPLD es una macrocelda , que contiene lógica que implementa expresiones en forma normal disyuntiva y operaciones lógicas más especializadas.
Características
Algunas de las características de CPLD son comunes a las de PAL:
- Memoria de configuración no volátil. A diferencia de muchos FPGA, no se requiere una ROM de configuración externa , y el CPLD puede funcionar inmediatamente al arrancar el sistema.
- En muchos dispositivos CPLD antiguos, el enrutamiento obliga a que la mayoría de los bloques lógicos tengan señales de entrada y salida conectadas a pines externos, lo que reduce las posibilidades de almacenamiento de estado interno y de lógica en capas profundas. Esto no suele ser un problema para los CPLD de mayor tamaño ni para las familias de productos CPLD más recientes.
Otras características son comunes a los FPGA:
- Gran cantidad de compuertas disponibles. Los CPLD suelen tener el equivalente a miles o decenas de miles de compuertas lógicas , lo que permite la implementación de dispositivos de procesamiento de datos de complejidad moderada. Los PAL suelen tener como máximo unos pocos cientos de compuertas equivalentes, mientras que los FPGA suelen tener entre decenas de miles y varios millones.
- Se incluyen algunas disposiciones para una lógica más flexible que las expresiones de suma de productos , incluidas rutas de retroalimentación complejas entre macroceldas y lógica especializada para implementar varias funciones de uso común, como la aritmética de enteros .
La diferencia más notable entre un CPLD grande y una FPGA pequeña es la presencia de memoria no volátil integrada en el CPLD, lo que permite utilizar los CPLD para funciones de " cargador de arranque " antes de ceder el control a otros dispositivos que no disponen de almacenamiento de programa permanente. Un buen ejemplo es cuando se utiliza un CPLD para cargar datos de configuración de una FPGA desde la memoria no volátil. [ 1 ]
Distinciones
Los CPLD supusieron un paso evolutivo respecto a dispositivos aún más pequeños que los precedieron: las matrices lógicas programables (PLA) (lanzadas inicialmente por Signetics ) y las PAL. Estas, a su vez, fueron precedidas por productos lógicos estándar , que no ofrecían programabilidad y se utilizaban para construir funciones lógicas mediante el cableado físico de varios chips lógicos estándar (o cientos de ellos) (normalmente con cableado en una o varias placas de circuito impreso, pero a veces, sobre todo para la creación de prototipos, utilizando cableado mediante envoltura de alambre ).
La principal diferencia entre las arquitecturas de dispositivos FPGA y CPLD radica en que los CPLD se basan internamente en una colección de PLD acompañadas de una estructura de interconexión programable, mientras que las FPGA utilizan bloques lógicos .
Véase también
- Idioma:
- Fabricantes:
- Altera
- Cypress Semiconductores
- Semiconductor reticular
- Tecnología de microchips (absorbida por Atmel )
- Xilinx (ahora AMD)
- Tecnología:
- Circuito integrado de aplicación específica (ASIC)
- Dispositivo lógico programable borrable (EPLD)
- Dispositivo lógico programable simple (SPLD)
- Matriz de macrocélulas
- Lógica de matriz programable (PAL)
- Matriz lógica programable (PLA)
- Dispositivo lógico programable (PLD)
- Lógica de matriz genérica (GAL)
- Lógica programable borrable eléctricamente (PEEL)
- Matriz de puertas programables en campo (FPGA)
Referencias
- ↑ "Dispositivo lógico programable complejo" . blogspot.com. Mayo de 2008. Consultado el 17 de noviembre de 2013 .
- matrices de puertas
- aceleración de hardware