Você está na página 1de 16

1.

Introduccin

Las PAL (Arreglos Lgicos Programables), que como su nombre lo indica son
arreglos matriciales de fusibles y diodos que mediante una cierta lgica pueden
llegar a desempear cualquier funcin booleana. Su arquitectura interna
consiste en trminos AND programables que alimentan trminos OR fijos.
Todas las entradas a la matriz pueden ser combinadas mediante AND entre si,
pero los trminos AND especficos se dedican a trminos OR especficos. Las
PAL tienen una arquitectura muy popular y son probablemente el tipo de
dispositivo programable por usuario ms empleado. Si un dispositivo contiene
macroclulas, comnmente tendr una arquitectura PAL.

Las PAL son PLD que se han desarrollado para superar ciertas desventajas de
la PLA, tales como los largos retardos debidos a los fusibles adicionales que
resultan de la utilizacin de dos matrices programables y la mayor complejidad
del circuito. Bsicamente la PAL est formada por una matriz AND programable
y una matriz OR fija con la lgica de salida, esta estructura permite
implementar cualquier suma de productos lgica con un nmero de variables
definido, sabiendo que cualquier funcin lgica puede expresarse como suma
de productos. La PAL es el dispositivo lgico programable ms comn y se
implementa con tecnologa bipolar TTL o ECL.


2- Arreglos Lgicos Programables (PAL)

Un dispositivo lgico programable es aquel cuyas caractersticas pueden ser
modificadas y almacenadas mediante programacin. Entre los dispositivos
lgicos programables el PAL es el ms simple, son los ms populares y los
ms utilizados.

El circuito interno de un PAL consiste de una matriz de conexiones, una matriz
de compuertas AND programables y un arreglo de compuertas OR fijo [1]. La
matriz de conexiones es una red de conductores distribuidos en filas y
columnas con un fusible en cada punto de interseccin, mediante la cual se
seleccionan cuales entradas del dispositivo sern conectadas al arreglo OR y
as obtener una funcin lgica en forma de suma de productos. Los circuitos
PAL son no reprogramables; ya que la sntesis de las ecuaciones lgicas se
realiza a travs de la quema de fusibles en cada punto de interseccin de los
pines de entrada con las compuertas.
3. Estructura de la PAL
En la Figura 1 se muestra la estructura interna de una PAL, en esta se observa
que cada lnea de salida es conectada a tres lneas producto y por consiguiente
representa una suma de tres trminos producto.

Figura 1. Estructura interna de la PAL.

Debido al arreglo OR, la representacin del PAL mostrada en la Figura 2 es
ms usada que el de la Figura 1.


Figura 2. Estructura interna de la PAL estndar.

4. Funcionamiento de la PAL.
Como se ha mencionado, las PAL estn formadas por una matriz de puertas
AND programable conectada a una puerta OR fija. Esta estructura permite
implementar cualquier suma de productos lgicos con un nmero de variables
definidas y limitadas, entre otras, por el nmero de entradas y salidas que
tenga el dispositivo.
En la Figura 3 se muestra la estructura bsica de un PAL para tres variables de
entrada y salida sin programar [2]. Cada punto de interseccin entre una fila y
una columna se denomina celda y es el elemento programable de la PAL. Cada
fila se conecta a la entrada de una puerta AND y cada columna a la variable de
entrada o su complemento. En funcin de la presencia o ausencia de las
conexiones creadas por programacin, se puede aplicar cualquier combinacin
de variables de entrada o sus complementos a una puerta AND para generar
cualquier operacin producto que se desee.

Figura 3. PAL con matriz AND sin programar.

La implementacin de una funcin lgica sobre un PAL, se muestra la figura 4,
donde las seales que entran a la matriz son las variables de entrada y sus
complementos. Cuando se requiere la conexin entre una fila y una columna, el
fusible queda intacto, Cuando dicha conexin no se requiere, el fusible se abre
en el proceso de programacin. La salida de la puerta OR proporciona
finalmente la suma de productos. Observe que si alguna entrada de una puerta
AND queda sin conectar, esta adquiere el valor del elemento neutro del
producto lgico, sin afectar el resultado de dicha puerta.

Figura 4. PAL con matriz AND programada.
5. Smbolo simplificado de la PAL.
Puesto que las PAL son circuitos integrados muy complejos desde el punto de
vista interno, los fabricantes han adoptado una notacin simplificada para
eliminar los diagramas lgicos complicados. En la Figura 5 se muestra la
notacin.

Figura 5. Smbolo simplificado de una PAL.

