Sunteți pe pagina 1din 8

CPDLD Y DISPOSITIVOS FPGA

Un CPLD (Complex Programmable Logic Device) es un dispositivo electrnico. 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.
Una FPGA (del ingls Field Programmable Gate Array) es un dispositivo semiconductor que
contiene bloques de lgica cuya interconexin y funcionalidad puede ser configurada 'in
situ' 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.

Tips
CPLD
Un CPLD contiene mltiples bloques lgicos, cada uno similar a una pequea PLD tipo
22V10.
Componentes: Logic Block; Programmable Interconnect; I/O
Conecta seales de salida de Bloques Lgicos con entradas de otros Bloques lgicos
Interconexin por matriz
Altamente flexible
Ocupa ms rea y consume mayor potencia
Interconexin con multiplexor
Hay un multiplexor por cada entrada del un Bloque Lgico

FPGA
Matriz de Bloques Lgicos Configurables (CLB): Cada bloque posee una complejidad
similar a una PAL
Bloques de entrada-salida (IOB): Conectan la patillas externas del integrado con la
lgica interior
Lneas de interconexin: Conectan entre s los bloques CLB
FPGA implementan los diseos con estructuras multinivel
Los CLB de las FPGAs se implementan con: Transistores, Puertas lgicas bsicas
(NAND de dos entradas, XOR, etc), Multiplexores, Look-up tables (LUT), Estructuras
AND-OR

Mega Tips
Los CPLD 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.
las FPGAs tienen las ventajas de ser reprogramables (lo que aade una enorme
flexibilidad al flujo de diseo), sus costes de desarrollo y adquisicin son mucho
menores para pequeas cantidades de dispositivos y el tiempo de desarrollo es tambin
menor.
Una jerarqua de interconexiones programables permite a los bloques lgicos de un
FPGA ser interconectados segn la necesidad del diseador del sistema,
Conclusin
Una PLD utilizan estructuras de dos niveles AND-OR para implementar la lgica y una FPGA
implementan los diseos con estructuras multinivel

Las CPLDs como las FPGAs contienen un gran nmero de elementos lgicos programables.
Recomendacin
Se puede utilizar cualquiera de estos dispositivos para cualquier desarrollo o aplicacin
electrnica

FPGA (Field Programmable Gate Array)



Una Spartan de Xilinx.
Una FPGA (del ingls Field
Programmable Gate Array) es un
dispositivo semiconductor que contiene
bloques de lgica cuya interconexin y
funcionalidad puede ser configurada 'in
situ' 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, tienen un mayor consumo
de potencia y no pueden abarcar sistemas tan
complejos como ellos. A pesar de esto, las
FPGAs tienen las ventajas de ser
reprogramables (lo que aade una enorme
flexibilidad al flujo de diseo), sus costes de
desarrollo y adquisicin son mucho menores
para pequeas cantidades de dispositivos y el
tiempo de desarrollo es tambin menor.
Ciertos fabricantes cuentan con FPGAs que
slo se pueden programar una vez, por lo que
sus ventajas e inconvenientes se encuentran
a medio camino entre los ASICs y las FPGAs
reprogramables.
Histricamente las FPGA surgen como una
evolucin de los conceptos desarrollados en
las PAL y los CPLD.

Historia
Las FPGA son el resultado de la
convergencia de dos tecnologas diferentes,
los dispositivos lgicos programables (PLDs
[Programmable Logic Devices]) y los circuitos
integrados de aplicacin especfica (ASIC
[Application-Specific Integrated Circuit]). La
historia de los PLDs comenz con los
primeros dispositivos PROM (Programmable
Read-Only Memory) y se les aadi
versatilidad con los PAL (Programmable Array
Logic) que permitieron un mayor nmero de
entradas y la inclusin de registros. Esos
dispositivos han continuado creciendo en
tamao y potencia. Mientras,
los ASIC siempre han sido potentes
dispositivos, pero su uso ha requerido
tradicionalmente una considerable inversin
tanto de tiempo como de dinero. Intentos de
reducir esta carga han provenido de la
modularizacin de los elementos de los
circuitos, como los ASIC basados en celdas, y
de la estandarizacin de las mscaras, tal
como Ferranti fue pionero con
la ULA (Uncommitted Logic Array). El paso
final era combinar las dos estrategias con un
mecanismo de interconexin que pudiese
programarse utilizando fusibles, antifusibles o
celdas RAM y celdas ROM, como los
innovadores dispositivos Xilinx de mediados
de los 80. Los circuitos resultantes son
similares en capacidad y aplicaciones a los
PLDs ms grandes, aunque hay diferencias
puntuales que delatan antepasados
diferentes. Adems de en computacin
reconfigurable, las FPGAs se utilizan en
controladores, codificadores/decodificadores
y en el prototipado de circuitos VLSI y
microprocesadores a medida.
El primer fabricante de estos dispositivos
fue Xilinx [2] y los dispositivos de Xilinx se
mantienen como uno de los ms populares en
compaas y grupos de investigacin. Otros
vendedores en este mercado
son Atmel, Altera, AMD y Motorola.

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. Ejemplo de tales
tecnologas hbridas pueden ser encontradas
en los dispositivos Virtex-II PRO y Virtex-4 de
Xilinx, los cuales incluyen uno o ms
procesadores PowerPC embebidos junto con
la lgica del FPGA. El FPSLIC de Atmel es
otro dispositivo similar, el cual usa un
procesador AVR en combinacin con la
arquitectura lgica programable de Atmel.
Otra alternativa es hacer uso de ncleos de
procesadores implementados haciendo uso
de la lgica del FPGA. Esos ncleos incluyen
los procesadores MicroBlaze y PicoBlaze de
Xlinx, Nios y Nios II de Altera, y los
procesadores de cdigo
abierto LatticeMicro32 y LatticeMicro8.
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.

