ARREGLO LOGICO GENERICO (GAL)
JAVIER MICHEL FLORES COYOTL
GAL
GAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de
circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido
diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la
compatibilidad de sus terminales.
Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar
varias veces.
Un GAL en su forma básica es un PLD con una matriz AND reprogramable, una
matriz OR fija y una lógica de salida programable mediante una macrocelda. Esta
estructura permite implementar cualquier función lógica como suma de productos
con un número de términos definido.
En los PLDs no reprogramables la síntesis de las ecuaciones lógicas se realiza
mediante quema de fusibles en cada punto de intersección de los pines de
entrada con las compuertas. En el caso de un GAL es básicamente la misma idea
pero en vez de estar formada por una red de conductores ordenados en filas y
columnas en las que en cada punto de intersección hay un fusible, el fusible se
reemplaza por una celda CMOS eléctricamente borrable (EECMOS). Mediante la
programación se activa o desactiva cada celda EECMOS y se puede aplicar
cualquier combinación de variables de entrada, o sus complementos, a una
compuerta AND para generar cualquier operación producto que se desee. Una celda
activada conecta su correspondiente intersección de fila y columna, y una celda
desactivada desconecta la intersección. Las celdas se pueden borrar y
reprogramar eléctricamente.
ESTRUCTURA
El GAL básicamente está formado por una matriz AND reprogramable y una matriz OR fija con configuración programable de salidas y/o entradas.Las estructuras GAL son estructuras PAL construidas con
tecnología CMOS, y fueron comercializadas por primera vez en 1984 por Lattice
Semiconductor. Como se ha mencionado, son programables y borrables
eléctricamente. Son reprogramables y más flexibles, a la salida de la matriz
AND/OR hay un circuito más complejo con selectores y flip-flops que permiten
implementar ecuaciones más complejas. Hay distintas arquitecturas según la
versión del fabricante. La Figura 7 presenta un ejemplo de una GAL.
El circuito a la salida de la matriz se denomina macrocelda. Tienen integración
baja/media. El Terminal puede funcionar como entrada o salida según la
programación. Los términos productos se dibujan todos sobre una sola línea 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 términos. Las GAL se usan para circuitos lógicos
sencillos y de complejidad media.
La macrocelda, en el idioma inglés es por sus siglas OLMC
(OutputLogicMacrocells). Y son Macroceldas lógicas que contienen puertas OR y
lógica programable, circuitos lógicos que se pueden programar como lógica
combinacional o lógica secuencial (flip-flops, contadores y registros).
REFERENCIA ESTÁNDAR
De manera comercial las GALs están identificadas por un estándar que permite
conocer sus características rápidamente. Por ejemplo a continuación describimos
el dispositivo GAL16V8.
CONSTRUCCION
Basada en la estructura básica mostrada anteriormente, la construcción de los
dispositivos GALs se diferencian por sus características de entradas, salidas y
configuración interna de las macroceldas empleadas, por ejemplo detallemos el
GAL 16V8, donde ciertas localidades en el arreglo de memoria son diseñadas para
controlar las conexiones programables a la matriz de los términos de entrada,
cada bit en esta matriz representa una conexión programable entre un renglón y
una columna. Afortunadamente, no es necesario buscar dentro de las direcciones
de cada localidad de bit en la matriz. El software de programación cuida de
estos detalles en una manera amigable. El diagrama lógico completo del GAL 16V8
se muestra en la figura 8. 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.acterísticas rápidamente.
Por ejemplo a continuación describimos el dispositivo GAL16V8.
La mayoría de los componentes de las GALs son; la matriz de
los términos de entrada, las compuertas AND (las cuales generan los términos
producto de entrada), y las macroceldas lógicas 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 términos de entrada, y así cada
complemento de entrada es conectado a está. Estas terminales siempre serán
especificadas como entradas cuando se programa el dispositivo. Un nivel lógico
y su complemento son siempre retroalimentados de cada macro a una columna de la
matriz de entrada. La fuente de estos niveles lógicos es determinada por la
configuración 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 múltiples. En la matriz de entrada, cualquier
columna puede ser conectada a un renglón de entrada durante el proceso de
programación.
La flexibilidad del GAL 16V8 consiste en su macrocelda lógica de salida
programable (ver figura 9). 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 función 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.
Como un ejemplo de las características ofrecidas por este
tipo de dispositivos, a continuación se enlistan las especificaciones más
relevantes del circuito GAL16V8 de marca Lattice Semiconductor.
• fmax = 250 Mhz.
• 3.5 ns máximo tiempo de propagación.
• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de
salida.
• Celdas Reprogramables.
• Vcc = 5 Volts ± 5%
• Consumo de corriente 90 mA.
• Rapidez en el borrado < >
Las terminales de la 12 a 19 correspondientes al OLMC
(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o
salidas, y en el caso de ser usadas como salidas estas pueden ser
combi nacionales o registradas (Flip Flops), lo cual le da la versatilidad de
ser programado de diferentes formas y para diferentes requerimientos.
La programación de los PLDs en general se lleva a cabo por
medio de programas de aplicación especializados siendo las dos estrategias de
programación más utilizadas la captura esquemática y la de lenguaje de
descripción de hardware (HDL).
La gran ventaja de estas herramientas es el de hacer los diseños en la
computadora, donde los errores son fácilmente detectables y corregibles.
FUNCIONAMIENTO
Una GAL permite implementar cualquier expresión en suma de productos con un
número de variables definidas, por ejemplo este diagrama muestra la estructura
básica de una GAL para dos variables de entrada y una salida.
El proceso de programación consiste en activar o desactivar
cada celda E2CMOS con el objetivo de aplicar la combinación adecuada de
variables a cada compuerta AND y obtener la suma de productos
La salida de compuertas AND se introducen en las macroceldas lógicas de salida
OLMC que contienen compuertas OR y lógica programable.
PRINCIPALES FABRICANTES DE DISPOSITIVOS GALs
Altera
Cypress
Lattice
Philips
Texas Instruments
Xilinx
- (s. f.). Grado en Ingeniería de Telecomunicaciones en Madrid - Escuela Técnica Superior de Ingeniería y Sistemas de Telecomunicación - UPM. https://www.etsist.upm.es/uploaded/464/teoria/tema2/Tema2.pdf
GAL Y VHDL. (s. f.). ELECTRONICA INTEGRADA. http://electronicaintegradaunexpo.blogspot.com/2008/02/gal-y-vhdl.html
Comentarios
Publicar un comentario