Buffer de entrada: Para evitar cargar con la gran cantidad de entradas de
puertas AND a las que se pueden conectar una variable o su complemento, se
aade un buffer a las variables de entrada de la PAL. Un buffer inversor genera
el complemento de una variable de entrada.
Puertas AND: una matriz AND de una puerta PAL tpica tiene una gran
cantidad de lneas de interconexin y cada puerta AND tiene entradas
mltiples. El diagrama lgico de una PAL muestra cada puerta AND que
realmente tienen varias entradas, utilizando una sola lnea para representar a
todas las lneas de entrada.
Conexiones de una PAL: Para obtener un diagrama lo ms sencillo posible, los
fusibles de una matriz AND programable se indican mediante una X en el punto
de interseccin si el fusible queda intacto y no se indica nada s el fusible esta
fundido. Las conexiones fijas emplean el punto estndar.
6. Diagrama de bloque de una PAL.
Las salidas de la matriz AND son las entradas de la matriz OR y la salida de
cada puerta OR se asocia a una variable lgica de salida. Una PAL tpica tiene
ocho o ms entradas en la matriz AND y hasta ocho bloques lgicos de salida
como se muestra en la Figura 6 [3].


Figura 6. Diagrama de bloque de una PAL.

Algunas PAL disponen de pines de entrada/salida (E/S) combinados, que se
pueden programar como salida o como entrada. La presencia de estos pines es
muy til cuando se desea, por ejemplo, realizar una realimentacin entre
variables de salida y entrada como es el caso del diseo de un biestable.
7. Fabricantes de la PAL.
Dispositivos PAL (o simplemente PALS) se introducen en 1978 por Monolithic
Memories, Inc., (MMI), la arquitectura era ms sencilla que la FPLA porque
omita la matriz OR programable. Esto hizo los dispositivos ms rpidos, ms
pequeos y ms baratos [4].
Los PAL de MMI pronto fueron distribuidos por AMD la cual empleo tecnologa
PROM de fusibles Titanio-Tungsteno programables una sola vez; Texas
Instruments apoya las PALs con arquitectura variable programables una sola
vez y National Semiconductor, quien fue el pionero en el desarrollo de Arreglos
Lgicos Programables (Programmable Logic Arrays, PLAs) en forma de un DIP
grande de 24 pines o terminales (0.6 pulgadas de ancho) con 96 trminos
productos, 14 entradas, 8 salidas.
El primer circuito PAL fue el 16L8, de 20 terminales (pines), con soporte para 8
salidas y hasta 16 entradas con tecnologa Bipolar, mostrada en la Figura 7, en
cada macro celda se observa:
Cada variable de entrada es distribuida negada y sin negar en la matriz de
interseccin mediante los literales (columnas).
Todas las columnas cruzan lneas horizontales donde se puede realizar el
AND cableado de las columnas que se elijan y con ello generar en cada fila la
suma de productos que se desee.
Siete filas son unidas mediante una compuerta OR para realizar la suma de
productos.
La seal de salida es negada por cuestiones de velocidad; ya que es ms
rapida una compuerta NOR que una OR, aunque existe la PAL 16H8, donde la
salida en la compuerta OR sale sin negar.
En algunas macroceldas el valor de salida se realimenta negado y sin negar a
todo el circuito, lo cual permite la conexin en cascada de lgica, para la
sntesis de funciones ms complejas. Esto adems facilita el diseo de circuitos
realimentados para la elaboracin de celdas de emorias.
Las salidas se pueden controlar individualmente a travs de las compuertas
Tri-State de cada una y con esto poder seleccionar la salida como entrada.

Figura 7. PAL16L8 en encapsulado DIP20.

Con este tipo de dispositivos pueden simularse arreglos del tipo de Productos
Lgicos, o en su caso realizar decodificacin de direcciones. Sin embargo, la
mayor aportacin de los dispositivos PAL fue generar aplicaciones especficas
en muy corto tiempo. La operacin de estos dispositivos inicio manejando
velocidades de 4.7 Mhz para la IBM PC hasta 33 Mhz, para posteriormente
alcanzar los 50 Mhz; hoy se pueden encontrar dispositivos que operan con un
retraso de propagacin de la seal del orden de 5ns.
Sin embargo, su estructura simple tambin es su principal desventaja, ya que
solo se pueden implementar pequeos circuitos lgicos representados con un
modesto nmero de trminos producto, porque su estructura de interconexin
esta fija en cuanto a que no se puede configurar la salida si se requiere que
sea activo alto, activo bajo, con o sin registro. En la Figura 8 se observa el
diseo de una PAL con puertas de distintos tipos.


Figura 8. Diseo de una PAL con puertas de distintos tipos.

