Sunteți pe pagina 1din 7

CPLD

Un dispositivo lgico programable


complejo (CPLD) es un dispositivo lgico
programable con una complejidad entre
la de PALs y FPGAs, y las caractersticas
arquitectnicas
de
ambos.
Es
una
combinacin de un totalmente matriz de
AND/OR programable y un banco de
macroclulas. La matriz AND/OR es
reprogramable y puede realizar una
multitud de funciones lgicas. Macroclulas son bloques funcionales
que realizan la lgica combinatoria o secuencial, y tambin tienen la
flexibilidad aadida para la verdadera o complementar, junto con
variados caminos de realimentacin.

Caractersticas
Algunas de las caractersticas CPLD son en comn con las PAL:

Memoria de configuracin no voltil. A diferencia de muchos


FPGAs, una configuracin externa ROM no es necesario, y el
CPLD puede funcionar de inmediato en el sistema de puesta en
marcha.

Otras caractersticas son en comn con FPGAs:

Un gran nmero de puertas disponibles. CPLDs suelen tener el


equivalente de miles a decenas de miles de puertas lgicas, lo
que
permite
la
implementacin
de
dispositivos
de
procesamiento de datos moderadamente complicados.

La diferencia ms notable entre un gran CPLD y una pequea FPGA es


la presencia de una memoria no voltil en chip en el CPLD, que
permite CPLDs a utilizar para " cargador de arranque funciones",
antes de entregar el control a otros dispositivos que no tengan su
almacenamiento propio programa permanente.

Arquitectura
Matriz de Interconexiones Programables
La matriz de interconexiones programables (PIM) es el que nos
permite unir los pines de en I/O a las entradas del bloque lgico, o las
Nombre: Elias Ortega Chiln
Curso: N5A

salidas del bloque lgico a las entradas de otro bloque lgico o


inclusive a las entradas del mismo. La mayora de los CPLDs usan una
de dos configuraciones para esta matriz:

interconexin mediante bloques se basa en una matriz de


filas y columnas con una celda programable de conexin en
cada interseccin. Esta configuracin permite una total
interconexin entre las entradas y salidas del dispositivo o
bloques lgicos. Sin embargo, estas ventajas provocan la
disminucin del rendimiento del dispositivo, provocando un
aumento en el consumo de energa y el tamao del
componente.

En la interconexin mediante multiplexores, existe un


multiplexor por cada entrada al bloque lgico. Las vas de
interconexin programables son conectadas a las entradas de
un nmero de multiplexores por cada bloque lgico. La
rentabilidad se incrementa usando multiplexores de mayor
tamao, permitiendo que cualquier combinacin de seales de
la matriz de interconexin pueda ser enlazada hacia cualquier
bloque lgico. Sin embargo, esto incrementa el tamao de
dispositivo y reduce su eficiencia.

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.
Nombre: Elias Ortega Chiln
Curso: N5A

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 alta impedancia. Por lo general un CPLD tiene
macroceldas de entrada/salida, macroceldas de entrada y
macroceldas internas u ocultas.

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.

Programacin
La mayora de los fabricantes de CPLD ofrecen un entorno de
desarrollo gratuito que soporta la entrada de diseo utilizando
esquemas simples, as como Verilog o VHDL. Muchos no soportar las
ltimas FPGAs en la versin gratuita, pero slo necesitar las partes
CPLD de todos modos. Altera tiene Quartus, Xilinx tiene ISE y del
enrejado tiene ispLEVER.
La tarjeta de desarrollo se presentan no necesita un programador
JTAG separada debido a que el microcontrolador PIC ya los programas
de la CPLD. Si desea un programador externo, los ms baratos son los
programadores de puerto paralelo: Cable paralelo III para Xilinx y
BytleBlaster de Altera. Clones de bajo costo, y esquemas, estn
disponibles en Sparkfun. El OpenOCD es un programador JTAG USB
genrico que trabajar con muchos CPLDs, FPGAs y ARMs.

Nombre: Elias Ortega Chiln


Curso: N5A

FPGA
Una FPGA (del ingls Field Programmable Gate
Array) es un dispositivo semiconductor que se
encuentra compuesto por bloques de lgica
(Puertas, registros, memorias, flip/flops, etc)
programables. La interconexin y funcionalidad
puede ser configurada mediante un lenguaje de
descripcin especializado. La lgica programable
puede reproducir desde funciones tan sencillas
como las llevadas a cabo por una puerta lgica o
un sistema combinacional hasta complejos sistemas en un chip.
Las FPGAs se utilizan en aplicaciones similares a los ASICs sin
embargo son ms lentas, poseen un mayor consumo en su potencia y
no pueden abarcar sistemas tan complejos como ellos. A pesar de
esto, las FPGAs tienen las ventajas de ser reprogramables, el costo de
desarrollo y adquisicin son muchos menores para pequeas
cantidades de dispositivos y el tiempo de desarrollo es tambin
menor.

