Está en la página 1de 7

Dispositivos lgicos programables complejos (CPLD)

Un circuito CPLD consiste en un arreglo de mltiples PLD agrupados como bloques en un chip. En algunas
ocasiones estos dispositivos tambin se conocen como EPLD (Enhanced PLD: PLD mejorado), Super PAL, Mega
PAL, [6j etc. Se califican como de alto nivel de integracin, ya que tienen una gran capacidad equivalente a unos
50 PLD sencillos.

En su estructura bsica, cada CPLD contiene mltiples bloques lgicos (similares al GAL22V10) conectados por
medio de seales canalizadas des-de la interconexin programable (PI). Esta unidad PI se encarga de inter-
conectar los bloques lgicos y los bloques de entrada/salida del dispositivo sobre las redes apropiadas (Fig. 1.8).

OTERO PEREZ OSCAR DAVID VHDL


Figura 1.8 Arquitectura bsica de un CPLD.

Los bloques lgicos, tambin conocidos como celdas generadoras de funciones, estn formados por un arreglo
de productos de trminos que imple-menta los productos efectuados en las compuertas AND, un esquema de
distribucin de trminos que permite crear las sumas de los productos provenientes del arreglo AND y por
macroceldas similares a las incorporadas en la GAL22V10 (Fig. 1.9). En ocasiones las celdas de entrada/salida
se consideran parte del bloque lgico, aunque la mayora de los fabricantes coincide en que son externas. Cabe
mencionar que el tamao de los bloques lgicos es importante, ya que determina cunta lgica se puede
implementar dentro del CPLD; esto es, fija la capacidad del dispositivo.

Figura 1.9 Bloque lgico programable.

OTERO PEREZ OSCAR DAVID VHDL


Arreglos de productos de trminos. Es la parte del CPLD que identifica el porcentaje de trminos
implementados por cada macrocelda y el nmero mximo de productos de trminos por bloque lgico. Esto
es similar al arreglo de compuertas AND programable de un dispositivo GAL22V10.
Esquema de distribucin de trminos. Es el mecanismo utilizado para distribuir los productos de trminos a las
macroceldas; esto se realiza mediante el arreglo programable de compuertas OR de un PLD. Los diferentes
fabricantes de CPLD implementan la distribucin de productos de trminos con diferentes esquemas. Mientras
algunos como la GAL22V10 usan un esquema de distribucin variable (los cuales pueden variar en 8,10,12,14
o 16 productos por macrocelda), los CPLD como la familia MAX de Altera Corporation y Cypress Semiconductor,
distribuyen cuatro productos de trminos por macrocelda, adems de utilizar "productos de trminos
expandidos", que se asignan a una o varias macroceldas.
Macroceldas. Una macrocelda de un CPLD est configurada interna-mente por flip-flops y un control de
polaridad que habilita cada afirmacin o negacin de una expresin. Los CPLD suelen tener macroceldas de
entrada/salida, de entrada y ocultas, mientras que los PLD slo tienen macroceldas de entrada/salida.

La cantidad de macroceldas que contiene un CPLD es importante, debido a que cada uno de los bloques lgicos
que conforman el dispositivo se expresan en trminos del nmero de macroceldas que contiene. Por lo
general, cada bloque lgico puede tener de cuatro a sesenta macroceldas; ahora bien, mientras mayor sea la
cantidad, mayor ser la complejidad de las funciones que se pueden implementar.

1.2.2 Arreglos de compuertas programables en campo (FPGA)

Los dispositivos FPGA se basan en lo que se conoce como arreglos de compuertas, los cuales consisten
en la parte de la arquitectura que contiene tres elementos configurables: bloques lgicos configurables
(CLB), bloques de entrada y de salida (IOB) y canales de comunicacin [7]. A diferencia de los CPLD,
la densidad de los FPGA se establece en cantidades equivalentes a cierto nmero de compuertas.
Por adentro, un FPGA est formado por arreglos de bloques lgicos con-figurables (CLB), que se
comunican entre ellos y con las terminales de entrada/salida (E/S) por medio de alambrados
llamados canales de comunicacin. Cada FPGA contiene una matriz de bloques lgicos idnticos, por
lo general de forma cuadrada, conectados por medio de lneas metlicas que corren vertical y
horizontalmente entre cada bloque (Fig. 1.10).

OTERO PEREZ OSCAR DAVID VHDL


Canales
Verticales
Bloques
Lgicos

Canales
Horizontales

Bloques de
E/S

Figura 1.10 Arquitectura bsica de un FPGA.

En la figura 1.11 se puede observar una arquitectura FPGA de la familia XC4000 de la compaa Xilinx. Este
circuito muestra a detalle la configuracin interna de cada uno de los componentes principales que conforman
es-te dispositivo.

Interconexin Bloques de
programable entrada / salida

Bloques lgicos
Arquitectura FPGA

Figura 1.11 Arquitectura del FPGA XC4000 de Xilinx.

OTERO PEREZ OSCAR DAVID VHDL


OTERO PEREZ OSCAR DAVID VHDL
Figura 1.12 Arquitectura de un bloque lgico configurable FPGA.

En un dispositivo FPGA, los CLB estn ordenados en arreglos de matri-ces programables


(Programmable Switch Matrix o PSM), la matriz se encar-ga de dirigir las salidas de un bloque a
otro. Las terminales de entrada y sali-da del FPGA pueden estar conectadas directamente al PSM
o CLB, o se pueden conectar por medio de vas o canales de comunicacin.

En algunas ocasiones se pueden confundir los dispositivos de FPGA y CPLD, ya que ambos
utilizan bloques lgicos en su fabricacin. La diferencia entre ellos radica en el nmero de flip-
flops utilizados, mientras la arquitectu-ra del FPGA es rica en registros. La CPLD mantiene una
baja densidad. En la tabla 1.4 se presentan algunas otras diferencias entre una y otra
arquitectura.

OTERO PEREZ OSCAR DAVID VHDL


Caractersticas CPLD FPGA

Arquitectura Similar a un PLD Similar a los arreglos de


Ms combinacional compuertas

Ms registros + RAM

Densidad Baja a media Media a alta

Funcionalidad Trabajan a frecuencias Depende de la aplicacin


superiores a 200 Mhz (arriba de los 135Mhz)

Aplicaciones Contadores rpidos Excelentes en aplicaciones


Mquinas de estado para arquitecturas de
Lgica combinacional computadoras

Procesadores Digitales de
Seales (DSP)

Diseos con registros


Tabla 1.4 Diferencias entre dispositivos lgicos programables complejos
(CPLD) y los arreglos de compuertas programables en campo
(FPGA).

OTERO PEREZ OSCAR DAVID VHDL

También podría gustarte