Anda di halaman 1dari 25

ESCUELA PROFESIONAL DE

INGENIERIA ELECTRONICA

PRACTICA DE ELECTRONICA
DIGITAL

TEMA:
MONOGRAFIA DE UN CPLD

INTEGRANTES :
SANTANA SOLIS, LUIS
GONZALES VIZA, RICARDO ANGEL

TURNO:

MIERCOLES: DE 5-7PM

AREQUIPA PERU
2014

CPLD
Un CPLD (del acrnimo ingls Complex Programmable Logic Device) es un dispositivo electrnico.
Los CPLD extienden el concepto de un PLD (del acrnimo ingls Programmable Logic Device) a un mayor
nivel de integracin ya que permite implementar sistemas ms eficaces, ya que utilizan menor espacio,
mejoran la fiabilidad del diseo, y reducen costos. Un CPLD se forma con mltiples bloques lgicos, cada uno
similar a un PLD. Los bloques lgicos se comunican entre s utilizando una matriz programable de
interconexiones, lo cual hace ms eficiente el uso del silicio, conduciendo a una mejor eficiencia a menor
costo. A continuacin se explican brevemente las principales caractersticas de la arquitectura de un CPLD.
Arquitectura
Matriz de Interconexiones Programables

Procesador de un CPLD de la marca Altera.


La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a las entradas del
bloque lgico, o las salidas del bloque lgico a las entradas de otro bloque lgico o inclusive a las entradas del
mismo. La mayora de los CPLDsusan una de dos configuraciones para esta matriz: interconexin mediante
bloques o interconexin mediante multiplexores.
El primero se basa en una matriz de filas y columnas con una celda programable de conexin en cada
interseccin. Al igual que en las GAL esta celda puede ser activada para conectar/desconectar la
correspondiente fila y columna. Esta configuracin permite una total interconexin entre las entradas y salidas
del dispositivo o bloques lgicos. Sin embargo, estas ventajas provocan que disminuya el rendimiento del
dispositivo, adems de aumentar el consumo de energa y el tamao del componente.
Bloques Lgicos
Un bloque lgico es similar a un PLD, cada uno pose un bloque de compuertas AND y OR en forma de suma
de productos, una configuracin para la distribucin de estas sumas de productos, y macroceldas. El tamao
del bloque lgico es una medida de la capacidad del CPLD, ya que de esto depende el tamao de la funcin
booleana que pueda ser implementada dentro del bloque. Los bloques lgicos usualmente tienen de 4 a 20
macroceldas.

Macroceldas
Las macroceldas de un CPLD son similares a las de un PLD. Estas tambin estn provistas con registros,
control de polaridad, y buffers para salidas en altaimpedancia. Por lo general un CPLD tiene macroceldas de
entrada/salida, macroceldas de entrada y macroceldas internas u ocultas (buried macrocells), en tanto que
un 22V10 tiene solamente macroceldas de entrada/salida. Una macrocelda interna es similar a una
macrocelda de entrada/salida, slo que esta no puede ser conectada directamente a un pin de salida. La
salida de una macrocelda interna va directamente a la matriz de interconexin programable.
Celda de entrada/salida
La funcin de una celda de entrada/salida es permitir el paso de una seal hacia dentro o hacia el exterior del
dispositivo. Dependiendo del fabricante y de la arquitectura del CPLD estas celdas pueden o no ser
consideradas parte del bloque lgico.
CPLD MAX 7000
Su Arquitectura de un CPLD es la forma en que estn organizados y a la disposicin a los elementos internos
del dispositivo. Son similares al diagrama de bloque de un CPLD genrico, Teniendo la estructura clsica
PAL/GAL que nos permite generar las funciones suma de producto. Su densidad vara entre dos bloques LAB
y 16 bloques LAB, dependiendo del dispositivo concreto de la serie que se vaya a utilizar.1
Un bloque LAB es similar a un SPLD y que el tamao de los encapsulados varan entre 44 y 208 pines, cabe
mencionar que utilizan una tecnologa de proceso basada en EEPROM. Las versiones que se pueden
programar dentro del sistema para ello se utilizan la interfaz estndar JTAG.2

