You are on page 1of 23

PLD´s

Introducción
En este tema se trata de la clasificación de estas estructuras desde dos puntos de
vista: la tecnología de fabricación empleada y la arquitectura interna de las mismas.
Se realizan los adecuados procesos de comparación entre diferentes familias,
destacando las ventajas e inconvenientes de cada una de ellas.

Debemos tener en cuenta que la clasificación de los dispositivos programables


tiene la complejidad añadida de que cada fabricante patenta, tanto la arquitectura
interna de los mismos como algunos procesos de fabricación. Esta condición
multiplica el número de siglas y forma de identificar este tipo de dispositivos.

Los dispositivos más antiguos se denominan PAL (Programmable Logic Array); que
se puede traducir como matriz lógica programable. Esta familia es programable por
fusible y debemos distinguir en ella dos subfamilias
• PAL combinatorias o PAL simples, sólo contienen puertas
• PAL con biestables o PLS (Programmable Logic Sequence). Contienen biestables,
por lo que se pueden implementar sistemas secuenciales.

PAL es una marca registrada de la empresa MMI (en la actualidad fusionada con
AMD).
Dispositivos Lógicos Programables.

VENTAJAS DE LOS PLDs


• Velocidad: Mayor que SSI; menor que ASICs.

• Densidad de Integración: Menor que ASICs.

• Coste de Desarrollo: Mucho menor que ASICs.

• Prototipado y Verificación: Más sencillos que en ASICs.

• Modificación de diseños: Sencilla.

• Coste: Depende del volumen.


Siglas
• PLD:Programmable Logic Device.

• PLA:Programmable Logic Array.

• PAL:Programmable Array Logic.

• GAL:Generic Array Logic.

• CPLD:Complex PLD.

• EPLD:Erasable PLD

• HCPLD:High Complexity PLD.

• FPGA:Fiel Programable Gate Array.


Las PAL sólo pueden ser programadas una sola vez, por lo que en determinadas
etapas del proceso de diseño no son muy aconsejables. Para evitar este
inconveniente aparecieron en el mercado las PAL borrables con dos tecnologías
diferentes

• EPLD o dispositivos lógicos programbles y borrables (Erasable Programmable


Logic Device) que utilizan como procedimiento de borrado la exposición a
radiación Ultravioleta.

• GAL o Red lógica genérica (Generic Array Logic). son estructuras PAL grabables y
borrables eléctricamente.

La terminología es, a menudo, confusa y no estandarizada por eso debemos


centrar nuestra atención en la arquitectura y funcionalidad de estos dispositivos,
para entender su modo de programación y funcionamiento.

En cuanto a las tecnologías para la fabricación de interconexiones programables,


en la actualidad dominan tres tecnologías de la familia MOS: EPROM, EEPROM y
FLASH.
Tecnología EPROM.

El transistor utilizado en una célula EPROM tiene dos puertas, una de ellas está conectada a la tensión
de puerta Vg y la segunda es flotante. En esta segunda puerta se puede acumular carga por medio de un
mecanismo denominado inyección por avalancha (avalanche injection o también hot electron injection).
Este mecanismo se induce aplicando una tensión de programación (típicamente 20V) a la puerta de
drenaje y seleccionando el transistor por medio de la tensión de puerta. El alto campo eléctrico generado
entre ambas terminales arrastra a electrones, de forma que algunos tienen suficiente energía como para
atravesar la barrera que existe entre el sustrato p y la puerta. Este tipo de transistores se denomina
FAMOS: Floating gate Avalanche-injection MOS.

En operación normal un transistor FAMOS que tiene carga en su puerta flotante no conducirá en ningún
caso, incluso si se selecciona la tensión de puerta es Vcc. En el caso en que el transistor no disponga de
carga en su puerta flotante, éste se comportará como un transistor de tipo NMOS.
Tecnología EEPROM.
La figura ilustra la estructura básica de un transistor EEPROM: Como es puede observar es
muy parecida a la estructura del transistor FAMOS. De nuevo encontramos dos puertas, una de
ellas flotante. La región de óxido es muhc más pequeña (espesores típicos de menos de 100
angstroms frente a los 200 angtroms del FAMOS).

Este tamaño permite acumular carga en la puerta flotante mediante un mecanismo


denominado efecto túnel Fowler-Nordheim: Aparece una corriente de efecto túnel aplicando
una tensión de programación a la puerta y manteniendo la tensión de drenaje a tierra que
carga la puerta flotante. Este proceso es reversible invirtiendo los papeles de la puerta y el
drenaje, de forma que una puerta flotante cargada se puede descargar por métodos
eléctricos. Estos transistores se denominan FLOTOX: Floating Gate Tunnel Oxide Transistor.
Las Estructuras EEPROM necesitan de un transistor de selección debido a que,
cuando la puerta flotante no tiene carga, la tensión umbral de un transistor FLOTOX
es negativa.
Entonces un transistor FLOTOX no programado podría conducir corriente entre la
fuente y el drenaje si la tensión de puerta es cero.
Tecnología FLASH.