En el mercado se manejan referencias de las PALs comerciales como la
PAL16L8, PAL20L8, PAL20V8 y PAL20X8.

8. Nomenclatura de la PAL.
Los lderes en fabricacin de PLDs, Texas Instruments y AMD, tienen una
notacin para identificar los dispositivos [2]. Por ejemplo, la estructura en PLD
segn AMD es:


Figura 9. Nomenclatura utilizada para identificar los PLD segn AMD.

Dentro de la estructura de salida se tienen las posibilidades contenidas en la
tabla 1.
Tabla 1 Tipos de Salidas de una PAL.


9. Conclusiones.
Los PAL internamente estn formados por matriz de conexiones, matriz de
compuertas AND programables y un arreglo de compuertas OR fijo, y se
encuentran disponibles en varias tecnologas de circuitos, adems de TTL
bipolar de fusibles programables.
Debido a la complejidad del circuito interno de las PAL, los fabricantes
implementaron un circuito simplificado para eliminar los diagramas lgicos
complicados utilizando buffer de entradas, una sola lnea para representar a
todas las lneas de entrada de una AND, indicando los fusibles mediante una X
en el punto de interseccin, entre otros.
Entre los fabricantes de las PAL, se encuentran la Monolithic Memories, Inc.,
(MMI), National Semiconductor, Texas Instruments y AMD.
Los arreglos lgicos programables (PAL) son introducidos al mercado como un
reemplazo de bajo costo para las compuertas lgicas PROM y PLA.
Las velocidad de manejo de las PAL es de 4.7 Mhz para la IBM PC hasta 50
Mhz, adems existen dispositivos que operan con un retraso de propagacin
de la seal del orden de 5 ns.


GAL'S.
GAL (Generic Array Logic), en espaol Arreglo Lgico Genrico, son un tipo de
circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido
diseados con el propsito de sustituir a la mayora de las PAL, manteniendo la
compatibilidad de sus terminales.
Los dispositivos GALs, surgen como respuesta a la necesidad de incrementar las
interconexiones internas de los dispositivos, teniendo sus salidas conectadas a
macroceldas, las cuales pueden ser configuradas a sistemas combinatorios o de lgica
con registros. Las estructuras GAL son, bsicamente estructuras CMOS PAL, son
bsicamente la misma idea que la PAL pero en vez de estar formada por una red de
conductores ordenados en filas y columnas en las que en cada punto de interseccin hay
un fusible, el fusible se reemplaza por una celda CMOS elctricamente borrable
(EECMOS). Mediante la programacin se activa o desactiva cada celda EECMOS y se
puede aplicar cualquier combinacin de variables de entrada, o sus complementos, a una
compuerta AND para generar cualquier operacin producto que se desee. Una celda
activada conecta su correspondiente interseccin de fila y columna, y una celda
desactivada desconecta la interseccin. Las celdas se pueden borrar y reprogramar
elctricamente.
ESTRUCTURA DEL GAL
El GAL bsicamente est formado por una matriz AND reprogramable y una matriz OR
fija con configuracin programable de salidas y/o entradas. (ver figura 3).



Figura 3. Estructura basica de un dispositivo GAL
Las estructuras GAL son estructuras PAL construidas con tecnologa CMOS, y
fueron comercializadas por primera vez en 1984 por Lattice Semiconductor.
Como se ha mencionado, son programables y borrables elctricamente. Son
reprogramables y ms flexibles, a la salida de la matriz AND/OR hay un circuito
ms complejo con selectores y flip-flops que permiten implementar ecuaciones
ms complejas. Hay distintas arquitecturas segn la versin del fabricante.
La Figura 4 presenta un ejemplo de una GAL (GAL22V10). Donde el circuito a
la salida de la matriz se denomina macrocelda y tienen una escala de
integracin baja/media. El Terminal puede funcionar como entrada o salida
segn la programacin. Los trminos productos se dibujan todos sobre una
sola lnea para simplificar el diagrama.