PLD complejas: CPLD


Estas estructuras extienden el concepto de de PLD a un nivel de integracin superior;
esto es, se dispone de mayor nmero de puertas y de entradas/salidas en un circuito
programable (con lo que se disminuye el tamao del diseo, el consumo y el precio). En
vez de hacer estos circuitos con mayor nmero de trminos producto por macrocelda, o
de mayor nmero de entradas/salidas, cada CPLD contiene bloques lgicos, cada uno de
ellos similar a una estructura PAL o GAL. Estos bloques lgicos se comunican entre s por
medio de interconexiones programables, con lo que se optimizan los recursos
incorporados en el chip.
Interconexiones programables
Las interconexiones programables, conducen las seales de los dispositivos de
entrada/salida (I/O) hacia los bloques lgicos. Cada uno de estos bloques tiene un
nmero predeterminado de entradas.
La mayora de Ias CPLDs utilizan una de las siguientes estrategias para la
implementacin de la interconexin programable:

Interconexin basada en estructura matricial.


Interconexin basada en multiplexores.
CPLD

Funcionamiento de un CPLD
Un CPLD (del acrnimo ingls Complex Programmable Logic Device) es un dispositivo electrnico que
extiende el concepto de un PLD (del acrnimo ingls Programmable Logic Device) a un mayor nivel de
integracin ya que permite implementar sistemas ms eficaces, porque utilizan menos espacio, mejoran la
fiabilidad del diseo, y reducen costos.
Un CPLD se forma con mltiples bloques lgicos, cada uno similar a un PLD. Los bloques lgicos se
comunican entre s utilizando una matriz programable de interconexiones, lo cual hace ms eficiente el uso
del silicio, conduciendo a una mejor eficiencia a menor costo.

CRITERIOS DE SELECCIN
Es importante tomar en cuenta la densidad de compuertas que se requiere, y para ello es
necesario determinar el nmero de macroceldas que debe poseer el dispositivo; tambin es importante
determinar el nmero de entradas y de salida, segn la ecuacin lgica obtenida. los retardos de
propagacin entre la seal de entrada y de salida se debe de tomar en cuenta cuando se esta
trabajando con altas velocidades de procesamiento. hay sistemas que trabajan con diferentes niveles de
tensin por lo que es importante conocerlos tomarlo en cuenta en el dispositivo CPLD. estos niveles de
tensi pueden oscilar entre 1.5 V a 5 V.
En la metodologa modernas de diseos digitales, para sistemas de relativa complejidad, en lugar
de utilizar descripciones del comportamiento del sistema en forma de tablas (tablas de la verdad, de
transicin de estado, etc) se utilizan lenguajes especficos, loslenguajes de descripcin de hardware o
HDL (Hardware Description Language), que pueden describir tanto el comportamiento como la
estructura de un sistema.
Diseo de un decodificador binario de 2 a 4.
Paso 1: Se realiza la descripcin del sistema, de forma que el entorno de desarrollo pueda
generar una representacin interna del mismo. se puede optar entre una descripcin estructural, con
ayuda de un editor grfica de captura de esquemas, o una descripcin del comportamiento con un
lenguaje HDL.

Fig. 14 Descripcin del decodificador: a) estructural; b) funcional.

