Vous êtes sur la page 1sur 20

1

Descripcin de la
Funcionalidad de los
CPLDs

Isaas Daniel Cabana H.

Universidad Nacional de San Agustn


2

Resumen

Los CPLDs constituyen hoy en da unos dispositivos enormemente importantes en


la actualidad, fruto de la evolucin de los PLDs que se crearon a finales de los
70s.

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)

Conceptos previos (05)

PLD

Historia (05)

Ventajas de los PLDs (06)

Desventajas de los PLDs (07)

Estructura bsica de un PLD (07)

Tipos de PLDs (07)

CPLD

Concepto (10)

Arquitectura de los CPLDs (12)

Macrocelda (12)

Bloque funcional (13)

Arquitectura de bloque de entrada/salida (14)

Matriz de conmutacin (16)

Programacin de los CPLDs (17)

Diferencia entre un CPLD y un FPGA (18)

Aplicaciones de los CPLDs (18)

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

Concepto: Un dispositivo lgico programable es un circuito integrado, formado por


una matriz de puertas lgicas y flip-flops, que proporcionan una solucin al diseo
de forma anloga, a las soluciones de suma de productos, productos de sumas y
multiplexores.

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.

A medida que pasaban los aos, los procesos tecnolgicos se hacan ms y ms


complejos. Los problemas de integracin iban en aumento y los diseos eran cada
vez ms difciles de depurar y de dar mantenimiento. Inicialmente los circuitos
integrados de MSI (Morrad Scale Integration) y LSI (Low Scale Integration) se
diseaban mediante la realizacin de prototipos basados en mdulos muy
sencillos. Cada uno de estos mdulos estaba formado por puertas lgicas ya
probadas, este mtodo poco a poco, iba quedndose obsoleto. En ese momento
(finales de los aos setenta) se constata el enorme desfase que existe entre
tecnologa y diseo.
Alrededor de 1981 el Departamento de Defensa de los Estados Unidos desarrolla
un proyecto llamado VHSIC (Very High Speed Integrated Circuit) su objetivo era
rentabilizar las inversiones en hardware haciendo ms sencillo su mantenimiento.
Se pretenda con ello resolver el problema de modificar el hardware diseado en
un proyecto para utilizarlo en otro, lo que no era posible hasta entonces porque no
exista una herramienta adecuada que armonizase y normalizase dicha tarea, era
el momento de los HDLs.

El desarrollo de la electrnica digital moderna a finales del siglo pasado y


principios de este trajo consigo que las tcnicas de miniaturizacin de los
elementos se fueran desarrollando cada vez ms obteniendo un alto nivel de
integracin en los elementos, trayendo consigo un gran nmero de ventajas , por
citar algunas tenemos:

No necesitan voltajes de alimentacin muy elevados, ni grandes consumos


de corriente por lo que las fuentes de alimentacin son pequeas y de poca
potencia
En la metodologa de diseo las dimensiones topolgicas de las estructuras
han disminuido, llevando todo esto a una reduccin de los costos

Debido a la reduccin de sus costos de diseos que llev consigo el constante


desarrollo del software y el hardware trajo aparejado el surgimiento despus de
varios aos de los dispositivos lgicos programables o PLDs dentro de ellos las
FPGAs (Field Programmable Gate Arrays).

Ventajas de los PLD

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:

Pueden reemplazar a varios componentes discretos, reduciendo con ello el


nmero de circuitos integrados a utilizar. Esto a su vez supone:
Reduccin de espacio.
Reduccin del nmero de conexiones.
Reduccin de la potencia de consumo.
Disminucin del coste.
Aumento de la fiabilidad.

La mayor parte de ellos ofrecen una gran flexibilidad al permitir reprogramar el