Nombre: Elias Ortega Chiln


Curso: N5A

Caractersticas
Una jerarqua de interconexiones
programables
permite
a
los
bloques lgicos de un FPGA ser
interconectados segn la necesidad
del diseador del sistema, algo
parecido a un breadboard (es una
placa de uso genrico reutilizable o
Semi-permanente)
programable.
Estos
bloques
lgicos
e
interconexiones pueden ser programados despus del proceso de
manufactura por el usuario/diseador, as que el FPGA puede
desempear cualquier funcin lgica necesaria.
Una tendencia reciente ha sido combinar los bloques lgicos e
interconexiones de los FPGA con microprocesadores y perifricos
relacionados para formar un Sistema programable en un chip.
Muchos FPGA modernos soportan la reconfiguracin parcial del
sistema, permitiendo que una parte del diseo sea reprogramada,
mientras las dems partes siguen funcionando. Este es el principio de
la idea de la computacin reconfigurable, o los sistemas
reconfigurables.

Arquitectura General de las FPGAs


Una FPGA consiste en arreglos de varios bloques programables
(bloques lgicos) los cuales estn interconectados entre s y con
celdas de entrada/salida mediante canales de conexiones verticales y
horizontales. En general, se puede decir que posee una estructura
bastante regular, aunque el bloque lgico y la arquitectura de rutado
varan de un fabricante a otro.
La estructura de una FPGA, comparada con la de un CPLD, es mucho
ms regular, y se encuentra ms orientada a diseos que manejan
mayores transferencias de datos y registros, en tanto que los CPLD
implementan ms eficientemente diseos
con una parte
combinacional ms intensa.
La arquitectura de la FPGA cuenta tambin con un bloque lgico con
una parte combinacional y una parte secuencial. La parte
combinacional es mucho ms simple que la existente en una CPLD,
mientras que la parte secuencial posee uno o dos biestables, que no
estn generalmente asociados a un pin de entrada/salida, pues los
bloques lgicos se distribuyen regularmente en todo el dispositivo.

Nombre: Elias Ortega Chiln


Curso: N5A

Programacin
La tarea del programador es definir la funcin lgica que realizar
cada uno de los bloques lgicos de la FPGA e interconectarlos. Para
ello se debe utilizar alguno de los entornos de desarrollo
especializados para el diseo de sistemas sobre FPGA. Si se trata de
un diseo sencillo puede hacerse con un esquemtico, si no, habr
que utilizar un lenguaje de programacin especial HDL (Hardware
Description Language) como VHDL o Verilog.
Adems, en los ltimos aos han aparecido lenguajes para disear
sistemas en FPGA de un nivel mucho ms alto, por lo que un
diseador poco experimentado tendr mucho ms fcil su trabajo.
Con lenguajes como SystemC o HandelC, pasar de la implementacin
software en C de una aplicacin a su diseo sobre una FPGA es
mucho ms rpido y sencillo.

CPLS Vs FPGA

La distincin principal entre la FPGA y CPLD arquitecturas de


dispositivos FPGA es que se basan internamente en tablas de
consulta (LUT), mientras que CPLDs forman las funciones
lgicas con puertas el mar-de- (por ejemplo, suma de los
productos).

Las FPGAs contienen hasta 100 mil bloques lgicos, mientras


que los CPLD contienen a lo sumo 100 bloques lgicos, ambos
con flip-flops. Adems, las FPGAs pueden contener funciones
aritmticas como sumadoras, comparadores y memoria RAM; lo
que conlleva a contener diseos digitales grandes. Sin
embargo, los CPLDs poseen tiempos de entrada/salida ms
rpidos que las FPGA.
Nombre: Elias Ortega Chiln
Curso: N5A

FPGAs son un ncleo de procesador reprogramable, un CPLD es


una placa de circuito reprogramable o placa. FPGAs sustituyen a
los microcontroladores, la memoria y otros componentes. CPLDs
absorben integrados lgicos, y funcionan bien con un
microcontrolador.

Nombre: Elias Ortega Chiln


Curso: N5A

S-ar putea să vă placă și