Dispositivos Lógicos Programables Complejos (CPLD) Un CPLD es un dispositivo lógico programable complejo (Complex Programmable Logic Device) Son circuitos programables construidos con base en arreglos de bloques lógicos (LABs) Cada LAB contiene un conjunto de Macro celdas Con cada macro celda se puede realizar una función lógica independiente Los LABs se conectan entre si a través de un arreglo de interconexiones programable Es posible realizar sistemas con mayor complejidad JJVS-09 1 Dispositivos Lógicos Programables Complejos (CPLD) Múltiples PLDs pueden ser combinados en un integrado usando estructuras de interconexión programables. Esos PLDs son llamados CPLDs. JJVS-09 ALTERA MAX 7000 2 CPLDs de Altera MAX 5000, MAX 7000, y MAX 9000 • El dispositivo puede ser considerado como un arreglo de SPLDs. • Existen en tecnología EPROM y EEPROM. • Se programan “en el circuito”. JJVS-09 3 CPLD MAX 7000 Cada LAB consiste de dos conjutos de 8 macroceldas. Cada macrocelda es como un complejo SPLD, que comprende un conjunto de términos de productos programables que alimentan una compuerta OR y un flip-flop (D,JK,T o SR). Todo el dispositivo se considera como un arreglo de SPLDs. JJVS-09 4 CPLD MAX 7000 Las entradas a la macrocelda son variables, las entradas de la OR puede recibir 5 términos de la macrocelda , además hasta de 15 de otras macroceldas. La salida OR puede ser configurable. JJVS-09 5 CPLDs de AMD (Advance Micro Devices) Existen diversas categorías Match 1-5. La M-1 utiliza PALs 22v16. La M-4 utiliza de 6 a 16 PALs (2K-5K comp). JJVS-09 6 Match 4 de AMD Existen 2 diferencias con un PAL:1.existe un colocador de productos entre la AND y las macroceldas. 2. Hay una matriz de conmutación entre las OR y las terminales de E/S. A diferencia de los PAL, las salidas OR son configurables a diferencia de los PAL. JJVS-09 7 CPLDs de Lattice Su primera generación de CPLDs, son las pLSI e ispLSI (programables en el circuito) de la serie 1000 (rango de 1200 a 4000 compuertas), retardo de 10ns. Serie 2000, rango de 600-2000 compuertas, la cual tiene más macroceldas por terminales de entrada/salida y menor velocidad de retardo que la serie 1000 (5.5ns). El estado del arte de en cuanto a velocidad. La serie 3000 representa los CPLDs más grandes con hasta 5000 compuertas y retardos de 10-15ns. Se compara a la Mach 4 de AMD. Ofrece otras características mejoradas, como el JTAG boundary scan. JJVS-09 8 Estructura general pLSI o ispLSI de Lattice JJVS-09 9 Cypress FLASH370 CPLDs Familia similares a las de AMD y Lattice. Se basa en tecnología FLASH y EEPROM, ofrece retardos de terminal a terminal de 8.5 a 15 ns. La Flash370, No se programan “en el circuito”. Proporcionan más entradas/salidas que sus competidores. Los dispositvo pequeños tienen 32 macroceldas (grandes:256) y 32 entradas/salidas (grandes:256). JJVS-09 10 Arquitectura del CPLD de Cypress FLASH370 JJVS-09 11 Xilinx XC7000 CPLD Tiene dos familias: XC7000 y XC9500. Series 7200 y 7300. Cuentan con capacidad de 600 a 1500 compuertas. Retardos de 25 ns. Cada CI consiste de una colección de bloques compuesto de 9 macroceldas. La serie 7200 incluye dos compuertas OR y cada una de ellas es entrada a una ALU de dos bits. La ALU genera cualquier función que se conecta a un flip-flop configurable. La serie 7300 es una versión mejorada de la 7200, ofreciendo mayor capacidad (3000 compuertas) y alta velocidad. XC9500 Hasta 6200 compuertas y retardos de 5 ns. JJVS-09 12 Altera CPLD FLASHlogic JJVS-09 13 Arreglos ICT PEEL Celda lógica JJVS-09 14 Aplicaciones de CPLDs Controladores de video Controladores LAN Controladores UART Control de memorias cache JJVS-09 15