circuito lgico a la medida, pudiendo obtener diferentes configuraciones para un
mismo dispositivo.
Esta posibilidad que brindan algunos PLDs de ser reprogramados, permite que se
elimine el riesgo de errores a la hora de la grabacin. Se reducen los costos de
stock, al poder utilizar el mismo dispositivo para aplicaciones distintas, sin ms
que hacer programaciones distintas.

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.

Desventajas de los PLD

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.

Estructura bsica de una PLD

La estructura bsica de una PLD permite realizar cualquier tipo de circuito


combinacional basndose en una matriz formada por puertas AND, seguida de
una matriz de puertas OR. Tres son los tipos ms extendidos de PLDs, la PROM,
PLA, y la GAL.

Tipos de PLDs

PROM (Programmable Read Only Memory). Memoria programable de slo


lectura.
PLA (Programmable Logic Array). Matriz lgica programable.
PAL (Programmable Array Logic). Matriz lgica programable.
GAL (Generic Array Logic). Matriz lgica genrica.

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.

El trabajo con PLDs proporciona: facilidad de diseo, prestaciones, fiabilidad,


economa y seguridad.

Facilidad de diseo. Las herramientas de soporte al diseo con PLDs


facilitan enormemente este proceso. Estas nuevas herramientas permiten
expresar la lgica de los circuitos utilizando formas variadas de entrada
tales como; ecuaciones, tablas de verdad, procedimientos para mquinas
de estados, esquemas, etc. La simulacin digital posibilita la depuracin de
los diseos antes de la programacin de los dispositivos. Todo el equipo de
diseo se reduce a un software de bajo coste que corre en un PC, y a un
programador.
Prestaciones. Los PLDs TTL que hay en el mercado tienen tiempos de
conmutacin tan rpidos como los circuitos integrados de funcin fija ms
veloces. Los PLDs ECL son todava ms rpidos. Sin embargo, el
incremento de velocidad obtenido con los dispositivos CMOS, que ya han
igualado o superado en prestaciones a los dispositivos TTL, est
provocando el abandono de la tecnologa bipolar por parte de los
fabricantes. En cuanto al consumo de potencia, los PLDs generalmente
consumen menos que el conjunto de chips a los que reemplazan.
Fiabilidad. Cuanto ms complejo es un circuito, ms probabilidades hay de
que alguna de sus partes falle. Puesto que los PLDs reducen el nmero de
chips en los sistemas, la probabilidad de un fallo disminuye. Los circuitos
impresos con menor densidad de CI son ms fciles de construir y ms
fiables. Las fuentes de ruido tambin se reducen.
Economa. En este apartado, hay aspectos que resultan difciles de
cuantificar. Por ejemplo, los costes de prdida de mercado por una
introduccin tarda de un producto. Otros son ms claros, por ejemplo, la
reduccin del rea de las placas de circuito impreso obtenida gracias a que
cada PLD sustituye a varios circuitos integrados de funcin fija. Muchas
veces se consigue reducir el nmero de placas de circuito impreso
economizndose en conectores. La reduccin de artculos en almacn
tambin aporta ventajas econmicas.
Seguridad. Los PLDs tienen fusibles de seguridad que impiden la lectura de
los dispositivos programados, protegiendo los diseos frente a copias.
Adems de los puntos mencionados, podemos aadir que los PLDs facilitan
el ruteado de las placas de circulo impreso debido a la libertad de
asignacin de patillas que proporcionan. Permiten realizar modificaciones
posteriores del diseo y en ocasiones hacen posible la reutilizacin de
circuitos impresos con algunos fallos, mediante una reasignacin de los
PLDs.
CPLD

Es solo una coleccin de PLD individuales en un simple chip, en compaa de una


estructura de interconexin programable que permite que los PLD sean
conectados entre s en el chip de la misma manera que un diseador astuto puede
hacerlo con PLD discretos al exterior del chip.

En la familia CPLD XC9500 de Xilinx, cada PLD interno tiene 36 entradas y 18


macroceldas y salidas.

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)

Las terminales de la parte inferior pueden emplearse como:

