Memorias Pal, Gal y Eeprom

15
2013 Rosa María Regalado Hernández, Carlos Fernando Olmedo Rodríguez, Kevin Antonio Pérez Contreras. C. E. INSA Bachillerato Técnico Industrial 8-10-2013 Memorias PAL, GAL y EEPROM

Transcript of Memorias Pal, Gal y Eeprom

Page 1: Memorias Pal, Gal y Eeprom

Rosa María Regalado Hernández, Carlos

Fernando Olmedo Rodríguez, Kevin Antonio

Pérez Contreras.

C. E. INSA Bachillerato Técnico Industrial

8-10-2013

2013Memorias PAL, GAL y EEPROM

Page 2: Memorias Pal, Gal y Eeprom

Memorias PAL:

Un Programmable Array Logic o matriz lógica programable o PAL, es un término

utilizado para describir una familia de dispositivos programables usados para

implementar funciones lógicas en circuitos digitales. Fue introducida por la

compañía Monolithic Memories, Inc. (MMI) en marzo 1978. Los dispositivos PAL

consisten de un núcleo pequeño PROM (memoria programable de solo lectura) y

una lógica de salida adicional para implementar funciones lógicas deseadas con

pocos componentes. Cada dispositivo PAL sólo podía programarse una vez (OTP,

one-time programmable), no podían ser actualizados ni reusados luego de su

programación inicial. La estructura de una PAL se basa en que cualquier función

lógica puede ser descrita por sumas de productos lógicos.

Sistemas combinacionales

programables

Universales

Completos

Imcompletos

No universales

Completos

Incompletos

No universales

Memorias de acceso aleatorio activas (RAM).Memorias de acceso aleatorio pasivas (ROM, PROM, RPROM).

Matríces lógicas probgramables (programmable logic array (PLA))Memórias lógicas Y-programables (programmable array logic (PAL))

Matrices programables de puertas Y (programmable gate array (PGA))Dectetores de identidad o comparadores programables (identy comparators)

Page 3: Memorias Pal, Gal y Eeprom

Una memoria PAL es lo opuesto a una memoria ROM, tiene un arreglo AND

programable y un arreglo OR fijo.

Matriz lógica programable (PAL):

Es el dispositivo programable más común y se implementan con tecnología TTL y

ECL.

Principios de funcionamiento PAL:

Su estructura permite implementar cualquier suma de productos lógica con un

número de variables definido. Cada punto de intersección de una fila y columna se

llama celda y es el elemento programable de la PAL.

Page 4: Memorias Pal, Gal y Eeprom

Implementación de una suma de productos:

Durante el proceso de programación cuando se requiere la conexión entre una fila

y una columna el fusible se deja intacto. Por lo contrario, cuando dicha unión no se

requiere el fusible se abre.

Diagrama de bloques de una PAL:

Page 5: Memorias Pal, Gal y Eeprom

Referencia estándar de una PAL:

Métodos de una programación 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 máquina que pueda entender el dispositivo.

Existen varios lenguajes de programación entre ellos están:

CULP utilizado por WinCULP, Protel.

PALASM (siglas de assembler para PAL).

Page 6: Memorias Pal, Gal y Eeprom

ABEL.

Lenguaje PALASM:

Para poder programar una memoria PAL nos centraremos en el lenguaje

PALASM. Para empezar debemos de disponer de un archivo en código fuente tipo

.PDS que es el que podemos escribir en el editor del PALASM; seguido se

compilara para obtener el lenguaje tipo código máquina que en este caso es el

diagrama de fusibles, este archivo contiene de la información de las conexiones

que deben abrirse para que el dispositivo realice la función deseada, el mismo es

de tipo .JED; este archivo debe ser entregado al programador de PAL para la

programación del mismo, nótese que independientemente con que programa se

realice el código fuente (PALASM o WinCULP) el archivo .JED que le

entreguemos al programador deber ser idéntico.

El lenguaje de programación se compone de operadores y palabras claves, entre

los operadores están:

También hay palabras reservadas que solo pueden ser utilizadas por el lenguaje:

Page 7: Memorias Pal, Gal y Eeprom