Paso 2: Se realiza una compilacin funcional, con la que se verifican posibles errores en el
diseo (salidas cortocircuitadas, entradas flotantes...) y adems se genera una representacin interna del
sistema, con la que puede efectuarse una simulacin funcional del mismo. en esta fase la simulacin es
slo funcional y es independiente de la tecnologa de implementacin, que es la que depende de los
retardo que se produzcan.
Paso 3: En el software (compilador) se especifica la tecnologa de implementacin. Se proyecta el
diseo al tipo de celdas lgicas, celdas de entradas y salida, y recurss de conexin del CPLD
seleccionado. tras la compilacin se obtiene una representacin interna del sistema implementado y se
genera un fichero informativo donde se detalla el porcentaje de ocupacin del dispositivo, las
asignaciones de celdas y pines de entrada y salida, y otros..)
Paso 4: Se hace una simulacin y anlisis temporal. con la informacin detallada de las
caractersticas tcnicas de cada uno de sus componentes de la biblioteca de elementos se puede realizar
una nueva simulacin mas real y se puede establecer los tiempos de retardos.
Paso 5: Una vez compilado y simulado el circuito; se debe configurar fsicamente el CPLD, lo
que puede realizarse fsicamente con un programador de PLD o en el propio sistema (ISP). Es preferible
utilizar este ltimo para reducir los psibles daos mecnicos en los pines del dispositivo, por lo tanto
suelen configurarse los CPLD en la propia tarjeta del sistema final, con una programacin ISP (In-System
Programming), esta opcin se utiliza en circuitos borrables elctricamente EEPROM o configurables con
celdas SRAM. Comnmente se utiliza el protocolo JTAG (joint Test Action Group). que utiliza cuatro
lineas para transferir bit a bit entre el computador y la tarjeta del sistema la informacin de configuracin.

Fig. 15 Esquema de conexin utilizando el programador CPLD

Fig 16 Esquema de conexin utilizando un cable de descarga

Estructura de un CPLD
Los CPLD son dispositivo lgicos programables con una complejidad entre los dispositivos PLA y
FPGA. La caracterstica principal comun entre los CPLD y PAL, es la configuracin de memoria novolatil, y con respecto a los dispositivo FPGA, la caracterstica comn de ste ltimo es que posee
un desarrollo de compuertas de grande densidades, con la diferencia que los FPGA, tienen mayor
densidad que los CPLD. A modo general un CPLD es como si se tuviera varios PLD, tipo PAL, dentro
de un slo chip. el tamao mas grande los CPLD permite implementar ecuaciones lgicas o diseos
mas complicados. la programacin de estos dispositivos es generalmente en lenguajes de
descripcin de hardware , por ejemplo, VHDL o Verilog.
Matriz de Suma de Puntos
Se relacionan con un mayor nmero de interconexin de secciones de compuertas programables,
tales secciones pueden ser otros PLD, es decir el CPLD puede contener similares PLD de baja
densidad, "PAL", interconectados entre s, en un solo chip.

Figura # 1: Diagrama de Bloque


de un CPLD (por ALTERA)

Figura # 2: Diagrama de Bloque


de un CPLD (por XILINX)

La estructura principal son los bloques de matriz lgicos (LAB) o bloques de Funcin (Funtion Block),
que se comunican en un bus interno con la matriz de Interconexin Programable (PIA) o tambin
llamado Fast CONNECT Switch Matrix. Cada bloque es un grupo de 16 macroceldas; tienen
entradas y salidas similares a los PLD de baja densidad, con capacidad de programarse. El nmero
de pines de entrada y/o salida depender del dispositivo, para el caso de la figura 1, corresponde al
modelo MAX7000S, basados en celdas EEPROM, del fabricante ALTERA, de 6 a 16 pines de
entrada y salida, estas ltimas se encuentran en el bloque de control de entrada y salida, la cual
tambin posee conexin con el PIA, y en la figura 2, el bloque de salida y entrada I/O, poseen un
bufer para los dispositivos de entrada y salida.

Cada bloque de funcin, para el caso de XILINX modelo de ejemplo "XC9500", esta compuesto de
18 macroceldas independientes. Los bloques funcionales tambin reciben una seal (reloj) de
sincronismo global, una seal para habilitar la salida y una seal para habilitar el reset/set. El bloque
funcional genera 18 salidas que maneja el FAST CONNECT. estas 18 salidas y su correspondiente
seales de habilitacin son gobernadas por el bloque I/O. la lgica dentro de los bloques funcionales
es implementada utilizando la representacin de suma de producto .

Figura # 3: Bloque de Funcin