Un terminal en modo salida puede reflejar la salida Q y Q negada del flip-flop
para circuitos secuenciales o la entrada D y negada para circuitos
combinacionales. De modo similar puede realimentar el terminal de salida o la
salida Q negada del flip flop hacia otros trminos. Las GAL se usan para
circuitos lgicos sencillos y de complejidad media.
La macrocelda, en el idioma ingls es por sus siglas OLMC (Output Logic
MacroCells), contienen puertas OR y lgica programable, circuitos lgicos que
se pueden programar como lgica combinacional o lgica secuencial (flip-flops,
contadores y registros.

Figura 4, Esquematico de la GAL22V10

CONSTRUCCION DEL GAL
Basada en la estructura bsica mostrada anteriormente, la construccin de los
dispositivos GALs se diferencian por sus caractersticas de entradas, salidas y
configuracin interna de las macroceldas empleadas, por ejemplo detallemos el GAL
16V8, donde ciertas localidades en el arreglo de memoria son diseadas para controlar
las conexiones programables a la matriz de los trminos de entrada, cada bit en esta
matriz representa una conexin programable entre un rengln y una columna.
Afortunadamente, no es necesario buscar dentro de las direcciones de cada localidad de
bit en la matriz. El software de programacin cuida de estos detalles en una manera
amigable. El diagrama lgico completo del GAL 16V8 se muestra en la figura 5. Este
dispositivo tiene ocho terminales de entrada dedicadas (terminales 2-9), dos con
funciones especiales (1 y 11), y ocho (12-19) que pueden ser usadas como entradas o
salidas.

Figura 5, Diagrama logico del GAL16V8
La mayora de los componentes de las GALs son; la matriz de los trminos de
entrada, las compuertas AND (las cuales generan los trminos producto de
entrada), y las macroceldas lgicas de salida (OLMCs, Output Logic Macro
Cells). Hay que notar que las 8 terminales de entrada son conectados
directamente a una columna de la matriz de trminos de entrada, y as cada
complemento de entrada es conectado a est. Estas terminales siempre sern
especificadas como entradas cuando se programa el dispositivo. Un nivel
lgico y su complemento son siempre retroalimentados de cada macro a una
columna de la matriz de entrada. La fuente de estos niveles lgicos es
determinada por la configuracin de cada macro. Con esto, da un total de 32
variables de entrada (columnas en la matriz de entrada) que pueden ser
programadas como conexiones a las 64 compuertas AND de entradas
mltiples. En la matriz de entrada, cualquier columna puede ser conectada a un
rengln de entrada durante el proceso de programacin.

La flexibilidad del GAL 16V8 consiste en su macrocelda lgica de salida
programable (ver figura 6). Ocho productos diferentes (salidas de las
compuertas AND) son aplicadas como entradas a cada una de las ocho
macroceldas. Dentro de cada macro los productos son enviados a una
compuerta OR al mismo tiempo para generar la suma de productos (SOP, sum
of products). Recordando, cualquier funcin puede ser expresada como una
forma de SOP. Dentro de la macro, la salida del SOP puede ser enrutado a la
terminal de salida para implementar un circuito combinacional, o como entrada
a un flip-flop tipo D para implementar un circuito con salida registrada


Figura 6, macrocelda lgica de salida programable de GAL 16V8

FUNCIONAMIENTO DEL GAL

Una GAL permite implementar cualquier expresin en suma de productos con
un nmero de variables definidas, por ejemplo este diagrama muestra la
estructura bsica de una GAL para dos variables de entrada y una salida.
El proceso de programacin consiste en activar o desactivar cada celda
E2CMOS con el objetivo de aplicar la combinacin adecuada de variables a
cada compuerta AND y obtener la suma de productos.
Las celdas E2CMOS activadas conectan las variables deseadas o sus
complementos con las apropiadas entradas de las puertas AND. Las celdas
E2CMOS estn desactivadas cuando una variable o su complemento no se
utiliza en un determinado producto. La salida final de la puerta OR es una suma
de productos. Cada fila est conectada a la entrada de una puerta AND, y cada
columna a una variable de entrada o a su complemento. Mediante la
programacin se activa o desactiva cada celda E2CMOS, y se puede aplicar
cualquier combinacin de variables de entrada, o sus complementos, a una
puerta AND para generar cualquier operacin producto que se desee. Una
celda activada conecta de forma efectiva su correspondiente fila y columna, y
una celda desactivada desconecta la fila y la columna. Las celdas se pueden
borrar y reprogramar elctricamente. Una celda E2CMOS tpica puede
mantener el estado en que se ha programado durante 20 aos o ms.
Las macroceldas lgicas de salida (OLMCs) estn formadas por circuitos
lgicos que se pueden programar como lgica combinacional o como lgica
secuencial. Las OLMCs proporcionan mucha ms flexibilidad que la lgica de
salida fija de una PAL.

Figura 7, Esquematico de funcionamiento de una GAL de 2 entradas y una salida.

Descripcin de una GAL

La GAL es una innovacin de PAL y su nombre significa Generic Array
Logic (Matriz lgica genrica), fue desarrollada en 1985, y aunque tiene las
mismas propiedades lgicas del PAL, la GAL puede ser borrada y
reprogramada. Por lo que la GAL resulta ser muy til en las fases de prototipo
de un diseo, debido a que cualquier fallo en la lgica puede ser corregido
mediante reprogramacin.
Una GAL permite implementar cualquier expresin en suma de productos con
un nmero de variables definidas. Para el proceso de programacin se lleva a
cabo activando o desactivando cada celda E2CMOS con el objetivo de aplicar
las combinaciones adecuadas de variables a cada compuerta AND y obtener
as la suma de productos.



Dentro de una GAL, cada fila est conectada a la entrada de una puerta
AND, y cada columna a una variable de entrada o a su complemento.
Dependiendo de la distribucin de las celdas que estn activadas (ya sean
variables de entrada o sus complementos) se obtiene un producto, pero debi a
que todas las celdas son reprogramables, se pueden activar o desactivar las
celdas a la compuerta segn sea necesario, y de esta manera obtener
cualquier operacin producto que se desee.
Para poder programar y reprogramar una GAL se utiliza un programador
OPAL, o en su defecto se utiliza la tcnica de programacin de circuitos en los
chips secundarios.
Las celdas E2CMOS activadas conectan a las variables deseadas (o sus
complementos) con las apropiadas entradas de las puertas AND. Una celda
E2CMOS se encuentra desactivada cuando ninguna variable o su
complemento la utilizan para un determinado producto (por lo tanto desconecta
la fila y la columna). En cambio una celda activada logra conectar de forma
efectiva su correspondiente fila y columna.



Diferencias entre PAL y PLA

El concepto de PAL proviene de Programmable Array Logic (Arreglo Lgico
Programable) mientras que PLA es Programmable Logic Array (Lgico Arreglo
Programable), y aunque la diferencia en cuanto a los nombres es muy sutil, hay
una gran diferencia entre ambos conceptos.

La PLA es un dispositivo lgico programable que implementa circuitos
lgicos combinacionales. A este tipo de dispositivos, tambin se les conoce
como Field Programmable Logic Array (Arreglos Lgicos Programables de
Campo). Tiene ambas matrices (AND y OR) interconectadas entre si y adems
ambas son programables de esta forma solo se seleccionan los productos de
trminos necesarios para las diferentes aplicaciones esto permite mayor
eficiencia a la matriz programable y hace al dispositivo ms verstil. Estos
PLDs incluyen adems la capacidad de programar la polaridad de salida, lo
que permite trabajar con Max-trminos si se requieren; esto se logra a travs
de una OR Exclusiva.

La PAL tiene su base en PLD que fue desarrollada para superar ciertas
desventajas que tiene la PLA, por ejemplo, la PLA tiene mayor retraso debido a
que usa dos matrices programables y tiene un circuito de mayor
complejidad. La PAL consiste en una matriz AND programable y una matriz
OR fija.
Su construccin permite que por cada entrada que se agregue no sea
necesario duplicar la cantidad de fusibles y el tener una matriz fija (OR)
conduce a un menor retardo en el circuito. Tambin incluye la capacidad de
programar la polaridad de salida. Este PLD puede incluir una serie de
componentes a la salida del plano OR, como pueden ser: Inversores y Flip-
Flops, que permitan hacer del dispositivo, un PLD verstil. Es por dichas
caractersticas y cualidades que la PAL es mayormente usada que la PLA
Funcionamiento del GAL
Una GAL permite implementar cualquier expresin en suma de productos con
un nmero de variables definidas. El proceso de programacin consiste en
activar o desactivar cada celda E2CMOS con el objetivo de aplicar la
combinacin adecuada de variables a cada compuerta AND y obtener la suma
de productos.
Las celdas E2CMOS activadas conectan las variables deseadas o sus
complementos con las apropiadas entradas de las puertas AND. Las celdas
E2CMOS estn desactivadas cuando una variable o su complemento no se
utilizan en un determinado producto. La salida final de la puerta OR es una
suma de productos. Cada fila est conectada a la entrada de una puerta AND,
y cada columna a una variable de entrada o a su complemento. Mediante la
programacin se activa o desactiva cada celda E2CMOS, y se puede aplicar
cualquier combinacin de variables de entrada, o sus complementos, a una
puerta AND para generar cualquier operacin producto que se desee. Una
celda activada conecta de forma efectiva su correspondiente fila y columna, y
una celda desactivada desconecta la fila y la columna.
Celdas se pueden borrar y reprogramar elctricamente. Una celda E2CMOS
tpica puede mantener el estado en que se ha programado durante 20 aos o
ms. Las macroceldas lgicas de salida (OLMCs) estn formadas por circuitos
lgicos que se pueden programar como lgica combinacional o como lgica
secuencial. Las OLMCs proporcionan mucha ms flexibilidad que la lgica de
salida fija de una PAL. </p