Memorias GAL:

Los dispositivos GAL’s, 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

lógica con registros. Las estructuras GAL son, básicamente estructuras CMOS

PAL, son básicamente 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 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 de la memoria GAL:

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

Page 8: Memorias Pal, Gal y Eeprom

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

(Output Logic MacroCells), 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).

Funcionamiento de la memoria GAL:

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. Las celdas E2CMOS activadas conectan las variables

deseadas o sus complementos con las apropiadas entradas de las puertas AND.

Las celdas E2CMOS están 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

programación se activa o desactiva cada celda E2CMOS, y se puede aplicar

cualquier combinación de variables de entrada, o sus complementos, a una puerta

AND para generar cualquier operación 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 eléctricamente. Una celda E2CMOS típica puede mantener el estado

en que se ha programado durante 20 años o más. Las macroceldas lógicas de

salida (OLMCs) están formadas por circuitos lógicos que se pueden programar

Page 9: Memorias Pal, Gal y Eeprom

como lógica combinacional o como lógica secuencial. Las OLMC’s proporcionan

mucha más flexibilidad que la lógica de salida fija de una PAL.

Lenguaje de programación VHDL:

VHDL significa very-high-speed integrated circuits hardware description

language o lenguaje de descripción de hardware de circuitos integrados de muy

alta velocidad. Como indica su denominación es un lenguaje similar

a ADHL o Verilog usado para describir circuitos internos y la programación

de FPGAs. Estos lenguajes presentan un mismo objetivo y se diferencia del

clásico C (o cualquiera parecido a este) por ser un lenguaje paralelo no

secuencial.

Cada función 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:

Page 10: Memorias Pal, Gal y Eeprom

Los bits del lenguaje se definen dentro de la entidad y se denomina “arquitectura”,

la compuerta AND quedaría:

El lenguaje VHDL contiene otros comandos más 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 programación en C. Sin embargo, cuando se define un bucle en

C el código da vueltas y vueltas, en VHDL que en realidad podríamos estar

diciendo que genera múltiplos bloques idénticos de lógica y que todos ellos

procesen los datos en un ciclo de clock – si así se requiere.

Page 11: Memorias Pal, Gal y Eeprom

Memorias EEPROM:

EEPROM responde a “Erasable Programmable Read Only Memory” que se puede

traducir como Memoria programable borrable de solo lectura. También se la

conoce como E-2-PROM. Como su nombre sugiere, una EEPROM puede ser

borrada y programada con impulsos eléctricos. Al ser una pieza que se puede

gestionar por estos impulsos eléctricos, podemos realizar todas estas operaciones

de reprogramación sin tener que desconectarla de la placa a la cual va conectada.

La EEPROM también se conoce como “non-volatile memory” o memoria no volátil

y es debido a que cuando se desconecta la energía, los datos almacenados en la

EEPROM no serán eliminados quedando intactos. Las EEPROM más nuevas no

tiene datos almacenados en ellas y deben ser primero configuradas con un

programador antes de ser usadas. La información almacenada dentro de este

dispositivo puede permanecer durante años sin una fuente de energía eléctrica.

Características de las memorias EEPROM:

1. Se pueden conectar fácilmente 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.

Page 12: Memorias Pal, Gal y Eeprom

Función de la EEPROM:

Son usadas para almacenar información programable de usuario, como por

ejemplo:

1. Información de programación VCR.

2. Información de programación de CD.

3. Información de usuario de productos instalados en el equipo.

Estructura:

El chip EEPROM es físicamente similar a la EPROM chip. También está

compuesto de células 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 más delgada. En los

chips de EEPROM, la capa de aislamiento es sólo alrededor de 1 nanómetro de

espesor, mientras que en EPROM chips, la capa de óxido es de alrededor de 3

nanómetros de espesor. La delgada capa de óxido de medios más bajos requisitos

de voltaje para iniciar los cambios de valor en la celda. Túnel 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 método de cambiar un poco el valor de 1 a 0. Para borrar la

programación EEPROM, la barrera de electrones todavía tiene que ser superado

por la aplicación de suficiente tensión de programación.