Las macroceldas pueden ser configuradas individualmente por una funcin de registro. 5 matriz de
compuertas AND, directos al "product terms "(termino de producto), son utilizados como entrada de
datos primario (para las compuertas OR y XOR) para implementar funciones combinacionales, o
como entradas de control incluyendo el reloj, seales set/reset, y seal de habilitacin de salida. Los
registros de las macroceldas pueden ser configurados como FLIP-FLOP tipo D o FLIP-FLOP tipo T. o
este puede ser omitido por una operacin combinacinoal. Cada registro soporta operaciones set y
reset asincronos. durante el encendido del dispositivo, todos los registro son inicializados al estado
predefinido por el usuario.

Figura # 4: Macrocelda con


Bloque de Funcin

Las seales de contro global son desarrolladas individualmente en cada macrocelda, incluyendo
seal de reloj, seal de set/reset, y la seales de habilitacin. la macrocelda registra seales de reloj
de cada uno de los tres relojes globales o del termino producto. La seal GSR, es una seal de
Reset/set, de entrada que permite que sea definido por el usuario.

Figura # 5: Reloj de Macrocelda

El termino producto, controla que la matriz de las 5 AND sean asignadas a cada macrocelda, un
ejemplo pudiera ser que todas las AND sean manejadas por una OR. El inconveniente de esto es
que se evidencia el retardo de un termino producto a otro como se observa en la siguiente figura.

Figura # 6: Lgica de
Macrocelda utilizando termino producto

Figura # 7: Lgica de un termino


producto

El FAST CONNECT Switch Matriz conecta las seales a la entrada del bloque de funcin; tanto las
salidas del bloque I/O como las salidas del bloque de funcin las manejas el Fast Connect Switch
Matrix, cualquiera de estas pueden ser seleccionadas, a travs de la programacin del usuario, para
poder manejar cada bloque con un retardo uniforme.

Figura # 8: Fast Connect Switch


Matrix

El Bloque I/O es la interfaz entre la lgica interna y los pines de entrada y salida del dispositivo
CPLD. Cada bloque de I/O incluye un bufer de entrada y un manejador de salida; un multiplexor que
selecciona la salida habilitada, y tambin incluye una seal de control de tierra para la programacin
del usuario. El bufer de entrada es compatible con tensin de 5 V CMOS, 5 V TTL, y seales de
voltaje de 3.3 V. El bufer de entrada usa internamente un suministro de potencia de 5 V ( Vccint),
para asegurarse que el umbral de entrada permanezca constante y no varie con el voltaje Vccio. la
seal de salida se habilita de la siguiente formas: una seal puede ser generada por el termino
producto de la macrocelda, cualquiera de las seales globales de OE, o por una seal de tercer
estado GTS.

Figura # 9: Bloque I/O


Cada salida tiene un control independiente de "Slew Rate" (Mxima variacin del voltaje de salida
con respecto al tiempo); este control permite reducir o controlar el ruido en el sistema, con slo
modificar el Tslew.

Figura # 10: Slew Rate


Estos CPLD poseen circuito con memoria EEPROM; que permiten reescribirse muchas veces,
dependiendo del fabricante puede ser hasta 10.000 veces, como es el caso del fabricante XILINX,
los modelos de la serie XC9500.

Tabla de Datos (Look up Table)


Esta arquitectura se basa en la implementacin lgico de bus de interconexin de filas y columnas,
estas interconexiones tambin proveen conexin al bloque de matriz lgicos (LAB). El LAB consiste
de varios elementos lgicos (LE); segn el modelo pueden ser 10 LE, por cada LAB. Los LE es una
pequea unidad lgica que proveen una eficiente implementacin de funciones lgicas del usuario.
El Multitrack Interconnect provee una rpida conexin entre los LAB.

Figura # 11: Diagrama de


bloque de la arquitectura de tabla de datos

Look-Up Table (LUT), Es un circuito que implementa una funcin de lgica combinacional para
almacenar una lista de valores de salida que correspondan a todas las posibles combinaciones de
entradas, es decir un nmero de elementos almacenados son usados; para resumir una funcin
lgica, almacenando cada funcin como una tabla de la verdad, esto se ilustra en la figura 12.

Figura # 12: Look-Up Table