Relojes globales (GCK, global clocks)


Establecimiento/Restablecimiento global (GSR, global set/reset)
Controles de tres estados globales (GTS, global three-state controls)

Cada FB (Bloque de funcin) recibe 36 seales desde la matriz de conmutacin.


Las entradas a la matriz de conmutacin son las 18 salidas de macrocelda de
cada uno de los FB y las entradas externas de las terminales E/S.

Cada FB tiene tambin 18 salidas que corren por debajo de la matriz de


conmutacin y se conecta a los bloques de E/S. stas son meramente seales de
habilitacin de salida para los excitadores de salda del bloque de E/S; son
utilizados cuando la salida de la macrocelda FB se conecta a una terminal E/S
externa.
Macrocelda.

Bloque funcional (XC9500)

El arreglo programable AND tiene solo 90 terminos de producto. La mayora de las


macroceldas CPLD tienen menos trminos AND por macrocelda, solo 5. Los
asignadores de trminos de producto permiten que trminos de producto sin utilizar
de una macrocelda sean empleados por otras macroceldas en el mismo Bloque
funcional.

Arquitectura de bloque de entrada/salida.


El IOB del XC9500 es un buen ejemplo de una importante tendencia en las
arquitecturas de E/S en CPLD y FPGA: proporcionar muchos controles
@analogicas@ adems de los @logicos@ como las habilitaciones de salida. Se
suministran tres diferentes controles analgicos:

o Control de velocidad de sesgo. Permite controlar la velocidad de


funcionamiento del CPLD, aunque a mayor velocidad menor
capacidad de controlar el ruido.
o Resistor de arranque. Esto con la finalidad e manejar las entrasa de
habilitacin de estado activo con otra lgica en que no se supone
estarina habilitadas de durante el encendido.
o Tierra programable por el usuario. Esta caracterstica, asigna una
terminal de E/S como una terminal de tierra, esto para manejar
corrientes dinmicas altas en aplicaciones de alta velocidad.

Matriz de conmutacin.

Con la tecnologa CI de alta densidad de nuestros das, el problema no es tanto el


tamao como la velocidad. Tener un gran nmero de transistores conectados a
cada rengln o columna provoca una alta capacitancia, l que provoca una baja
velocidad. Por lo tanto, los fabricantes de CPLD buscan maneras de reducir el
tamao de la matriz de conmutacin.

En la figura.

No todas las entradas de la matriz de conmutacin deben conectarse a cada


salida. Solo necesitamos que cada entrada pueda conectarse a alguna entrada de
cada FB, puesto que cualquier entrada FB puede conectarse compuerta AND
dentro del arreglo AND y FB.

De esta forma, el diseo de una matriz de conmutacin de CPLD es un


compromiso entre el desempeo del chip (velocidad, rea, costo) y las
capacidades del software de ajuste.
Programacin de los CPLDs (cont.)

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).

Diferencia entre CPLD y FPGA

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.

Otra diferencia importante entre FPGAs y CPLDs es que en la mayora de las


FPGAs se pueden encontrar funciones de alto nivel (como sumadores y
multiplicadores) embebidas en la propia matriz de interconexiones, as como
bloques de memoria.

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

Fundamentos de sistemas digitales,Thomas L.Floyd


Diseo digital, principios y prcticas John E. Wakerly 3ra edicin.
http://www.uhu.es/rafael.lopezahumada/Cursos_anteriores/fund97_98/plds.
pdf
http://www.utm.mx/~jvasquez/2_CPLD.pdf
http://www.ecured.cu/index.php/Dispositivos_l%C3%B3gicos_programables
http://dea.unsj.edu.ar/sisdig2/CPLDs.pdf
http://ecadigitaliiequipo7.wordpress.com/2010/03/08/dispositivos-logicos-
programables-pld/
http://es.wikipedia.org/wiki/CPLD

Vous aimerez peut-être aussi