Está en la página 1de 12

2013

Memorias PAL, GAL y EEPROM

Rosa

Mara

Regalado

Hernndez,

Carlos Fernando Olmedo Rodrguez, Kevin Antonio Prez Contreras. C. E. INSA Bachillerato Tcnico Industrial 8-10-2013

Memorias PAL:
Un Programmable Array Logic o matriz lgica programable o PAL, es un trmino utilizado para describir una familia de dispositivos programables usados para implementar funciones lgicas en circuitos digitales. Fue introducida por la compaa Monolithic Memories, Inc. (MMI) en marzo 1978. Los dispositivos PAL consisten de un ncleo pequeo PROM (memoria programable de solo lectura) y una lgica de salida adicional para implementar funciones lgicas deseadas con pocos componentes. Cada dispositivo PAL slo poda programarse una vez (OTP, one-time programmable), no podan ser actualizados ni reusados luego de su programacin inicial. La estructura de una PAL se basa en que cualquier funcin lgica puede ser descrita por sumas de productos lgicos.

Completos

Universales
Sistemas combinacionales programables No universales

Imcompletos

Completos Incompletos No universales

Memorias de acceso aleatorio activas (RAM). Memorias de acceso aleatorio pasivas (ROM, PROM, RPROM). Matrces lgicas probgramables (programmable logic array (PLA)) Memrias lgicas Yprogramables (programmable array logic (PAL)) Matrices programables de puertas Y (programmable gate array (PGA)) Dectetores de identidad o comparadores programables (identy comparators)

Una memoria PAL es lo opuesto a una memoria ROM, tiene un arreglo AND programable y un arreglo OR fijo.

Matriz lgica programable (PAL):


Es el dispositivo programable ms comn y se implementan con tecnologa TTL y ECL.

Principios de funcionamiento PAL:


Su estructura permite implementar cualquier suma de productos lgica con un nmero de variables definido. Cada punto de interseccin de una fila y columna se llama celda y es el elemento programable de la PAL.

Implementacin de una suma de productos:


Durante el proceso de programacin cuando se requiere la conexin entre una fila y una columna el fusible se deja intacto. Por lo contrario, cuando dicha unin no se requiere el fusible se abre.

Diagrama de bloques de una PAL:

Referencia estndar de una PAL:

Mtodos de una programacin de una PAL:


Estos dispositivos al igual que las computadoras permiten que se trabaje programando en alto nivel, luego nos valemos de un compilador que traduzca todas las instrucciones en lenguaje mquina que pueda entender el dispositivo. Existen varios lenguajes de programacin entre ellos estn: CULP utilizado por WinCULP, Protel. PALASM (siglas de assembler para PAL).

ABEL.

Lenguaje PALASM:
Para poder programar una memoria PAL nos centraremos en el lenguaje PALASM. Para empezar debemos de disponer de un archivo en cdigo fuente tipo .PDS que es el que podemos escribir en el editor del PALASM; seguido se compilara para obtener el lenguaje tipo cdigo mquina que en este caso es el diagrama de fusibles, este archivo contiene de la informacin de las conexiones que deben abrirse para que el dispositivo realice la funcin deseada, el mismo es de tipo .JED; este archivo debe ser entregado al programador de PAL para la programacin del mismo, ntese que independientemente con que programa se realice el cdigo fuente (PALASM o WinCULP) el archivo .JED que le entreguemos al programador deber ser idntico. El lenguaje de programacin se compone de operadores y palabras claves, entre los operadores estn:

Tambin hay palabras reservadas que solo pueden ser utilizadas por el lenguaje:

Memorias GAL:
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 de la memoria GAL:


El GAL bsicamente est formado por una matriz AND reprogramable y una matriz OR fija con configuracin programable de salidas y/o entradas.

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. 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).

Funcionamiento de la memoria 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.

Lenguaje de programacin VHDL:


VHDL significa very-high-speed integrated circuits hardware description

language o lenguaje de descripcin de hardware de circuitos integrados de muy alta velocidad. Como indica su denominacin es un lenguaje similar

a ADHL o Verilog usado para describir circuitos internos y la programacin de FPGAs. Estos lenguajes presentan un mismo objetivo y se diferencia del clsico C (o cualquiera parecido a este) por ser un lenguaje paralelo no secuencial. Cada funcin que deseamos, es a nivel superior definida por una entidad donde se especifica las entradas y salidas del bloque. Por ej, una compuerta AND queda definida como:

Los bits del lenguaje se definen dentro de la entidad y se denomina arquitectura, la compuerta AND quedara:

El lenguaje VHDL contiene otros comandos ms complejos que pueden existir dentro de la arquitectura como Loops While, If y If-Else. Todos los tipos de cosas que se ven en la programacin en C. Sin embargo, cuando se define un bucle en C el cdigo da vueltas y vueltas, en VHDL que en realidad podramos estar diciendo que genera mltiplos bloques idnticos de lgica y que todos ellos procesen los datos en un ciclo de clock si as se requiere.

Memorias EEPROM:
EEPROM responde a Erasable Programmable Read Only Memory que se puede traducir como Memoria programable borrable de solo lectura. Tambin se la conoce como E-2-PROM. Como su nombre sugiere, una EEPROM puede ser borrada y programada con impulsos elctricos. Al ser una pieza que se puede gestionar por estos impulsos elctricos, podemos realizar todas estas operaciones de reprogramacin sin tener que desconectarla de la placa a la cual va conectada. La EEPROM tambin se conoce como non-volatile memory o memoria no voltil y es debido a que cuando se desconecta la energa, los datos almacenados en la EEPROM no sern eliminados quedando intactos. Las EEPROM ms nuevas no tiene datos almacenados en ellas y deben ser primero configuradas con un programador antes de ser usadas. La informacin almacenada dentro de este dispositivo puede permanecer durante aos sin una fuente de energa elctrica.

Caractersticas de las memorias EEPROM:


1. Se pueden conectar fcilmente con microprocesadores o

microcontroladores, algunas de estas memorias tienen pines para realizar esta labor.

2. Transferencia de datos de manera serial, lo que permite ahorro del micro para dedicarlo a otras funciones.

3. El consumo de corriente es mucho menor que en las memorias que trabajan en paralelo.

Funcin de la EEPROM:
Son usadas para almacenar informacin programable de usuario, como por ejemplo: 1. Informacin de programacin VCR.

2. Informacin de programacin de CD.

3. Informacin de usuario de productos instalados en el equipo.

Estructura:
El chip EEPROM es fsicamente similar a la EPROM chip. Tambin est compuesto de clulas con dos transistores. La puerta flotante se separa de la puerta de control por una delgada capa de xido. A diferencia de la EPROM chip, sin embargo, el chip de EEPROM capa de xido es mucho ms delgada. En los chips de EEPROM, la capa de aislamiento es slo alrededor de 1 nanmetro de espesor, mientras que en EPROM chips, la capa de xido es de alrededor de 3 nanmetros de espesor. La delgada capa de xido de medios ms bajos requisitos de voltaje para iniciar los cambios de valor en la celda. Tnel de los electrones de la puerta flotante a la capa de xido que separa la puerta flotante y el control de la puerta sigue siendo el mtodo de cambiar un poco el valor de 1 a 0. Para borrar la programacin EEPROM, la barrera de electrones todava tiene que ser superado por la aplicacin de suficiente tensin de programacin.