Tomando como ejemplo la tabla de la verdad de la figura 12, como comparador A1A0=B1B2 , hace
que la salida lgica AEQB = 1 lgico. Una matriz de 16 flip-flops (Q0 hasta Q15), contiene data de
todas las posibles combinaciones A1A0B1B0, por cada combinacin se necesita un flip-flop. La
entrada de cada LUT son decodificada por un decodificador de direcciones, cada salida del
decodificador activa una buffer de tres estados, que pasa por un bloque de salida de flip-flop.
Cuando se activa un buffer para pasar el contenido del flip-flop, el resto de los buffer permanecen en
estado de alta impedancia, de esta manera se bloquea la data de los otros flip-flops. El contenido de
los flip-flop son cargados cuando el LUT es programado, con las funciones requeridas. Continuando
con el ejemplo de la figura 12, los 16 elementos almacenados en dicha tabla, combinados , para
seleccionar una salida combinacional y para interconectar con otras partes del chip, es llamado
Elemento Lgico (LE). La funcin del desempeo del elemento lgico es similar a la de macroceldas
en los PLD de suma de producto. La estructura de un elemento lgico se muestra en la figura 13.

Figura # 13: Elemento Lgico

El circuito "Cascade Chain", permite al usuario programar la funcin boleana, este circuito puede ser
de compuertas AND o OR.

Figura # 14: Operacin en


Cascada

Bloque de Matriz Lgico (LAB), consiste en un nmero de elementos lgicos e interconectados


localmente; el bloque LAB, esta conectado con el resto del dispositivo por medio de una serie de
columnas y filas interconectadas, lo cual para este caso el fabricante ALTERA ha llamado FastTrack
Interconnect, tambin se le conoce como Multitrack Interconnect.

Figura # 15: Bloque de Matriz


Lgicos

Embedded Array Block (EAB), este bloque es una matriz de 2048 elemento de almacenaje que
pueden ser usado eficientemente en la implementacin de funciones lgicas complejas.
El FLEX10K es un dispositivo del fabricante ALTERA, tiene una matriz de 6 filas por 24 columnas de
bloque de matriz lgico (LAB), es decir que tendr 144 LAB, que a su ves son 8 x 144LAB= 1152

elementos lgicos, estos elementos tambin tienen 6 EAB; 6X2048 = 12288 bits de almacenaje de
EAB, note que un EAB tiene mas capacidad de almacenaje que un LAB combinado.
Algunos los dispositivos basados en LUT, son de tecnologa de memoria de acceso aleatorio esttica
(SRAM), la ventaja de esta configuracin es que este puede ser fabricado en densidades muy altas
de celdas de almacenajes y programar rpidamente, comparado con un dispositivo, (suma de
producto, SOP), basado en EEPROM. La desventaja es que las celdas SRAM, son voltiles; es decir
que deben reconfigurarse cada vez que se reinicia el sistema.

Figura # 16: Diagrama en


bloque de un dispositivo de estructura de datos como es el caso del FLEX10K del fabricante
ALTERA

El mismo fabricante ALTERA, posee el modelo MAXII, "tabla de datos LUT", tal modelo contiene un
bloque de memoria "falsh", dentro del dispositivo. La mayora de estos almacenajes de memorias
flash, son particionadas como un bloque de programacin o configuracin de memoria flash (CFM);
este provee un almacenaje no voltil; la CFM descarga y configura la lgica. Una porcin pequea
de la memoria flash es utilizado para la data de usuario, este pequeo bloque de memoria UFM,
provee una almacenaje para el usuario de propsito general, en este bloque se provee la conexin
del puerto programable para el arreglo lgico de lectura y escritura.

Figura # 17: Diagrama de


bloque del modelo MAXII

Figura # 18: Diagrama del


bloque de memoria UFM

El bloque UFM, puede ser utilizado como el EEPROM serial, para almacenar informacin no voltil,
este bloque se conecta al bloque de arreglo lgico a travs del bus Multitrack interconectado, de esta
manera se permite la interface con el bloque de elemento lgico.