Programacin
En la FPGA no se realiza programacin tal
cual como se realiza en otros dispositivos
como DSP, CPLD o microcontroladores. La
FPGA tiene celdas que se configuran con una
funcin especfica ya sea como memoria
(FLIP-FLOP tipo D), como multiplexor o con
una funcin lgica tipo AND, OR, XOR. La
labor del "programador" es describir el
hardware que tendr la FPGA. Por
consiguiente, la tarea del "programador" es
definir la funcin lgica que realizar cada
uno de los CLB, seleccionar el modo de
trabajo de cada IOB e interconectarlos.
El diseador cuenta con la ayuda de entornos
de desarrollo especializados en el diseo de
sistemas a implementarse en un FPGA. Un
diseo puede ser capturado ya sea como
esquemtico, o haciendo uso de un lenguaje
de programacin especial. Estos lenguajes de
programacin especiales son conocidos
como HDL o Hardware Description
Language (lenguajes de descripcin
de hardware). Los HDLs ms utilizados son:
VHDL
Verilog
ABEL
En un intento de reducir la complejidad y el
tiempo de desarrollo en fases de prototipaje
rpido, y para validar un diseo en HDL,
existen varias propuestas y niveles de
abstraccin del diseo. Los niveles de
abstraccin superior son los funcionales y los
niveles de abstraccin inferior son los de
diseo al nivel de componentes hardware
bsicos. Entre otras, National
Instruments LabVIEW FPGA propone un
acercamiento de programacin grfica de alto
nivel.

Aplicaciones
Cualquier circuito de aplicacin especfica
puede ser implementado en un FPGA,
siempre y cuando esta disponga de los
recursos necesarios. Las aplicaciones donde
ms comnmente se utilizan los FPGA
incluyen a los DSP (procesamiento digital de
seales), radio definido por software,
sistemas aeroespaciales y de defensa,
prototipos de ASICs, sistemas de imgenes
para medicina, sistemas de visin para
computadoras, reconocimiento de voz,
bioinformtica, emulacin de hardware de
computadora, entre otras. Cabe notar que su
uso en otras reas es cada vez mayor, sobre
todo en aquellas aplicaciones que requieren
un alto grado de paralelismo.
Existe cdigo fuente disponible (bajo
licencia GNU GPL)
1
de sistemas
como microprocesadores, microcontroladores
, filtros, mdulos de comunicaciones
y memorias, entre otros. Estos cdigos se
llaman cores.

Tecnologa de la memoria de
programacin
Las FPGAs tambin se pueden diferenciar
por utilizar diferentes tecnologas de memoria:
Voltiles: Basadas en RAM. Su
programacin se pierde al quitar la
alimentacin. Requieren una memoria
externa no voltil para configurarlas al
arrancar (antes o durante el reset).
No Voltiles: Basadas en ROM. Hay de
dos tipos, las reprogramables y las no
reprogramables.
1. Reprogramables: Basadas
en EPROM o flash. stas se pueden
borrar y volver a reprogramar
aunque con un lmite de unos 10.000
ciclos.
2. No Reprogramables: Basadas
en fusibles o antifusibles. Solo se
pueden programar una vez, lo que
las hace poco recomendables para
trabajos en laboratorios.
Ejemplo de tarjeta de desarrollo que incorpora
una FPGA
2
:



Fabricantes
Desde principios de 2007, hay dos grandes
productores de FPGA de propsito general,
adems de un conjunto de otros
competidores quienes se diferencian por
ofrecer dispositivos con caractersticas
nicas.
Xilinx es uno de los dos grandes lderes
en la fabricacin de FPGA.
Altera es el otro gran lder.
Lattice Semiconductor lanz al mercado
dispositivos FPGA con tecnologa de
90nm. Adems, Lattice es un proveedor
lder en tecnologa no voltil, FPGA
basadas en tecnologa Flash, con
productos de 90nm y 130nm.
Actel tiene FPGAs basados en
tecnologa Flash reprogrammable.
Tambin ofrece FPGAs que incluyen
mezcladores de seales basados en
Flash.
QuickLogic tiene productos basados en
antifusibles (programables una sola vez).
Atmel es uno de los fabricantes cuyos
productos son reconfigurables (el Xilinx
XC62xx fue uno de estos, pero no estn
siendo fabricados actualmente). Ellos se
enfocaron en proveer
microcontroladores AVR con FPGAs,
todo en el mismo encapsulado.
Achronix Semiconductor a travs de
tecnologa de Intel de 22 nm, su catlogo
incluye dispositivos FPGA de hasta 1.5
GHz







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 CPLDs usan 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.
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. Las lneas de seleccin de
estos multiplexores son programadas para
permitir que sea seleccionada nicamente
una va de la matriz de interconexin por cada
multiplexor la cual se propagara a hacia el
bloque lgico. Cabe mencionar que no todas
las vas son conectadas a las entradas de
cada multiplexor. La rutabilidad 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, el uso de grandes multiplexores
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. 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 alta impedancia. 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


Fabricantes de CPLD
Altera
Atmel
Cypress Semiconductor
Lattice Semiconductor
Xilinx

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