Como en la tecnología EEPROM, las células FLASH también consisten en dos


transistores, uno de ellos de selección y otro de almacenamiento, de forma que
crean una función And.
El almacenamiento de carga en la puerta flotante se basa en el mismo mecanismo
que en el transistor FAMOS (inyección por avalancha), mientras que el proceso de
borrado se realiza por efecto túnel.
Estructuras PAL.

Desde el punto de vista funcional las estructuras PAL son las más simples de las
PLD.
Consisten en una matriz de puertas AND y una matriz de puertas OR. La primera
de ellas es programable, mientras que la segunda es fija. Para entender la
estructura de una PAL mostramos un diagrama de un grupo de sumas de
productos de la PAL 16L8 (16 entradas L de Lógico y 8 salidas), obtenido de la
información técnica de Cypress. Debemos observar la posibilidad de tener en la
misma línea o bien una entrada o bien una salida, en función de una línea
triestado, controlada por un término producto.
Un paso más consiste en poner biestables a la salida de cada bloque, la
estructura equivalente es la 16R8 (16 entradas, R de Registro y 8 salidas). En la
siguiente figura se observa que las realimentaciones hacia la matriz AND se
obtienen de las salidas de los biestables.

Fusible de seguridad.
El desarrollo de una aplicación exige, por parte de una empresa del uso de
recursos humanos y materiales, que influyen en el coste final del producto
desarrollado. Para evitar determinado tipo de “ingeniería inversa"; esto es la
copia del diseño por parte de otra empresa competidora estas estructuras
disponen de un bit de seguridad (security bit o security fuse) de forma que
impide leer la distribución de conexiones en la matriz programable.
PAL versátiles o V PAL.

Estas estructuras presentan una evolución de la PAL hacia los PLD de más alto
nivel. En las mismas se incluyen una estructura de celda de salida que se parece
cada vez más a las macroceldas que analizaremos con posterioridad.
Cada macrocelda se puede configurar de forma independiente. Los bits de configuración
permiten poner a la salida el resultado del bloque de matrices en diferentes formas:
directamente o bien a través de un registro. La gestión viene determinada por la salida de un
multiplexor que, en función de las líneas de control, selecciona un tipo de salida. (ver figura)

También se puede elegir el estado activo a la salida de la macrocelda. De esta forma se


puede reducir el número de términos necesarios para describir una función.

Por ejemplo, el complemento de una gran suma de términos individuales


X=A+B+C+D+E+F
Se puede expresar como un único término
X=A.B.C.D.E.F
Estructuras GAL.

Las estructuras GAL son, básicamente estructuras CMOS PAL, y fueron


comercializadas por primera vez en 1984 por Lattice Semiconductor2. Como
estructuras CMOS son programables y borrables eléctricamente. Los objetivos
perseguidos por Lattice al introducir esta tecnología son los siguientes:

• Ofrecer productores fabricados según una tecnología que permita velocidades de


trabajo comparables a las PAL bipolares, verificables 100% en la zona de programación
durante su fabricación.

• Permitir una sustitución, patilla a patilla, de las PAL bipolares en cualquier aplicación.

• Ofrecer un consumo mucho más reducido que las PAL bipolares de complejidad
equivalente.

• Disponer de mayor flexibilidad de configuración de entradas/salidas que las PAL


bipolares.
PLD complejas: CPLD

Estas estructuras extienden el concepto de de PLD a un nivel de integración


superior; esto es, se dispone de mayor número de puertas y de entradas/salidas en
un circuito programable (con lo que se disminuye el tamaño del diseño, el consumo
y el precio). En vez de hacer estos circuitos con mayor número de términos
producto por macrocelda, o de mayor número de entradas/salidas, cada CPLD
contiene bloques lógicos, cada uno de ellos similar a una estructura PAL o GAL.
Estos bloques lógicos 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 señales de los dispositivos de
entrada/salida (I/O) hacia los bloques lógicos. Cada uno de estos bloques tiene un
número predeterminado de entradas.

La mayoría de ls CPLDs utilizan una de las siguientes estrategias para la


implementación de la interconexión programable:

• Interconexión basada en estructura matricial.


• Interconexión basada en multiplexores.
Bloques lógicos