Construccin de un CPLD
Las vas estn compuesta de 100 porciento metal de aluminio diluido, aqu se identificar como
Metal 2, los contactos son 100 porciento metal de aluminio diluido, identificado como Metal 1. Como
caractersticas especiales posee tecnologa "FLASH FAST". Las compuertas en el canal N son del
orden de 0.45 micra, y el canal P son del orden de 0.5 micra. El dispositivo esta formado por una
capa de nitruro de silicio sobre otra capa de dixido de silicio. Posee dos capas de polisilicio. El
PLOY 1 fue utilizada exclusivamente en compuertas flotantes, y POLY 2 (polisilicio y silicio de
tusteno) fue utilizado para todas las compuertas estndar, en la matrix de lineas de programas y de
palabra. La matrix de celdas programables son EEPROM (tecnologa FAST FLASH), el Metal 2, ser
utilizado para las lneas de programa y de la palabra de dato. El Metal 1 distribuye la tierra GND y
una lnea de un bit. El dieltrico se encuentra entre las capas POLY es de ONO "xido-nitruro-xido".
el color anaranjado es Nitruro de Silicio, el color azul es Metal 1 y 2, el color amarillo es xido, el
color verde es polisilicio, color rojo difusin del canal P y N, y el color gris es el substrato P. Ver figura
19.
Si el dispositivo es borrable elctricamente EEPROM, sus conexiones es a base de transistores
MOS de puerta flotante, que contiene una puerta adicional embebida en el aislante entre la puerta
normal (accesible desde el exterior) y el substrato. esta puerta extra, sin conexin al exterior y
completamente rodeada de material aislante, es la puerta flotante. los transistores MOS, inicialmente
no tienen carga en la puerta flotante, de forma que actan como transistores normales: en cada linea
vertical se realiza la operacin lgica Y; es necesario que todas las lneas horizontales estn bajas
(a=b=c=d=L) para que las lneas verticales sean altas (x=y=z=H), y basta que una de las entradas
sea baja (a=L, por ejemplo) para que su lnea correspondiente sea alta, y por tanto los transistores
cuyas puertas estn conectadas a esa lnea de entada pasan a conduccin, y entonces las lneas
verticales se hacen L. En otras palabras, los transistores hacen el punto de conexin entre las lneas
verticales y horizontales. Para desconectar un punto de conexion (un transistor), en la fase de
programacin se aplica una tensin relativamente elevada (15 a 20)V en la puerta del transistor a
desconectar; esta tensin hace que, por un proceso fsico conocido como efecto tnel, atraviesen
electrones desde el substrato por la fina capa de aislante y queden almacenados en la puerta
flotante. En definitiva la introduccin de electrones en la puerta flotante desconecta el transistor del
circuito, ya que siempre estar cortado (estado off).

Figura # 19: Construccin de un


CPLD

Figura # 20: Lnea de Productos

Diseo de un CPLD
Es importante tomar en cuenta la densidad de compuertas que se requiere, y para ello es necesario
determinar el nmero de macroceldas que debe poseer el dispositivo; tambin es importante
determinar el nmero de entradas y de salida, segn la ecuacin lgica obtenida. los retardos de

propagacin entre la seal de entrada y de salida se debe de tomar en cuenta cuando se esta
trabajando con altas velocidades de procesamiento. hay sistemas que trabajan con diferentes
niveles de tensin por lo que es importante conocerlos tomarlo en cuenta en el dispositivo CPLD.
estos niveles de tensi pueden oscilar entre 1.5 V a 5 V.
En la metodologa modernas de diseos digitales, para sistemas de relativa complejidad, en lugar de
utilizar descripciones del comportamiento del sistema en forma de tablas (tablas de la verdad, de
transicin de estado, etc) se utilizan lenguajes especficos, los lenguajes de descripcin de hardware
o HDL (Hardware Description Language), que pueden describir tanto el comportamiento como la
estructura de un sistema.

Diseo de un decodificador binario de 2 a 4


