CPLD (Monografia)
CPLD (Monografia)
CPLD (Monografia)
Descripcin de la
Funcionalidad de los
CPLDs
Resumen
Con una arquitectura compleja pero de potencialidad enorme, los CPLDs tienen
una velocidad y flexibilidad enormes, gracias a la matriz de conmutacin
programable, es posible darle uso desde simples compuertas hasta memorias y
circuitos complejos.
Por supuesto, toda tecnologa no est exenta de aspectos negativos como en este
caso lo es la rigidez debido a las pocas compuertas AND que posee, a diferencia
de los FPGAs que son ms flexibles en este aspecto.
3
ndice
Generalidades (04)
PLD
Historia (05)
CPLD
Concepto (10)
Macrocelda (12)
Bibliografa (19)
4
Generalidades
La presente monografa se hizo con la finalidad de describir, a grandes rasgos, la
lgica de funcionamiento de los CPLDs. Sobre la arquitectura de funcionamiento
de sus diferentes partes (E/S, Matriz de conmutacin, etc.).
Conceptos previos
PLD
Historia
A mediados de los aos setenta se produce una fuerte evolucin en los procesos
de fabricacin de los circuitos integrados, y junto a las tecnologas bipolares, surge
la MOS (metal oxide semiconductor), principalmente la NMOS, promoviendo el
desarrollo de circuitos digitales hasta la primera mitad de los aos ochenta.
En aquellas pocas, el esfuerzo de diseo se concentraba en los niveles elctricos
para establecer caractersticas e interconexiones entre los componentes bsicos a
nivel de transistor. El proceso de diseo era altamente manual y tan solo se
empleaban herramientas como el PSPICE para simular esquemas elctricos con
modelos previamente personalizados a las distintas tecnologas.
Los PLDs estn desplazando, cada vez ms, a la lgica discreta y a otros tipos
de circuitos ASIC debido a las mltiples ventajas que ofrecen. Algunas de estas
son:
Gran facilidad de diseo porque las herramientas disponibles para este fin
simplifican considerablemente el proceso de diseo, haciendo que la
implementacin al ms bajo nivel sea transparente para el usuario. El sistema de
desarrollo consiste en un software de diseo y un programador, donde el software,
es en esencia, un ensamblador que transforma el diseo de alto nivel que hace el
usuario (ecuaciones booleanas, tablas de la verdad, diagramas de estado y
esquemticos) a bajo nivel o nivel de programacin del dispositivo. Adems los
software que existen en el mercado disponen de simulador, lo que permite hacer
depuraciones del diseo antes de programar el componente.
Algunos aspectos negativos a sealar en estos circuitos vienen dado en que las
tcnicas de los circuitos impresos cambian considerablemente, la seleccin del
encapsulado no es trivial, las conexiones entre terminales son muy pequeas y
surge la necesidad de utilizar una circuitera adicional para el control de la calidad.
Tipos de PLDs
Todos los PLD estn formados por matrices programables. Esencialmente, una
matriz programable es una red de conductores distribuidos en filas y columnas con
un fusible en cada punto de interseccin. Las matrices pueden ser fijas o
programables.
Matriz OR. Est formada por una serie de puertas OR conectadas a una
matriz programable con fusibles en cada punto de interseccin de una
columna y una fila. La matriz se programa fundiendo los fusibles para
eliminar las variables seleccionadas de las funciones de salida para un caso
especfico. Para cada una de las entradas de una puerta OR slo queda
intacto un fusible que conecta la variable deseada en la entrada de la
puerta. Una vez que el fusible esta fundido, no se puede volver a conectar.
Matriz AND. Este tipo de matriz est formado por puertas AND conectadas
a una matriz programable con fusibles en cada punto de interseccin. al
igual que la matriz OR la matriz AND se programa fundiendo los fusibles
para eliminar las variables de la funcin salida. Para cada entrada de una
puerta AND slo queda intacto un fusible que conecta la variable deseada a
la entrada de la puerta. Como para la matriz OR la matriz AND con fusibles
se puede programar una nica vez.
Cada terminal de E/S externa puede ser empleada como una entrada, una salida o
una terminal bidireccional de acuerdo a la programacin del dispositivo.
Arquitectura de un CPLD ALTERA MAX 7000
Arquitectura de los CPLDs (XC9500 Xilinx)
Matriz de conmutacin.
En la figura.
Borrable elctricamente
o Borrado y programado del CPLD se hace con una corriente
elctrica
o el CPLD puede ser programado/borrado en el PCB, no es necesario
encapsulado especial o zcalo
o tiempo de borrado es mucho menor que el borrado UV
o no-voltil
o programacin/borrado es limitada a unos 1000s ciclos
o Programacin/borrado se lleva a cabo mediante la
Programacin/borrado se lleva a cabo mediante la coneccin del
CPLD a una computadora (una PC Cualquiera con un software del
fabricante del CPLD). C l CPLD it d d l Como el CPLD no necesita
ser sacado del sistema/plaqueta en que esta soldado, esto es
conocido como In como In-System-Programmable (ISP)
Programmable (ISP).
Tanto los CPLDs como las FPGAs contienen un gran nmero de elementos
lgicos programables. Si medimos la densidad de los elementos lgicos
programables en puertas lgicas equivalentes (nmero de puertas NAND
equivalentes que podramos programar en un dispositivo) podramos decir que en
un CPLD hallaramos del orden de decenas de miles de puertas lgicas
equivalentes y en una FPGA del orden de cientos de miles hasta millones de
ellas.
Aparte de las diferencias en densidad entre ambos tipos de dispositivos, la
diferencia fundamental entre las FPGAs y los CPLDs es su arquitectura. La
arquitectura de los CPLDs es ms rgida y consiste en una o ms sumas de
productos programables cuyos resultados van a parar a un nmero reducido
de biestables sncronos (tambin denominados flip-flops). La arquitectura de las
FPGAs, por otro lado, se basa en un gran nmero de pequeos bloques utilizados
para reproducir sencillas operaciones lgicas, que cuentan a su vez con biestables
sncronos. La enorme libertad disponible en la interconexin de dichos bloques
confiere a las FPGAs una gran flexibilidad.
Aplicaciones de CPLDs
Controladores de video
Controladores LAN
Controladores UART
Control de memorias cache
Mquinas de Estado
Lgica de Control
Glue Logic para lgica de retardo minimo (Timing Critical Functions)
minimo (Timing Critical Functions)
Handshaking de seales
Decodificacin de buses amplios
Buffer de seales
Lgica de Interrupcin Lgica de Interrupcin
Lgica de Control de Power-up
BIBLIOGRAFIA