Un bloque lógico equivale a una pequeña estructura PAL: Dispone de una matriz
que implementa términos produto y macroceldas. Las celdas de I/O son a veces
consideradas parte de un bloque logico. El tamaño de un bloque lógico es una
medida de su capacidad (cuanta lógica se puede implementar) y se expresa,
habitualmente en términos del número de macroceldas, el número de entradas y el
número de términos producto, así de cómo su distribución.
Macroceldas.
Como en las PLD más sencillas, las CPLD incluyen macroceldas en las que se dispone de
biestables y señales de control de polaridad4. Además se aumenta la flexibilidad de las
mismas.
Por ejemplo muchas CPLDs ofrecen la posibilidad de configurar los biestables como tipo D o
T, para mejorar el proceso de implementación. Además los CPLDs suelen disponer de
macroceldas de I/O (esto es, asociada con una entrada/salida) y macroceldas con salidas
sólo a la matriz programble (buried macrocell).
Otras características de las CPLD

Además de los recursos lógicos, mecanismos de rutado, esquemas de distribución


de términos productos y modelos de retardos temporales, existen otras
características propias de los mismos.

Programabilidad en el sistema (in system programmability o ISP): Es la capacidad


de programar el dispositivo mientras se encuentra en la placa de circuito impreso en
el que opera.
De esta forma se reduce significativamente el coste de fabricación, ya que el
dispositivo se manipula menos en fábrica, no es necesario llevar un inventario
complejo, etc.

Re-programabilidad en el sistema (in system reprogrammability o ISR): Es la


capacidad de reprogramar el CPLD mientras se encuentra en la placa de circuito
impreso. Se puede utilizar para hacer prototipos, cargar actualizaciones o incluso
alterar la función del dispositivo mientras se encuentra en operación.
Boundary Scan: las especificaciones del grupo JTAG (Joint Test Action Group), que se han
convertido en la norma IEEE 1149.1, definen un método para comprobar la funcionalidad de un
dispositivo y las conexiones a otros Circuitos integrados. Desplazando datos a través de las
celdas “boundary scan”, se pueden comprobar las conexiones con otros dispositivos y se pueden
aplicar vectores de test a la lógica interna.

JTAG tambiénespecifica un modo BIST (built-in self-test): Un dispositivo en este modo genera un
conjunto devectores de test pseudo-aleatorio como vectores de estímulo, compara las salidas
con losresultados esperado e informa de los posibles errores.
FPGA´s

Un dispositivo FPGA (field programmable gate array) consiste, básicamente, en una


distribución matricial de celdas lógicas comunicadas entre sí y con celdas de entrada/salida
por medio de unos canales o rutas (routing channels). Desde el punto de vista del número de
macroceldas, suponen un paso más en la dirección de disponer de celdas internas
(recordemos el concepto de celda “enterrada”). Los recursos de conexionado son los canales
(horizontales y verticales) y unas matrices programables de conexión. Las celdas lógicas y los
canales difieren de fabricante a fabricante. Por regla general, las celdas de las FPGAs son
más sencillas que las macroceldas de las CPLD aunque se pueden implementar funciones
más complejas mediante el uso de varias de ellas.
En la actualidad existen dos tecnologías para la fabricación de FPGAs que satisfacen, en
parte, estos requerimientos: SRAM y antifusible. La primera ha sido adoptada por Altera,
Lucent Technologies, Atmel, Xilinx y otros fabricantes. La tecnología de antifusible ha sido
adoptada por Actel, Cypress, QuickLogic y Xilinx. Describiremos brevemente estas
tecnologías, apuntando las ventajas que presentan frente a su competidora.

Esta programación consiste en establecer un contacto entre dos superficies metálicas que
previamente se encuentran aisladas. Para ello se puede utilizar silicio no cristalizado (amorfo)
que hace las veces de aislante entre los metales. Al aplicar un pulso entre 10 y 12 V durante
el tiempo necesario, las capas de metal penetran en esta vía estableciendo el contacto
La principal ventaja de los antifusibles radica en su pequeño tamaño y la posibilidad
de integrar gran cantidad en una pequeña área de silicio. Su desventaja fundamental
es que, una vez programados, no se pueden reprogramar.

La arquitectura básica de la interconexión entre canales verticales y horizontales de


una FPGA de la familia ASIC380 de Cypress viene mostrada en la figura.
Programación mediante Células RAM estáticas.

Las células SRAM se pueden utilizar como control de transistores de paso, de forma que
establezcan conexiones entre los canales verticales y horizontales. Una celda SRAM es
reprogramable ya que no se altera físicamente en el proceso de programación. Las FPGAs que
utilizan esta tecnología deben ser reprogramadas cada vez que se conecta el circuito
(habitualmente desde una EPROM).

Por otra parte una celda de tipo SRAM asociada a un transistor de paso es considerablemente
mas grande que un elemento antifusible, por lo que no se puede alcanzar los niveles de
integración que ofrecen los antifusible. Cada ingeniero de desarrollo debe buscar un
compromiso entre la flexibilidad que ofrecen las FPGAs progrmadas por SRAM y el nivel de
integración y las prestaciones que ofrecen las basabas en programación por antifusible.

You might also like