1. Se realiza la descripcin del sistema, de forma que el entorno de desarrollo pueda generar
una representacin interna del mismo. se puede optar entre una descripcin estructural, con
ayuda de un editor grfica de captura de esquemas, o una descripcin del comportamiento
con un lenguaje HDL.
2. Se realiza una compilacin funcional, con la que se verifican posibles errores en el diseo
(salidas cortocircuitadas, entradas flotantes...) y adems se genera una representacin
interna del sistema, con la que puede efectuarse una simulacin funcional del mismo. en
esta fase la simulacin es slo funcional y es independiente de la tecnologa de
implementacin, que es la que depende de los retardo que se produzcan.
3. En el software (compilador) se especifica la tecnologa de implementacin. Se proyecta el
diseo al tipo de celdas lgicas, celdas de entradas y salida, y recurss de conexin del
CPLD seleccionado. tras la compilacin se obtiene una representacin interna del sistema
implementado y se genera un fichero informativo donde se detalla el porcentaje de
ocupacin del dispositivo, las asignaciones de celdas y pines de entrada y salida, y otros.
4. Se hace una simulacin y anlisis temporal. con la informacin detallada de las
caractersticas tcnicas de cada uno de sus componentes de la biblioteca de elementos se
puede realizar una nueva simulacin mas real y se puede establecer los tiempos de
retardos.
5. Una vez compilado y simulado el circuito; se debe configurar fsicamente el CPLD, lo que
puede realizarse fsicamente con un programador de PLD o en el propio sistema (ISP). Es
preferible utilizar este ltimo para reducir los psibles daos mecnicos en los pines del
dispositivo, por lo tanto suelen configurarse los CPLD en la propia tarjeta del sistema final,
con una programacin ISP (In-System Programming), esta opcin se utiliza en circuitos
borrables elctricamente EEPROM o configurables con celdas SRAM. Comnmente se
utiliza el protocolo JTAG (joint Test Action Group). que utiliza cuatro lineas para transferir bit
a bit entre el computador y la tarjeta del sistema la informacin de configuracin.

Figura # 21: Descripcin del decodificador: a)


estructural; b) funcional

Figura # 22: Esquema de


conexin utilizando el programador CPLD

Figura # 23: Esquema de


conexin utilizando un cable de descarga

Fabricantes de un CPLD

ALTERA

Ha desarrollado tres familias de la categora CPLD. MAX5000, MAX7000 y MAX9000. El MAX5000


representa la tecnologa mas antigua que ofrecen soluciones de costo efectivo; el MAX7000 ofrece
altas capacidades lgicas y mayor desempeo en velocidad; el MAX9000 es similar al MAX7000,
excepto que el MAX9000 ofrece una mayor capacidad lgica. El MAX7000 contiene bloques de
matrix lgicos LAB, matrix de interconexin programable PIA, esta serie fueron desarrollados en
tecnologa EPROM y EEPROM, la desventaja de esta serie es que se debe programar fuera del
circuito de desarrollo; desde 1996 Altera, desarrollo el modelo MAX7000S, capaz de programarse en
lnea, es decir en el mismo circuito. Altera FlashLogic CPLDs, anteriormente conocido como Intel`s
FlEXlogic, caracterizado por programarse dentro del sistema y provee bloques SRAM en el
dispositivo. La configuracin de compuertas AND-OR, son por celdas SRAM, respaldadas por celdas
EPROM o EEPROM. Al realizar un suministro de potencia las celdas SRAM son cargadas con un
copia de la memoria EEPROM o EPROM, pero es la celda SRAM la que controla la configuracin
del dispositivo.

ATMEL

Ofrece el modelo ATF1500A, alto desempeo y alta densidad de compuertas, construido con
tecnologa FLASH, con un retardo de 7.5 ns de pin a pin.

AMD

Ofrece una familia de CPLD con 5 sub-familias llamadas Mach 1 a Mach 5. Cada dispositivo Macth,
contiene bloques con mltiplos PAL; Match 1 Y 2 consiste en el modelo 22V16PALs, Match 3 y 4
consiste en el modelo 34V16PALs y el Match 5 ofrece modelos parecidos a los anteriores pero con
mayor desempeo en velocidad. Todos los Match estn basados en tecnologa EEPROM. El rango
de capacidad lgicas estn cercas de 2000 a 5000 compuertas.

CYPRESS SEMICONDUCTOR

Son similares a los dispositivos AMD y Lattice en muchas maneras; el Cypress CPLD, llamado
FLASH370, esta basado en tecnologa FLASH EEPROM, y ofrece un desempeo en el retardo de
velocidad de 8.5 a 15 ns de pin a pin, la desventaja es que no es programable en el sistema.

LATTICE SEMICONDUCTOR

Lattice ofrece un completo rango de CPLD; con dos lneas de productos principales: Lattice pLSI que
consiste en tres familias de EEPROM de CPLD; y el ispLSI que son los mimos dispositivos pLSI, con
la diferencia de los ispLSI son programables en el sistema. Los rangos de capacidades lgicas estn
cercas de 1200 a 4000 compuertas y el retardo de pin a pin es de 10 ns. El Lattice de la serie 3000
representa su desarrollo mas grande con 5000 compuertas y un retardo de 10 a 15 ns.

XILINX

Ofrecen el modelo XC7000 y el XC9500; hay dos familias principales en el XC7000: la serie 7200 y
7300, el 7200 es un dispositivo moderadamente pequeo con 600 a 1500 compuertas; y con un
retardo de pin a pin de 25 ns. El 7300 ofrece 3000 compuertas y lo otro que diferencia al 7200 es
que el 7300 incluye dos compuertas OR en cada macroceldas. Finalmente el XC9500 ofrece la
programacin dentro del circuito, con una capacidad de 6200 compuertas y un retardo de 5 ns.
BIBLIOGRAFIA
http://electronicaintegrada.blogspot.com/2008/02/cpld-verilog.html
http://html.rincondelvago.com/dispositivos-logicos-programables_2.html
http://yombo.org/2013/04/circuitos-complejos-de-logica-programable-cpld-introduccion/
http://serdis.dis.ulpgc.es/~itis-dl/Teoria%20VHDL/mas
%20cosas/II_DISPOSITIVOS_LOGICOS_PROGRAMABLES.pdf
http://es.wikipedia.org/wiki/CPLD
http://server-die.alc.upv.es/asignaturas/lsed/2002-03/PLDs/Web%5CCPLD.htm
http://unidadsimd.obolog.es/cpldhttp://unidadsimd.obolog.es/cpld-83442
http://www.profesores.frc.utn.edu.ar/electronica/tecnicasdigitalesi/pub/file/Publicaciones/PLD-PAL-CPLD.pdf
https://upcommons.upc.edu/pfc/bitstream/2099.1/6452/1/PFC%20final5.pdf

Referencias

[1] Antonio Lloris Ruiz, Alberto Prieto Espinosa, Luis Parrilla Roure: Sistemas Digitales; Mc Graw Hill,
pag. 501-535; 2003
[2] http://www.xilinx.com/
[3] http://www.altera.com/
[4] Digital Design with CPLD applications and VHDL
[5] Altera Device Package Information Data Sheet
[6] XC9500 In-System Programmable CPLD Family (XILINX)
OBJETIVOS
- conocer el funcionamiento y programacion de un cpld .
-saber las diferentes funciones de un CPLD al variar su programacin.
-dar a conocer las diferentes empresas [marcas] que lo fabrican.
- poder conseguir una adecuada orientacin para poder programacin un CPLD.
-este trabajo abarca los conocimientos necesarios para el manejo de un CPLD.
CONCLUSIONES
-los CPLDs son dispositivos electrnicos que sintetizan el funcionamiento de varias compuertas lgicas.
-es necesario tener los conocimientos bsico tericos de un CPLD para el manejo conveniente de su
programacin.
- los CPLDs necesitan de un lenguaje de programacin predeterminado por las empresas
-Los CPLDs permiten implementar sistemas ms eficaces, ya que utilizan menor espacio, mejoran la fiabilidad
del diseo, y reducen costos

Anda mungkin juga menyukai