You are on page 1of 35

EVOLUCIN DE LOS CPLDs

1.- INTRODUCCIN
Las computadoras y otros tipos de sistemas requieren el almacenamiento
permanente o semipermanente de un gran nmero de datos binarios. Los sistemas
basados en microprocesadores necesitan de la memoria para almacenar los
programas y datos generados durante el procesamiento y disponer de ellos cuando
sea necesario.
Las modernas tcnicas de circuitos integrados permiten combinar miles e incluso
millones de puertas dentro de un solo encapsulado. Esto ha llevado a la fabricacin
de diseos ms complejos como los dispositivos lgicos programables, memorias y
microprocesadores, que proporcionan dentro de un solo chip circuitos que requieren
gran cantidad de componentes discretos.
Las memorias son dispositivos de almacenamiento de datos binarios de largo o corto
plazo .La memoria es un componente fundamental de las computadoras digitales y
est presente en gran parte de los sistemas digitales. La memoria de acceso
aleatorio (RAM, random access memory) almacena datos temporalmente, la
memoria de slo lectura (ROM, Read only memory) los guarda de manera
permanente. La ROM forma parte del grupo de componentes llamados dispositivos
lgicos programables (PLD, programmable logic devices), que emplean la
informacin almacenada para definir circuitos lgicos.
Dispositivos que son capaces de proveer el medio fsico para almacenar esta
informacin. Y aunque esta es su tarea fundamental (ms del 90 % de las memorias
se dedican a este fin) tambin se pueden utilizar para la implementacin de circuitos
combinacionales y pueden sustituir la mayor parte de la lgica de un sistema.
Los chips LSI pueden programarse para realizar funciones especficas. Un
dispositivo lgico programable (PLD) es un chip LSI que contiene una estructura de
circuito regular, pero que permite al diseador adecuarlo para una aplicacin
especfica. Cuando un PLD tpico deja la fbrica de IC, an no est listo para una
funcin especfica, sino que debe ser programado por el usuario para que realice la
funcin requerida en una aplicacin particular. Los chips con la mayor funcionalidad
por unidad de rea han sido los chips de memoria, que contienen arreglos
rectangulares de celdas de memoria. Uno de los PLD es el chip de memoria de slo
lectura.
En una primera clasificacin, se puede distinguir entre memorias de almacenamiento
masivo, caracterizadas por ser memorias baratas y lentas, y memorias
semiconductoras o memorias de estado slido, ms caras y rpidas. En las primeras,
la prioridad es disponer de una gran capacidad de almacenamiento, como ocurre en
los discos duros, en tanto que en las segundas, la prioridad es disponer de
velocidades de acceso rpidas compatibles con la mayor capacidad de
almacenamiento posible Que son las habitualmente utilizadas como memorias de
almacenamiento de programa y de datos en la mayora de las aplicaciones. Que
ofrece cada tipo de memoria as como las tecnologas de fabricacin, que han
permitido un espectacular avance en las velocidades y escalas de integracin en los
ltimos aos.
Podemos considerar una memoria como un conjunto de M registros de N bits cada
uno de ellos. Estos registros ocupan las posiciones desde el valor 0 hasta M-1. Para
acceder a cada registro es necesaria una lgica de seleccin. En general, para cada
registro se pueden realizar procesos de lectura y de escritura. Para realizar todas
estas operaciones son necesarios los siguientes terminales T
erminales de datos
(de entrada y de salida). En nuestro caso son necesarios N terminales:
T
erminales de direcciones, son necesarios m, de tal forma de 2m=M

T
erminales de control. Son los que permiten especificar si se desa realizar una
operacin de escritura o de lectura, seleccionar el dispositivo.
/CS (Chip select): Es el terminal de seleccin de chip (habitualmente es activo con
nivel bajo.
1 Las primeras son las relacionadas con nuestros conocidos discos de ordenador, y
las ltimas estn abriendo en la actualidad un atractivo abanico de posibilidades:
desde los discos magnetopticos hasta las memorias hologrficas.
R/W (Read/Write): Selecciona el modo de operacin (lectura o escritura) sobre la
memoria. habitualmente con valor bajo es activo el modo de escritura.
OE (Output Enable). Controla el estado de alta impedancia de los terminales de
salida del dispositivo.

2.-MEMORIAS PROGRAMABLES
2.1.- MEMORIA ROM (READ ONLY MEMORY)
Es una memoria de slo lectura que se programan mediante mscaras. Es decir,
el contenido de las celdas de memoria se almacena durante el proceso de
fabricacin para mantenerse despus de forma irrevocable. Desde el instante en
que el fabricante grabo las instrucciones en el Chip, por lo tanto la escritura de
este tipo de memorias ocurre una sola vez y queda grabado su contenido aunque
se le retire la energa.
Se usa para almacenar informacin vital para el funcionamiento del sistema: en
la gestin del proceso de arranque, el chequeo inicial del sistema, carga del
sistema operativo y diversas rutinas de control de dispositivos de entrada/salida
suelen ser las tareas encargadas a los programas grabados en ROM. Estos
programas forman la llamada BIOS (Basic Input Output System). Junto a la BIOS
se encuentra el chip de CMOS donde se almacenan los valores que determinan
la configuracin hardware del sistema, como tipos de unidades, parmetros de
los discos duros, fecha y hora del sistema... esta informacin no se pierde al
apagar la computadora. Estos valores se pueden modificar por medio del
SETUP.
La memoria ROM constituye lo que se ha venido llamando Firmware, es decir, el
software metido fsicamente en hardware. De cara a los fines del usuario es una
memoria que no sirve para la operacin de su programa, slo le aporta mayores
funcionalidades (informacin) del equipo.
Si tenemos idea de cmo se fabrican los circuitos integrados, sabremos de donde
viene el nombre. Estos se fabrican en obleas (placas de silicio) que contienen
varias decenas de chips. Estas obleas se fabrican a partir de procesos
fotoqumicos, donde se impregnan capas de silicio y oxido de silicio, y segn
convenga, se erosionan al exponerlos a la luz. Como no todos los puntos han de
ser erosionados, se sita entre la luz y la oblea una mascara con agujeros, de
manera que donde deba incidir la luz, esta pasar. Con varios procesos similares
pero ms complicados se consigue fabricar los transistores y diodos
micromtricos que componen un chip. El elevado coste del diseo de la mscara
slo hace aconsejable el empleo de los microcontroladores con este tipo de
memoria cuando se precisan cantidades superiores a varios miles de unidades.
Los PCs vienen con una cantidad de ROM, donde se encuentras los programas
de BIOS (Basic Input Output System), que contienen los programas y los datos
necesarios para activar y hacer funcionar el computador y sus perifricos.
La ventaja de tener los programas fundamentales del computador almacenados
en la ROM es que estn all implementados en el interior del computador y no
hay necesidad de cargarlos en la memoria desde el disco de la misma forma en
que se carga el DOS. Debido a que estn siempre residentes, los programas en

ROM son muy a menudo los cimientos sobre los que se construye el resto de los
programas (incluyendo el DOS).
Estas memorias, cuyo nombre procede de las iniciales de Read Only Memory
son solo de lectura. Dentro de un proceso de elaboracin de datos de una
computadora, no es posible grabar ningn dato en las memorias ROM. Son
memorias perfectas para guardar microprogramas, sistemas operativos, tablas de
conversin, generacin de caracteres etc.
Las caractersticas fundamentales de las memorias ROM son:
1. Alta densidad: la estructura de la celda bsica es muy sencilla y permite altas
integraciones.
2. No voltiles: el contenido de la memoria permanece si se quita la
alimentacin.
3. Coste: dado que la programacin se realiza a nivel de mscaras durante el
proceso de fabricacin, resultan baratas en grandes tiradas, de modo que el
coste de fabricacin se reparte en muchas unidades y el coste unitario es baja.
4. Slo lectura: nicamente son programables a nivel de mscara durante su
fabricacin.
Su contenido, una vez fabricada, no se puede modificar.
Hay muchos tipos de ROM:

Una ROM puede estar fabricada tanto en tecnologa bipolar como MOS.
La figura muestra celdas ROM bipolar. La presencia de una unin desde una
lnea de fila a la base de un transistor representa un 1 en esa posicin. En las
uniones
fila/columna en las que no existe conexin de base, las lneas de la columna
permanecern a nivel bajo (0) cuando se direccione la fila.

La figura 5.15 muestra celdas ROM con transistores MOS. Bsicamente son
iguales que las anteriores, excepto que estn fabricadas con MOSFETs.

2.2.- MEMORIA PROM (PROGRAMMABLE READ ONLY MEMORIES)


Una alternativa para proyectos pequeos es el uso de una de las memorias de
slo lectura programables o PROM (programmable read only memories),
memoria basada en semiconductores que contiene instrucciones o datos. stas
existen en muchas variantes, pero todas permiten que el usuario programe el
dispositivo por si mismo, ahorrndose el alto costo de la produccin de la
mscara. En la PROM (programable ROM), o memoria programable de slo
lectura los contenidos pueden ser ledos pero no modificados por un programa de
usuario. Sus contenidos no se construyen, como la ROM, directamente en el
procesador cuando ste se fabrica, sino que se crean por medio de un tipo
especial programacin, ya sea por el fabricante, o por especialistas tcnicos de
programacin del usuario. El proceso de programacin es destructivo: una vez
grabada, es como si fuese una ROM normal.
Las operaciones muy importantes o largas que se haban estado ejecutando
mediante programas, se pueden convertir en microprogramas y grabarse
permanentemente en una pastilla de memoria programable slo de lectura. Una
vez que estn en forma de circuitos electrnicos, estas tareas se pueden realizar
casi siempre en una fraccin del tiempo que requeran antes. La flexibilidad
adicional que se obtiene con la PROM puede convertirse en una desventaja si en
la unidad PROM se programa un error que no se puede corregir. Para superar
esta desventaja, se desarroll la EPROM, o memoria de solo lectura
reprogrmale.
Las prestaciones de las memorias PROM son similares a las anteriores, con la
nica salvedad del proceso de programacin. La escritura de la memoria PROM
tiene lugar fundiendo los fusibles necesarios por lo que la memoria PROM solo
puede ser programada una vez. Ahora la hace el usuario usando un equipo
programador y, adems, se rompe con la dependencia de la fbrica y los
enormes costes de las mscaras.
MTODO DE PROGRAMACIN DE LA MEMORIA PROM
Para conseguir que la informacin que se desea grabar sea inalterable, se
utilizan dos tcnicas: por destruccin de fusible o por destruccin de unin.
La idea es bsicamente la misma que las ideas ROM convencionales, pero en
este caso todas las celdas tienen diodos, por lo cual la memoria viene
programada de fbrica con todos 1. Cada diodo tiene conectado un fusible, cuya
funcionalidad es similar a la que podemos ver en fuentes de alimentacin o
estabilizadores de tensin: cuando se produce una sobretensin, el fusible se
quema y, por lo tanto, el circuito se abre. De esta manera, el diodo pierde
contacto con el mundo exterior y el lector de memoria nunca sabe de su
existencia, as que a esa celda la interpreta como un cero. Por lo tanto para
programar un chip de memoria PROM; con un dispositivo llamado programador
(por cierto, un nombre muy original xD), se les aplica a las celdas
correspondientes una tensin superior a la que son capaces de soportar los
fusibles, y as quedan definidos todos los bits de la memoria en cuestin. Como
podemos ver, este tipo de memorias tiene una falencia: no pueden ser
reprogramadas.

La pastilla es insertada en un dispositivo que genera en las salidas de la ROM


(usadas como entradas) los valores lgicos de cada palabra. Para cada posicin, se
genera un pulso de hasta 30V por la entrada Vpp=Vcc, que produce una circulacin
de corrientes que funden delgadas conexiones fusibles en serie con diodos o
transistores que se quiere desconectar. As se obtienen los ceros que deben resultar
en las salidas, dado que el chip virgen viene con todos los diodos conectados. Este
proceso dura pocos minutos.
El proceso de programacin de una PROM generalmente se realiza con un equipo
especial llamado quemador. Este equipo emplea un mecanismo de interruptores
electrnicos controlados por software que permiten cargar las direcciones, los datos
y genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la
figura se indica de forma esquemtica la funcin del programador.

Programacin de un PROM
ARQUITECTURA DE LA PROM
Estructura bsica de un PLD
Un dispositivo programable por el usuario es aquel que contiene una arquitectura
general pre-definida en la que el usuario puede programar el diseo final del
dispositivo empleando un conjunto de herramientas de desarrollo. Las arquitecturas
generales pueden variar pero normalmente consisten en una o ms matrices de
puertas AND y OR para implementar funciones lgicas. Muchos dispositivos tambin
contienen combinaciones de flip-flops y latches que pueden usarse como elementos
de almacenaje para entrada y salida de un dispositivo. Los dispositivos ms
complejos contienen macroclulas. Las macroclulas permiten al usuario configurar
el tipo de entradas y salidas necesarias en el diseo

Las PROM son memorias programables de slo lectura. Aunque el nombre no


implica la lgica programable, las PROM, son de hecho lgicas. La arquitectura
de la mayora de las PROM consiste generalmente en un nmero fijo de trminos
AND que alimenta una matriz programable OR. Se usan principalmente para
decodificar las combinaciones de entrada en funciones de salida.
a) Las Aplicaciones ms importantes:
b) Microprogramacin
c) Librera de subrutinas

d) Programas de sistema
e) Tablas de funcin
2.3.- MEMORIA EPROM
Las EPROM, o Memorias slo de Lectura Reprogramables, se programan
mediante impulsos elctricos y su contenido se borra exponindolas a la luz
ultravioleta (de ah la ventanita que suelen incorporar este tipo de circuitos), de
manera tal que estos rayos atraen los elementos fotosensibles, modificando su
estado.

- Vista de la Ventanita de una EPROM PROGRAMACIN DE UNA MEMORIA EPROM


Las EPROM se programan insertando el chip en un programador de EPROM. y
aplicando en un pin especial de la memoria una tensin entre 10 y 25 Voltios
durante aproximadamente 50 ms, segn el dispositivo, al mismo tiempo se
direcciona la posicin de memoria y se pone la informacin a las entradas de
datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de
memoria.
La memoria EPROM, se compone de un arreglo de transistores MOSFET de
Canal N de compuerta aislada. En la figura se observa el transistor funcionando
como celda de memoria en una EPROM.

Celda de memoria de una EPROM


Cada transistor tiene una compuerta flotante de SiO 2 (sin conexin elctrica) que
en estado normal se encuentra apagado y almacena un 1 lgico. Durante la
programacin, al aplicar una tensin (10 a 25V) la regin de la compuerta queda
cargada elctricamente, haciendo que el transistor se encienda, almacenando de
esta forma un 0 lgico. Este dato queda almacenado de forma permanente, sin
necesidad de mantener la tensin en la compuerta ya que la carga elctrica en la
compuerta puede permanecer por un perodo aproximado de 10 aos.
Las EPROMs tambin emplean transistores de puerta dual o FAMOS (Floating
Gate Avalanche-Injection Metal-Oxide Semiconductor) de cargas almacenadas.

Estos transistores son similares a los transistores de efecto de campo (FETs)


canal-P, pero tienen dos compuertas. La compuerta interior o flotante esta
completamente rodeada por una capa aislante de dixido de silicio; la compuerta
superior o compuerta de control es la efectivamente conectada a la circuitera
externa.
Inicialmente, la puerta flotante esta descargada, y el transistor se comporta como
un transistor MOS normal. No obstante, mediante un equipo programador, se
puede acumular carga en la puerta flotante aplicando una sobre tensin a la
puerta y al drenador del transistor. Esta acumulacin de electrones en la segunda
puerta tiene el efecto de aumentar la umbral del transistor a un valor tal que no
conduce aunque se direccione la celda. As pues la cantidad de carga elctrica
almacenada sobre la compuerta flotante determina que el bit de la celda
contenga un 1 o un 0;
las celdas cargadas son ledas como un 0, mientras que las que no lo estn son
ledas como un 1. Tal como las EPROMs salen de la fbrica, todas las celdas se
encuentran descargadas, por lo cual el bit asociado es un 1; de ah que una
EPROM virgen presente el valor hexadecimal FF en todas sus direcciones.

Cuando un dado bit de una celda debe ser cambiado o programado de un 1 a un


0, se hace pasar una corriente a travs del canal de transistor desde la fuente
hacia la compuerta (obviamente, los electrones siguen el camino inverso). Al
mismo tiempo se aplica una relativamente alta tensin sobre la compuerta
superior o de control del transistor, crendose de esta manera un campo elctrico
fuerte dentro de las capas del material semiconductor.
Ante la presencia de este campo elctrico fuerte, algunos de los electrones que
pasan el canal fuente-compuerta ganan suficiente energa como para formar un
tnel y atravesar la capa aislante que normalmente asla la compuerta flotante.
En la medida que estos electrones se acumulan en la compuerta flotante, dicha
compuerta toma carga negativa, lo que finalmente produce que la celda tenga un
0.
Funcionamiento de una EPROM
Recordemos que son memorias de acceso aleatorio, generalmente ledas y
eventualmente borradas y reescritas.

Una vez grabada una EPROM con la informacin pertinente, por medio de un
dispositivo especial que se explicar luego, la misma es instalada en el sistema
correspondiente donde efectivamente ser utilizada como dispositivo de lectura
solamente. Eventualmente, ante la necesidad de realizar alguna modificacin en
la informacin contenida o bien para ser utilizada en otra aplicacin, la EPROM
es retirada del sistema, borrada mediante la exposicin a luz ultravioleta con una
longitud de onda de 2537 Angstroms (unidad de longitud por la cual 1 A = 10 -10
m), programada con los nuevos datos, y vuelta a instalar para volver a
comportarse como una memoria de lectura solamente. Por esa exposicin para
su borrado es que es encapsulada con una ventana transparente de cuarzo
sobre la pastilla o "die" de la EPROM.
Es atinente aclarar que una EPROM no puede ser borrada parcial o
selectivamente; de ah que por ms pequea que fuese la eventual modificacin
a realizar en su contenido, inevitablemente se deber borrar y reprogramar en su
totalidad.
Los tiempos medios de borrado de una EPROM, por exposicin a la luz
ultravioleta, oscilan entre 10 y 30 minutos.
Con el advenimiento de las nuevas tecnologas para la fabricacin de circuitos
integrados, se pueden emplear mtodos elctricos de borrado. Estas ROM
pueden ser borradas sin necesidad de extraerlas de la tarjeta del circuito.
Adems de EAPROM suelen ser denominadas RMM (Read Mostly
Memories),memorias de casi-siempre lectura, ya que no suelen modificarse casi
nunca, pues los tiempos de escritura son significativamente mayores que los de
lectura.
Las memorias de slo lectura presentan un esquema de direccionamiento similar
al de las memorias RAM. El microprocesador no puede cambiar el contenido de
la memoria ROM.
Entre las aplicaciones generales que involucran a las EPROM debemos destacar
las de manejo de sistemas microcontrolados. Todo sistema microcontrolado y/o
microprocesado (se trate de una computadora personal o de una mquina
expendedora de boletos para el autotransporte...) nos encontraremos con cierta
cantidad de memoria programable por el usuario (la RAM), usualmente en la
forma de dispositivos semiconductores contenidos en un circuito integrado (no
olvidemos que un relay biestable o un flip-flop tambin son medios de
almacenamiento de informacin).
Estos dispositivos semiconductores integrados estn generalmente construidos
en tecnologa MOS (Metal-Oxide Semiconductor, Semiconductor de Oxido
Metlico) o -ms recientemente- CMOS (Complementary Metal-Oxide
Semiconducto o Semiconductor de Oxido Metlico Complementario).
Lamentablemente, estos dispositivos RAM adolecen de un ligero inconveniente,
que es, como ya se ha comentado, su volatibilidad.
Dado que cualquier sistema microprocesado requiere de al menos un mnimo de
memoria no voltil donde almacenar ya sea un sistema operativo, un programa
de aplicacin, un lenguaje intrprete, o una simple rutina de "upload", es
necesario utilizar un dispositivo que preserve su informacin de manera al menos
semi-permanente. Y aqu es donde comienzan a brillar las EPROMs.

Tal como mencionramos anteriormente, el proceso de borrado de los datos


contenidos en una EPROM es llevado a cabo exponiendo la misma a luz
ultravioleta. El punto reside en que la misma contiene fotones (Cuantos de
energa electromagntica) de energa relativamente alta.
La familia 2700
Los dispositivos EPROM de la familia 2700 contienen celdas de almacenamiento
de bits configuradas como bytes direccionables individualmente. Habitualmente
esta organizacin interna suele denominarse como 2K x 8 para el caso de una
2716, 8k x 8 para una 2764, etc.
Por razones de compatibilidad (tanto con dispositivos anteriores como con
dispositivos futuros), la gran mayora de las EPROMs se ajustan a distribuciones
de terminales o "pin-outs" estndar. Para el caso mas usual, que es el
encapsulado DIP (Dual In-Line Package) de 28 pines, el estndar utilizado es el
JEDEC-28.
En cuanto a la programacin de estos dispositivos (si bien conceptualmente
obedece siempre a la metodologa descripta anteriormente) en realidad existe
una relativamente alta variedad de implementaciones prcticas.
Si bien en la actualidad parece haberse uniformado razonablemente, las
tensiones de programacin varan en funcin tanto del dispositivo, como del
fabricante; as nos encontramos con tensiones de programacin (Vpp) de 12,5V,
13V, 21V y 25V.
Lo mismo sucede con otros parmetros importantes que intervienen en el
proceso de grabacin de un EPROM, como es el caso de la duracin de dicho
pulso de programacin y los niveles lgicos que determinan distintos modos de
operacin.
PROGRAMADOR/ EMULADOR DE FLASH EPROM
La manera ms cmoda, aunque tambin la ms costosa de desarrollar circuitos
microcontroladores consiste en simular la parte principal del controlador con la
ayuda de un emulador. Una de opciones ms baratas consiste en emplear un
programa monitor junto con un emulador de memorias EPROM.
Desafortunadamente, la mayora de los programas monitores consumen algunos
de los recursos del controlador. Esta seria desventaja se resuelve utilizando el
emulador de memorias EPROM, que se comporta bsicamente igual que una
memoria RAM de un doble puerto: a un lado se encuentra la interfase, como

una memoria EPROM, mientras que al otro lado proporciona las seales
necesarias para introducir el flujo de datos a la memoria RAM.
Cuando compaas como AMD desarrollaron las memorias EPROM "Flash" con
una tensin de programacin de 5V y un ciclo de vida que permita programar la
memoria hasta 100.000 veces, se abrieron las puertas a un nuevo modelo de
emulador de memorias EPROM. El diseo que se presenta no solo acta como
un emulador con una enorme capacidad de almacenamiento, sino que tambin
funciona como un programador de memorias EPROM "Flash", ahorrndose
comprar un sistema exclusivamente dedicado a programar.
Cuando se termine de trabajar con el emulador durante la fase del diseo, se
dispondr en la memoria EPROM "Flash" del cdigo definitivo, que se sacar del
emulador y se introducir en el circuito que se vaya a utilizar en la aplicacin.
Como los precios de las memorias EPROM "Flash" no son mucho mayores que
los de las memorias EPROM convencionales, la ventaja adicional que se ha
descrito es sin costo.

Ejemplo de Borrador de una EPROM


Fotografas de algunos borradores de eproms

2.4.- MEMORIA EEPROM (ELECTRICAL ERASABLE PROGRAMMABLE READ


ONLY MEMORY)

La memoria EEPROM es programable y borrable elctricamente y su nombre


proviene de la sigla en ingls Electrical Erasable Programmable Read Only
Memory. Actualmente estas memorias se construyen con transistores de
tecnologa MOS (Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).
Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la
diferencia bsica se encuentra en la capa aislante alrededor de cada compuesta
flotante, la cual es ms delgada y no es fotosensible.
Las memorias EEPROM (Electrically Erasable Programmable Read-Only
Memory) son memorias no voltiles y elctricamente borrables a nivel de bytes.
La posibilidad de programar y borrar las memorias a nivel de bytes supone una
gran flexibilidad, pero tambin una celda de memoria ms compleja. Adems del
transistor de puerta flotante anterior, es preciso un segundo transistor de
seleccin. El tener 2 transistores por celda hace que las memorias EEPROM
sean de baja densidad y mayor coste. La programacin requiere de tiempos que

oscilan entre 157 s y 625 s=byte. Frente a las memorias EPROM, presenta la
ventaja de permitir su borrado y programacin en placa, aunque tienen mayor
coste debido a sus dos transistores por celda.
Estas memorias se presentan, en cuanto a la organizacin y asignacin de
patillas, como la UVPROM cuando estn organizadas en palabras de 8 bits. Se
programan de forma casi idntica pero tienen la posibilidad de ser borradas
elctricamente. Esta caracterstica permite que puedan ser programadas y
borradas en el circuito.
Debido a que la clda elemental de este tipo de memorias es ms complicada
que sus equivalentes en EPROM o PROM (y por ello bastante ms cara), este
tipo de memoria no dispone en el mercado de una variedad tan amplia, y es
habitual tener que acudir a fabricantes especializados en las mismas (ejemplo:
Xicor).
24LC256

En cuanto a la forma de referenciar los circuitos, estas memorias suelen


comenzar con el prefijo 28, de forma que la 2864 indica una memoria EEPROM
de 64Kbytes, equivalente en cuanto a patillaje y modo de operacin de lectura a
la UVPROM 2764.
Una ventaja adicional de este tipo de memorias radica en que no necesitan de
una alta tensin de grabado, sirven los 5 voltios de la tensin de alimentacin
habitual.

BUS DE DIRECCIONES

BUS DE
DATOS

WE

CE

CE = CHIP ENABLE: Permite Activar el Circuito Integrado


OE = OUTPUT ENABLE: Permite Activar La Salida Del Bus De Datos

CE

OE

WE

LECTURA

ESCRITURA

Ventajas de la EEPROM:
La programacin y el borrado pueden realizarse sin la necesidad de una fuente de
luz UV y unidad programadora de PROM, adems de poder hacerse en el mismo
circuito gracias a que el mecanismo de transporte de cargas mencionado en el
prrafo anterior requiere corrientes muy bajas.
Las palabras almacenadas en memoria se pueden borrar de forma individual.
Para borra la informacin no se requiere luz ultravioleta.
Las memorias EEPROM no requieren programador.
De manera individual puedes borrar y reprogramar elctricamente grupos de
caracteres o palabras en el arreglo de la memoria.
El tiempo de borrado total se reduce a 10ms en circuito donde su antepasado
inmediato requera media hora bajo luz ultravioleta externa.
El tiempo de programacin depende de un pulso por cada palabra de datos de 10
ms, versus los 50 ms empleados por una ROM programable y borrable.
Se pueden reescribir aproximadamente unas 1000 veces sin que se observen
problemas para almacenar la informacin.
Para reescribir no se necesita hacer un borrado previo.
Aplicaciones de las Memorias EEPROM
Encontramos este tipo de memorias en aquellas aplicaciones en las que el usuario
necesita almacenar de forma permanente algn tipo de informacin; por ejemplo en
los receptores de TV o magnetoscopios para memorizar los ajustes o los canales de
recepcin.

EJEMPLO DE MEMORIA EEPROM - 28C64A


Esta memoria tiene una capacidad de 8K X 8 (64 KB).

Caracters
ticas
Tcnicas
Referenci
a
28C64A
Tipo
EEPROM
CMOS
Capacidad
(bits)
8192 X 8
Tipo de
salida
5V
Tiempos
de Acceso
120/150/20
0 ns
Encapsula
do
DIL-28 y
PLCC-32

EEPROM 28C64A
En la figura se indica la disposicin de los pines de esta memoria la cual se
encuentra disponible en dos tipos de encapsulados (DIL y PLCC).

2.5.- MEMORIA FLASH

La memoria FLASH es similar a la EEPROM, es decir que se puede programar y


borrar elctricamente, son de alta densidad (gran capacidad de almacenamiento
de bits). Alta densidad significa que se puede empaquetar en una pequea
superficie del chip, gran cantidad de celdas, lo que implica que cuanto mayor sea
la densidad, ms bits se pueden almacenar en un chip de tamao determinado.
Sin embargo esta rene algunas de las propiedades de las memorias
anteriormente vistas, y se caracteriza por tener alta capacidad para almacenar
informacin y es de fabricacin sencilla, lo que permite fabricar modelos de
capacidad equivalente a las EPROM a menor costo que las EEPROM.
ESTRUCTURA DE LA MEMORIA FLASH
Antes de analizar la memoria Flash a nivel de celda veamos como es su
estructura a nivel de bloques. La figura nos muestra la arquitectura en
sectores de una memoria Flash de 512Kx8. Cada uno de los sectores se borra
independientemente de los otros, siendo necesario el borrado antes de la
programacin.

Los datos se almacenan como una carga en la puerta flotante. Inicialmente,


toda la memoria se encuentra a nivel alto. Programar la memoria es el proceso
de cambiar un "1" lgico por un "0" lgico. Borrar un sector cambia todos los
"0" lgicos de ese sector por "1" lgicos.
No es posible reprogramar una determinada direccin: es necesario borrar
previamente todo el sector antes de volver a programar esa direccin.

Las celdas de memoria se encuentran constituidas por un transistor MOS de


puerta apilada, el cual se forma con una puerta de control y una puerta aislada,
tal como se indica en la figura La compuerta aislada almacena carga elctrica
cuando se aplica una tensin lo suficientemente alta en la puerta de control.
De la misma manera que la memoria EPROM, cuando hay carga elctrica en
la compuerta aislada, se almacena un 0, de lo contrario se almacena un 1.

Celda de memoria de una FLASH


Las operaciones bsicas de una memoria Flash son la programacin, la lectura y
borrado.
Como ya se mencion, la programacin se efecta con la aplicacin de una tensin
(generalmente de 12V o 12.75 V) a cada una de las compuertas de control,
correspondiente a las celdas en las que se desean almacenar 0s. Para almacenar 1s no
es necesario aplicar tensin a las compuertas debido a que el estado por defecto de las
celdas de memoria es 1.
La lectura se efecta aplicando una tensin positiva a la compuerta de control de la celda
de memoria, en cuyo caso el estado lgico almacenado se deduce con base en el
cambio de estado del transistor:
Si hay un 1 almacenado, la tensin aplicada ser lo suficiente para encender el transistor
y hacer circular corriente del drenador hacia la fuente.
Si hay un 0 almacenado, la tensin aplicada no encender el transistor debido a que la
carga elctrica almacenada en la compuerta aislada.
Para determinar si el dato almacenado en la celda es un 1 un 0, se detecta la corriente
circulando por el transistor en el momento que se aplica la tensin en la compuerta de
control.
El borrado consiste en la liberacin de las cargas elctricas almacenadas en las
compuertas aisladas de los transistores. Este proceso consiste en la aplicacin de una
tensin lo suficientemente negativa que desplaza las cargas como se indica en la figura.

Proceso de descarga de una celda de memoria FLASH


Aparte de que las memorias EPROM "Flash" tienen una entrada de escritura,
mientras estn funcionando se comportan como las EPROM normales. La nica

diferencia se encuentra en como se cargan y se borran los datos en la memoria.


Mientras que durante el proceso de programacin de las memorias EPROM
convencionales se necesita una tensin bien definida durante cierto intervalo de
tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta, en las
E.Flash ambos procesos estn controlados y se llevan a cabo internamente. Para
tal efecto la memoria recibe una secuencia de comandos predefinida (borrar,
programar) que incluye algunas precauciones especiales (determinadas por el
fabricante) destinadas a evitar que se borre cualquier dato por error.
El comando se transfiere a la memoria EPROM "Flash" mediante una serie de
operaciones de escritura. Los dos primeros comandos "Lectura/Reset" preparan
la memoria para operaciones de lectura. El comando "Autoseleccin" permite leer
el cdigo del fabricante y el tipo de dispositivo. El comando "Byte" carga el
programa dentro de la memoria EPROM, mientras que "Borrar Chip" acta
durante el proceso de borrado, que no dura ms de un minuto. Desde el punto de
vista lgico podemos afirmar que la memoria EPROM "Flash" est dividida en
sectores que se pueden borrar individualmente con la ayuda del comando "Borrar
Sector".
Las memorias EPROM "Flash" disponen de otro mecanismo, basado en la
divisin en sectores, que las protege de acciones de escritura o lectura no
deseadas. Cuando un sector est protegido de esta forma no se puede realizar
una operacin de lectura o sobre escritura con una tensin de 5V. Este hecho es
muy importante y se debe tener siempre presente cuando se utilicen estos
dispositivos. Solamente se puede eliminar esta proteccin con la ayuda de un
programador especial.
Durante el proceso de programacin o borrado se puede leer, mediante un
comando de acceso en "lectura", el estado de la memoria EPROM "Flash" en la
misma posicin que el byte de programado o borrado. Mientras se borra un
sector se puede leer cualquier direccin que pertenezca al sector.
APLICACIONES DE LA MEMORIA FLASH
La Memoria Flash es ideal para docenas de aplicaciones porttiles. Tomemos
como ejemplo las cmaras digitales. Insertando una tarjeta de Memoria Flash de
alta capacidad directamente en la cmara, usted puede almacenar cientos de
imgenes de alta resolucin. Cuando este listo para bajarlas, simplemente retire
la tarjeta y transfirala a su computadora de escritorio o porttil para su
procesamiento. Las tarjetas de Memoria Flash se ajustan a entradas Tipo II (con
o sin adaptador, dependiendo del tipo de tarjeta Flash). Ahora esta usted listo
para cargar en segundos todas las imgenes capturadas para observarlas,
manipularlas, enviarlas por correo electrnico o imprimirlas. Ya nunca necesitara
comprar rollos para fotografa. Sea cual sea su aplicacin o equipo porttil.
Actualmente, los usos de Memoria Flash se estn incrementando rpidamente.
Ya sean cmaras digitales, Asistentes Digitales Porttiles, reproductores de
msica digital o telfonos celulares, todos necesitan una forma fcil y confiable
de almacenar y transportar informacin vital.
Se utilizan en la fabricacin de BIOS para computadoras. , generalmente
conocidos como FLASH-BIOS. La ventaja de esta tecnologa es que permite
actualizar el bios con un software proporcionado por el fabricante, sin necesidad
de desmontar el chip del circuito final, ni usar aparatos especiales.
Por esto la Memoria Flash se ha convertido en poco tiempo en una de las ms
populares tecnologas de almacenamiento de datos. Es ms flexible que un
diskette y puede almacenar hasta 160MB de informacin. Es ms y mucho mas
rpida que un disco duro, y a diferencia de la memoria RAM, la Memoria Flash
puede retener datos aun cuando el equipo se ha apagado.

La Memoria Flash es ideal para docenas de aplicaciones porttiles. Tomemos


como ejemplo las cmaras digitales. Insertando una tarjeta de Memoria Flash de
alta capacidad directamente en la cmara, usted puede almacenar cientos de
imgenes de alta resolucin. Cuando este listo para bajarlas, simplemente retire
la tarjeta y transfirala a su computadora de escritorio o porttil para su
procesamiento. Las tarjetas de Memoria Flash se ajustan a entradas Tipo II (con
o sin adaptador, dependiendo del tipo de tarjeta Flash). Ahora esta usted listo
para cargar en segundos todas las imgenes capturadas para observarlas,
manipularlas, enviarlas por correo electrnico o imprimirlas. Ya nunca necesitara
comprar rollos para fotografa.
EJEMPLO DE MEMORIA FLASH - 27F256
La capacidad de esta memoria es de 32K X 8 y como memoria Flash tiene la
caracterstica particular de ser borrada en un tiempo muy corto (1 seg.). El tiempo de
programacin por byte es de 100 ms y el tiempo de retencin de la informacin es de
aproximadamente 10 aos.

Caracter
sticas
Tcnicas
Referenci
a
28F256
Tipo
FLASH
EEPROM
Capacida
d (bits)
32768 X 8
Tipo
de
salida
(5V)
(Vp=12.5V
)
Tiempos
de
Acceso
90/100/12
0/150 ns
Encapsul

ado
DIL-28

Memoria Flash 27F256


En la figura se indica la disposicin de los pines de esta memoria con sus
caractersticas tcnicas bsicas.
DIFERENCIA ENTRE MEMORIAS EEPROM Y EPROM FLASH
La diferencia de las memorias flash con las EEPROM reside en su velocidad:
Son ms rpidas en trminos de programacin y borrado, aunque tambin
necesitan de una tensin de grabado del orden de 12 voltios.
Otra diferencia la encontramos en que en las EEPROM se puede borrar de forma
selectiva cualquier byte, mientras que en las memorias FLASH slo admite el
borrado total de la misma.
Por otra parte esta memorias son bastante ms baratas que las EEPROM,
debido a que utilizan una tecnologa ms sencilla y se fabrican con grandes
capacidades de
almacenamiento. Un dato puede ser significativo: el tiempo de borrado de un byte

es del orden de 100

seg.

TABLA COMPARATIVA ENTRE MEMORIAS

3.-RESUMEN
MEMORIAS PROGRAMABLES
MEMORIA ROM (READ ONLY MEMORY)
Es una memoria de slo lectura que se programan mediante mscaras. Es decir,
el contenido de las celdas de memoria se almacena durante el proceso de
fabricacin para mantenerse despus de forma irrevocable. Desde el instante en
que el fabricante grabo las instrucciones en el Chip, por lo tanto la escritura de
este tipo de memorias ocurre una sola vez y queda grabado su contenido aunque
se le retire la energa.
Se usa para almacenar informacin vital para el funcionamiento del sistema: en
la gestin del proceso de arranque, el chequeo inicial del sistema, carga del

sistema operativo y diversas rutinas de control de dispositivos de entrada/salida


suelen ser las tareas encargadas a los programas grabados en ROM. Estos
programas forman la llamada BIOS (Basic Input Output System). Junto a la BIOS
se encuentra el chip de CMOS donde se almacenan los valores que determinan
la configuracin hardware del sistema, como tipos de unidades, parmetros de
los discos duros, fecha y hora del sistema... esta informacin no se pierde al
apagar la computadora. Estos valores se pueden modificar por medio del
SETUP.
La ventaja de tener los programas fundamentales del computador almacenados
en la ROM es que estn all implementados en el interior del computador y no
hay necesidad de cargarlos en la memoria desde el disco de la misma forma en
que se carga el DOS. Debido a que estn siempre residentes, los programas en
ROM son muy a menudo los cimientos sobre los que se construye el resto de los
programas (incluyendo el DOS).
Una ROM puede estar fabricada tanto en tecnologa bipolar como MOS.
MEMORIA PROM (PROGRAMMABLE READ ONLY MEMORIES)
En la PROM (programable ROM), o memoria programable de slo lectura los
contenidos pueden ser ledos pero no modificados por un programa de usuario.
Sus contenidos no se construyen, como la ROM, directamente en el procesador
cuando ste se fabrica, sino que se crean por medio de un tipo especial
programacin, ya sea por el fabricante, o por especialistas tcnicos de
programacin del usuario. El proceso de programacin es destructivo: una vez
grabada, es como si fuese una ROM normal.
Las operaciones muy importantes o largas que se haban estado ejecutando
mediante programas, se pueden convertir en microprogramas y grabarse
permanentemente en una pastilla de memoria programable slo de lectura. Una
vez que estn en forma de circuitos electrnicos, estas tareas se pueden realizar
casi siempre en una fraccin del tiempo que requeran antes. La flexibilidad
adicional que se obtiene con la PROM puede convertirse en una desventaja si en
la unidad PROM se programa un error que no se puede corregir. Para superar
esta desventaja, se desarroll la EPROM, o memoria de solo lectura
reprogrmale.
Para conseguir que la informacin que se desea grabar sea inalterable, se
utilizan dos tcnicas: por destruccin de fusible o por destruccin de unin.
El proceso de programacin de una PROM generalmente se realiza con un
equipo especial llamado quemador. Este equipo emplea un mecanismo de
interruptores electrnicos controlados por software que permiten cargar las
direcciones, los datos y genera los pulsos para fundir los fusibles del arreglo
interno de la memoria. En la figura se indica de forma esquemtica la funcin del
programador.
a)
b)
c)
d)
e)

Las Aplicaciones ms importantes:


Microprogramacin
Librera de subrutinas
Programas de sistema
Tablas de funcin

MEMORIA EPROM
Las EPROM, o Memorias slo de Lectura Reprogramables, se programan
mediante impulsos elctricos y su contenido se borra exponindolas a la luz
ultravioleta (de ah la ventanita que suelen incorporar este tipo de circuitos), de
manera tal que estos rayos atraen los elementos fotosensibles, modificando su
estado.

Las EPROM se programan insertando el chip en un programador de EPROM. y


aplicando en un pin especial de la memoria una tensin entre 10 y 25 Voltios
durante aproximadamente 50 ms, segn el dispositivo, al mismo tiempo se
direcciona la posicin de memoria y se pone la informacin a las entradas de
datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de
memoria.

Cuando un dado bit de una celda debe ser cambiado o programado de un 1 a un 0,


se hace pasar una corriente a travs del canal de transistor desde la fuente hacia la
compuerta (obviamente, los electrones siguen el camino inverso). Al mismo tiempo
se aplica una relativamente alta tensin sobre la compuerta superior o de control del
transistor, crendose de esta manera un campo elctrico fuerte dentro de las capas
del material semiconductor.
Ante la presencia de este campo elctrico fuerte, algunos de los electrones que
pasan el canal fuente-compuerta ganan suficiente energa como para formar un tnel
y atravesar la capa aislante que normalmente asla la compuerta flotante. En la
medida que estos electrones se acumulan en la compuerta flotante, dicha compuerta
toma carga negativa, lo que finalmente produce que la celda tenga un 0.
Los tiempos medios de borrado de una EPROM, por exposicin a la luz ultravioleta,
oscilan entre 10 y 30 minutos.
Tal como mencionramos anteriormente, el proceso de borrado de los datos
contenidos en una EPROM es llevado a cabo exponiendo la misma a luz ultravioleta.
El punto reside en que la misma contiene fotones (Cuantos de energa
electromagntica) de energa relativamente alta.
MEMORIA EEPROM (ELECTRICAL ERASABLE PROGRAMMABLE READ ONLY
MEMORY)
La memoria EEPROM es programable y borrable elctricamente y su nombre
proviene de la sigla en ingls Electrical Erasable Programmable Read Only
Memory. Actualmente estas memorias se construyen con transistores de
tecnologa MOS (Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).
Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la
diferencia bsica se encuentra en la capa aislante alrededor de cada compuesta
flotante, la cual es ms delgada y no es fotosensible.
Las memorias EEPROM (Electrically Erasable Programmable Read-Only
Memory) son memorias no voltiles y elctricamente borrables a nivel de bytes.
La posibilidad de programar y borrar las memorias a nivel de bytes supone una
gran flexibilidad, pero tambin una celda de memoria ms compleja. Adems del
transistor de puerta flotante anterior, es preciso un segundo transistor de
seleccin. El tener 2 transistores por celda hace que las memorias EEPROM
sean de baja densidad y mayor coste. La programacin requiere de tiempos que

oscilan entre 157 s y 625 s=byte. Frente a las memorias EPROM, presenta la
ventaja de permitir su borrado y programacin en placa, aunque tienen mayor
coste debido a sus dos transistores por celda.
Una ventaja adicional de este tipo de memorias radica en que no necesitan de
una alta tensin de grabado, sirven los 5 voltios de la tensin de alimentacin
habitual.

CE

OE

WE

LECTURA

ESCRITURA

Ventajas de la EEPROM:
Las palabras almacenadas en memoria se pueden borrar de forma individual.
Para borra la informacin no se requiere luz ultravioleta.
Las memorias EEPROM no requieren programador.
De manera individual puedes borrar y reprogramar elctricamente grupos de
caracteres o palabras en el arreglo de la memoria.
Para reescribir no se necesita hacer un borrado previo.
MEMORIA FLASH
La memoria FLASH es similar a la EEPROM, es decir que se puede programar y
borrar elctricamente, son de alta densidad (gran capacidad de almacenamiento de
bits). Alta densidad significa que se puede empaquetar en una pequea superficie del
chip, gran cantidad de celdas, lo que implica que cuanto mayor sea la densidad, ms
bits se pueden almacenar en un chip de tamao determinado. Sin embargo esta
rene algunas de las propiedades de las memorias anteriormente vistas, y se
caracteriza por tener alta capacidad para almacenar informacin y es de fabricacin
sencilla, lo que permite fabricar modelos de capacidad equivalente a las EPROM a
menor costo que las EEPROM.
Aparte de que las memorias EPROM "Flash" tienen una entrada de escritura,
mientras estn funcionando se comportan como las EPROM normales. La nica
diferencia se encuentra en como se cargan y se borran los datos en la memoria.
Mientras que durante el proceso de programacin de las memorias EPROM
convencionales se necesita una tensin bien definida durante cierto intervalo de
tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta, en las
E.Flash ambos procesos estn controlados y se llevan a cabo internamente. Para tal
efecto la memoria recibe una secuencia de comandos predefinida (borrar, programar)
que incluye algunas precauciones especiales (determinadas por el fabricante)
destinadas a evitar que se borre cualquier dato por error.
Durante el proceso de programacin o borrado se puede leer, mediante un comando
de acceso en "lectura", el estado de la memoria EPROM "Flash" en la misma
posicin que el byte de programado o borrado. Mientras se borra un sector se puede
leer cualquier direccin que pertenezca al sector.
APLICACIONES DE LA MEMORIA FLASH
La Memoria Flash es ideal para docenas de aplicaciones porttiles. Tomemos como
ejemplo las cmaras digitales. Insertando una tarjeta de Memoria Flash de alta
capacidad directamente en la cmara, usted puede almacenar cientos de imgenes
de alta resolucin. Cuando este listo para bajarlas, simplemente retire la tarjeta y

transfirala a su computadora de escritorio o porttil para su procesamiento. Las


tarjetas de Memoria Flash se ajustan a entradas Tipo II (con o sin adaptador,
dependiendo del tipo de tarjeta Flash). Ahora esta usted listo para cargar en
segundos todas las imgenes capturadas para observarlas, manipularlas, enviarlas
por correo electrnico o imprimirlas. Ya nunca necesitara comprar rollos para
fotografa. Sea cual sea su aplicacin o equipo porttil.
Actualmente, los usos de Memoria Flash se estn incrementando rpidamente. Ya
sean cmaras digitales, Asistentes Digitales Porttiles, reproductores de msica
digital o telfonos celulares, todos necesitan una forma fcil y confiable de almacenar
y transportar informacin vital.
TABLA COMPARATIVA ENTRE MEMORIAS

PLDs
INTRODUCION
Los Dispositivos Logicos Programables (PLDs) fueron introducidos a mediados de los 70s.
La idea era construir circuitos lgicos combinacionales que fueran programables. Al contrario
de los microcontroladores, que pueden correr un programa y poseen un hardware fijo los
PLDs permiten la modificacin a nivel de hardware. En otras palabras, un PLD es un chip
multi propsito cuyo hardware se puede re configurar para realizar tareas particulares.
El primer PLD fue llamado PAL (Programmable Array Logic). Los PAL solo utilizan
compuertas lgicas (sin Flip-Flops), por lo que solo permiten la implementacin de circuitos
combinacionales. Para superar esta limitacin luego fueron creados los registered PLDs los
cuales incluyen Flip-Flops en cada salida del circuito. Con estos dispositivos es posible
implementar funciones secuenciales simples.
A comienzos de los 80s, se fueron agregando circuitos lgicos adicionales a las salidas de
los PLDs. La nueva celda de salida, llamada Macrocell, contiene (a parte de Flip-Flops)
puertas lgicas y multiplexores. La celda en si es programable, permitiendo varios modos de
operacin. Adicionalmente provee una seal de retorno o feedback desde la salida del
cricuito al arreglo programable, lo que le da una mayor flexibilidad. Esta nueva estructura fue
llamada generic PAL (GAL).
Todos estos chips (PAL, PLA, registered PLD, GAL/PALCE) son conocidos en conjunto
como SPLDs (Simple PLDs). La GAL/PALCE es la nica que aun se fabrica en chips
independientes.

Luego de esto se fabricaron chips con muchas GAL en su interior utilizando una arquitectura
mucho ms sofisticada, mejor tecnologa y muchas otras caractersticas adicionales como
soporte para JTAG. Estas estructuras son conocidas como CPLD (Complex PLD). Los CPLD
son bastante populares por su alta densidad de puertas, alto performance y bajo costo.
Finalmente a mediados de los 80s fueron introducidas las FPGA, las cuales difieren de los
CPLD en su arquitectura, tecnologa y costos. Estos dispositivos fueron creados
principalmente para la implementacin de circuitos de alto rendimiento.
Todos los PLDs son no voltiles. Pueden ser OTP (one time programmable) en cuyo caso
son utilizados fusibles o anti fusibles o pueden ser re programables, con EEPROM o
memoria FLASH. Las FPGAs por otro lado son la mayora voltiles puesto que utilizan
SRAM para almacenar las conexiones en estos casos generalmente se utiliza un ROM
externa para almacenar la configuracin inicial al momento del encendido.
HISTORIA
A mediados de los aos setenta se produce una fuerte evolucin en los procesos de
fabricacin de los circuitos integrados, y junto a las tecnologas bipolares, surge la MOS
(metal oxide semiconductor), principalmente la NMOS, promoviendo el desarrollo de
circuitos digitales hasta la primera mitad de los aos ochenta.
En aquellas pocas, el esfuerzo de diseo se concentraba en los niveles elctricos para
establecer caractersticas e interconexiones entre los componentes bsicos a nivel de
transistor. El proceso de diseo era altamente manual y tan solo se empleaban herramientas
como el PSPICE para simular esquemas elctricos con modelos previamente
personalizados a las distintas tecnologas.
A medida que pasaban los aos, los procesos tecnolgicos se hacan ms y ms complejos.
Los problemas de integracin iban en aumento y los diseos eran cada vez ms difciles de
depurar y de dar mantenimiento. Inicialmente los circuitos integrados de MSI (Morrad Scale
Integration) y LSI (Low Scale Integration) se diseaban mediante la realizacin de prototipos
basados en mdulos muy sencillos. Cada uno de estos mdulos estaba formado por puertas
lgicas ya probadas, este mtodo poco a poco, iba quedndose obsoleto. En ese momento
(finales de los aos setenta) se constata el enorme desfase que existe entre tecnologa y
diseo.
Alrededor de 1981 el Departamento de Defensa de los Estados Unidos desarrolla un
proyecto llamado VHSIC (Very High Speed Integrated Circuit) su objetivo era rentabilizar las
inversiones en hardware haciendo ms sencillo su mantenimiento. Se pretenda con ello
resolver el problema de modificar el hardware diseado en un proyecto para utilizarlo en
otro, lo que no era posible hasta entonces porque no exista una herramienta adecuada que
armonizase y normalizase dicha tarea, era el momento de los HDLs.
El desarrollo de la electrnica digital moderna a finales del siglo pasado y principios de este
trajo consigo que las tcnicas de miniaturizacin de los elementos se fueran desarrollando
cada vez ms obteniendo un alto nivel de integracin en los elementos, trayendo consigo un
gran nmero de ventajas , por citar algunas tenemos:
No necesitan voltajes de alimentacin muy elevados, ni grandes consumos de corriente por
lo que las fuentes de alimentacin son pequeas y de poca potencia
En la metodologa de diseo las dimensiones topolgicas de las estructuras han disminuido,
llevando todo esto a una reduccin de los costos
Debido a la reduccin de sus costos de diseos que llev consigo el constante desarrollo del
software y el hardware trajo aparejado el surgimiento despus de varios aos de los
dispositivos lgicos programables o PLDs dentro de ellos las FPGAs (Field Progammable
Gate Arrays).
VENTAJAS DE LOS PLD

Los PLDs estn desplazando, cada vez ms, a la lgica discreta y a otros tipos de circuitos
ASIC debido a las mltiples ventajas que ofrecen. Algunas de estas son:
Pueden reemplazar a varios componentes discretos, reduciendo con ello el nmero de
circuitos integrados a utilizar. Esto a su vez supone:
Reduccin de espacio.
Reduccin del nmero de conexiones.
Reduccin de la potencia de consumo.
Disminucin del coste.
Aumento de la fiabilidad.
La mayor parte de ellos ofrecen una gran flexibilidad al permitir reprogramar el circuito lgico
a la medida, pudiendo obtener diferentes configuraciones para un mismo dispositivo.
Esta posibilidad que brindan algunos PLDs de ser reprogramados, permite que se elimine el
riesgo de errores a la hora de la grabacin. Se reducen los costos de stock, al poder utilizar
el mismo dispositivo para aplicaciones distintas, sin ms que hacer programaciones
distintas.
Gran facilidad de diseo porque las herramientas disponibles para este fin simplifican
considerablemente el proceso de diseo, haciendo que la implementacin al ms bajo nivel
sea transparente para el usuario. El sistema de desarrollo consiste en un software de diseo
y un programador, donde el software, es en esencia, un ensamblador que transforma el
diseo de alto nivel que hace el usuario (ecuaciones booleanas, tablas de la verdad,
diagramas de estado y esquemticos) a bajo nivel o nivel de programacin del dispositivo.
Adems los software que existen en el mercado disponen de simulador, lo que permite
hacer depuraciones del diseo antes de programar el componente.

DESVENTAJAS DE LOS PLD


Algunos aspectos negativos a sealar en estos circuitos vienen dado en que las tcnicas de
los circuitos impresos cambian considerablemente, la seleccin del encapsulado no es
trivial, las conexiones entre terminales son muy pequeas y surge la necesidad de utilizar
una circuitera adicional para el control de la calida.
Estructura bsica de una PLD
La estructura bsica de una PLD permite realizar cualquier tipo de circuito combinacional
basndose en una matriz formada por puertas AND, seguida de una matriz de puertas OR.
Tres son los tipos ms extendidos de PLDs, la PROM, PLA, y la GAL.
EL USO DE ROMS COMO PLDS

Antes de que se inventasen las PLDs, los chips de memoria de solo lectura (ROM) se
utilizaban para crear funciones de lgica combinacional arbitrarias con un nmero
determinado de entradas. Considerando una ROM con m entradas, a las que se
denomina lneas de direccin; y con n salidas, a las que se denomina lneas de datos.
Cuando se utiliza como memoria, la ROM contiene
palabras de n bits. Supongamos que
las entradas no son direccionadas por una direccin de m-bits, sino por m seales lgicas
independientes. Tericamente, hay
funciones booleanasposibles de estas m seales,
pero la estructura de la ROM permite solo producir n de estas funciones en los pines de

salida. Por lo tanto, en este caso, la ROM se vuelve un equivalente de ncircuitos lgicos
separados, cada uno generando una funcin elegida de las m entradas.
La ventaja de utilizar una ROM de esta forma es que cualquier funcin concebible de
las m entradas puede ser colocada por las n salidas, haciendo este el dispositivo lgico
combinacional de mayor propsito general disponible. Tambin
las PROMs (ROMs programables), EPROMs (PROMs de borrado por ultravioleta)
y EEPROMs (PROMs de borrado elctrico) disponibles pueden ser programadas de esta
manera con un programador PROM hardware o software. Sin embargo, existen varias
desventajas:

Son bastante ms lentas que los circuitos lgicos dedicados.

No necesariamente pueden proveer de "proteccin" ante transiciones lgicas


asncronas.

Consumen mayor potencia.

Slo se utiliza una pequea fraccin de su capacidad en una sola aplicacin: un uso
ineficiente del espacio.

Por si solas no pueden ser utilizadas para circuitos de lgica secuencial, puesto que
no contienen biestables. Para realizar algunos circuitos secuenciales (como mquinas
de estado) se utilizaba un registro TTL externo.

Las EPROMs comunes (como la 2716), se siguen utilizando a veces de esta forma por
gente que tiene como hobby el diseo de circuitos, ya que a menudo tienen algunas sueltas.
A las ROM utilizadas de esta manera se las conoce como la "PAL del pobre".

LGICA PROGRAMABLE TEMPRANA


En 1970, Texas Instruments desarroll un CI de mscara programable basado en la
memoria asociativa de slo lectura (ROAM) de IBM. Este dispositivo, el TMS2000, era
programado alterando la capa metlica durante la produccin del CI. El TMS2000 tena
hasta 17 entradas y 18 salidas con 8 biestables JK como memoria. Texas Instruments acuo
el trmino Programmable logic array para este dispositivo.
En 1973 National Semiconductor introdujo un dispositivo PLA de mscara programable
(DM7575) con 14 entradas y 8 salidas sin registros de memoria. Este era ms popular que el
de Texas Instruments, pero el coste de hacer la mscara metlica limitaba su uso. El
dispositivo es significativo por ser la base de la FPGA (Field Programmable Logic Array)
producido por Signetics en 1975, el 82S100.
En 1971, General Electric desarrollaba un PLD basado en la nueva tecnologa PROM. Este
dispositivo experimental mejor el ROAM de IBM permitindole realizar lgica
multinivel. Intel acababa de introducir la PROM de puerta flotante borrable por UV por lo que
los desarrolladores en General Electric incorporaron esa tecnologa. El dispositivo de

General Electric era el primer PLD jams desarrollado, antecesora del EPLD de Altera en
una dcada. General Electric obtuvo varias patentes tempranas en PLDs.
En 1974, General Electric firm un acuerdo con Monolithic Memories para desarrollar un
PLD de mscara programable incorporando las innovaciones de General. El dispositivo se
bautiz comoProgrammable Associative Logic Array (PALA, matriz lgica asociativa
programable). El MMI 5760 fue terminado en 1976 y poda implementar circuitos multinivel o
secuenciales de ms de 100 puertas. El dispositivo estaba soportado por el entorno de
desarrollo de General, donde las ecuaciones Booleanas podan ser convertidas a patrones
de mscara para configurar el dispositivo. El integrado nunca se comercializ (hasta ahora
debido a lo antes comentado).
PAL
MMI introdujo un dispositivo revolucionario en 1978, la Programmable Array Logic (Matriz
lgica programable). La arquitectura era ms sencilla que la FPLA de Signetics porque
omita la matrizOR programable. Esto hizo los dispositivos ms rpidos, ms pequeos y
ms baratos. Estaban disponibles en encapsulados de 20 pines y DIP de 300 milsimas de
pulgada, mientras que las FPLAs venan en encapsulados de 28 pines y DIP de 600
milsimas de pulgada. Ciertas publicaciones sobre PALs desmitificaban el proceso de
diseo. El software de diseo PALASM (PAL Assembler, ensamblador PAL) converta las
ecuaciones Booleanas de los ingenieros en el patrn de fusibles requerido para programar
el dispositivo. Los PAL de MMI pronto fueron distribuidos por National Semiconductor, Texas
Instruments y AMD.
Tras el xito de MMI con los PAL de 20 pines, AMD introdujo los 22V10 de 24 pines con
caractersticas adicionales. Tras comprar a MMI (1987), AMD desarroll una operacin
consolidada como Vantis, adquirida por Lattice Semiconductor en 1999.

Tambin hay PLAs : Programmable Logic Array.


GALs

Lattice GAL 16V8 y 20V8.

Una innovacin del PAL fue la matriz lgica genrica (Generic array logic) o GAL. Ambas
fueron desarrolladas por Lattice Semiconductor en 1985. Este dispositivo tiene las mismas
propiedades lgicas que el PAL, pero puede ser borrado y reprogramado. La GAL es muy
til en la fase de prototipado de un diseo, cuando un fallo en la lgica puede ser corregido
por reprogramacin. Las GALs se programan y reprograman utilizando un programador
OPAL, o utilizando la tcnica de programacin circuital en chips secundarios.
Un dispositivo similar llamado PEEL (programmable electrically erasable logic o lgica
programable elctricamente borrable) fue introducido por la International CMOS
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 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.
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
CPLDs
Las PALs y GALs estn disponibles slo en tamaos pequeos, equivalentes a unos pocos
cientos de puertas lgicas. Para circuitos lgicos mayores, se pueden utilizar PLDs
complejos oCPLDs. Estos contienen el equivalente a varias PAL enlazadas por
interconexiones programables, todo ello en el mismo circuito integrado. Las CPLDs pueden
reemplazar miles, o incluso cientos de miles de puertas lgicas.
Algunas CPLDs se programan utilizando un programador PAL, pero este mtodo no es
manejable para dispositivos con cientos de pines. Un segundo mtodo de programacin es
soldar el dispositivo en su circuito impreso. Las CPLDs contienen un circuito que descodifica
la entrada de datos y configura la CPLD para realizar su funcin lgica especfica.
Cada fabricante tiene un nombre propietario para este sistema de programacin. Por
ejemplo, Lattice Semiconductor la llama In-system programming (Programacin en el
sistema). Sin embargo, estos sistemas propietarios estn dejando paso al estndar del Joint
Test Action Group (JTAG).

FPGAs
.
Mientras el desarrollo de las PALs se enfocaba hacia las GALs y CPLDs (ver secciones
superiores), apareci una corriente de desarrollo distinta. Esta corriente de desarrollo
desemboc en un dispositivo basado en la tecnologa de matriz de puertas y se le
denomin field-programmable gate array (FPGA). Algunos ejemplos de las primeras FPGAs
son la matriz 82s100 y el secuenciador 82S105 de Signetics, presentados a finales de los
70. El 82S100 era una matriz de trminos AND, y tambin tena funciones de biestable.
Las FPGAs utilizan una rejilla de puertas lgicas, similar a la de una matriz de puertas
ordinarias, pero la programacin en este caso la realiza el cliente, no el fabricante. El
trmino field-programmable (literamente programable en el campo) se refiere a que la matriz
se define fuera de la fbrica, o "en el campo".
Las FPGAs se programan normalmente tras ser soldadas en la placa, en una forma similar a
los CPLDs grandes. En las FPGAs ms grandes, la configuracin es voltil y debe ser
reescrita cada vez que se enciende o se necesita una funcionalidad diferente. La
configuracin se guarda normalmente en una PROM o EEPROM. Las versiones EEPROM
pueden ser programadas mediante tcnicas como el uso de cables JTAG.
Las FPGAs y los CPLDs son buenas opciones para una misma tarea. Algunas veces la
decisin sobre una u otra es ms econmica que tcnica, o puede depender de la
preferencia personal o experiencia del ingeniero.
Otras variantes
Actualmente, existe bastante inters en sistemas reconfigurables. Estos sistemas se basan
en circuitos microprocesadores y contiene algunas funciones prefijadas y otras que pueden
ser alteradas por cdigo en el procesador. Para disear sistemas que se auto-alteren, es
necesario que los ingenieros aprendan nuevos mtodos y que nuevas herramientas de
software se desarrollen.
Las PLDs que se venden actualmente, contienen un microprocesador con una funcin
prefijada (el ncleo) rodeado con dispositivos de lgica programable. Estos dispositivos
permiten a los diseadores concentrarse en aadir nuevas caractersticas a los diseos sin
tener que preocuparse de hacer que funcione el microprocesador.
Almacenamiento de la configuracin en las PLDs
Una PLD es una combinacin de un dispositivo lgico y una memoria. La memoria se utiliza
para almacenar el patrn el que se le ha dado al chip durante la programacin. La mayora
de los mtodos para almacenar datos en un circuito integrado han sido adaptados para el
uso en PLDs. Entre estos se incluyen:

antifusibles de silicio.

SRAMs.

Clulas EPROM o EEPROM.

Memoria flash.

Los antifusibles de silicio son elementos de almacenamiento utilizados en las PAL, el primer
tipo de PLD. Estos antifusibles se encargan de formar conexiones mediante la aplicacin de
voltaje en un rea modificada del chip. Se le llama antifusibles porque funcionan de manera
opuesta a los fusiles normales, los cuales permiten la conexin hasta que se rompen por
exceso de corriente elctrica.
Las SRAM, o RAM estticas, son un tipo voltil de memoria, lo que quiere decir que su
contenido se pierde cada vez que se desconectan. Las PLDs basadas en SRAM tenen que
ser programadas cada vez que el circuito se enciende. Generalmente esto lo hace otra parte
del circuito.
Una clula EPROM es un transistor MOS (metal-xido-semiconductor) que puede activarse
atrapando una carga elctrica permanentemente en su puerta, cosa que realiza un
programador PAL. La carga permanece durante algunos aos slo puede ser eliminada
exponiendo al chip a una luz ultravioleta fuerte en un dispositivo llamado borrador EPROM.
Las memorias flash son no voltiles, por lo que retienen sus contenidos incluso cuando se
les corta la alimentacin. Puede ser borradas y reprogramadas tanto como sea necesario, lo
que las hace tiles para las memorias PLD.
A partir de 2005, la mayora de las CPLDs son del tipo EEPROM y no voltiles. Esto se debe
a que son demasiado pequeas para justificar lo poco conveniente que es la programacin
interna de celdas SRAM cada vez que se inician, y lo costoso de las clulas EPROM debido
a su encapsulado cermico con una ventana de cuarzo.

LENGUAJES DE PROGRAMACIN DE PLDS


Varios dispositivos de programacin de PALs admiten la entrada mediante un formato
estndar de archivo, denominados comnmente como 'archivos JEDEC'. Son anlogos a
los compiladoressoftware. Los lenguajes utilizados como cdigo fuente para compiladores
lgicos se denominan lenguajes de descripcin de hardware (HDLs).
PALASM y ABEL se utilizan frecuentemente para dispositivos de baja complejidad, mientras
que Verilog y VHDL son lenguajes de descripcin de hardware de alto nivel muy populares
para dispositivos ms complejos.
El ms limitado ABEL se usa normalmente por razones histricas, pero para nuevos diseos
es ms popular VHDL, incluso para diseos de baja complejidad.

CPLD
Un CPLD (del acrnimo ingls Complex Programmable Logic Device) es un dispositivo
electrnico.
Los CPLD extienden el concepto de un PLD (del acrnimo ingls Programmable Logic
Device) a un mayor nivel de integracin ya que permite implementar sistemas ms eficaces,
ya que utilizan menor espacio, mejoran la fiabilidad del diseo, y reducen costos. Un CPLD
se forma con mltiples bloques lgicos, cada uno similar a un PLD. Los bloques lgicos se
comunican entre s utilizando una matriz programable de interconexiones, lo cual hace ms
eficiente el uso del silicio, conduciendo a una mejor eficiencia a menor costo. A continuacin
se explican brevemente las principales caractersticas de la arquitectura de un CPLD.
MATRIZ DE INTERCONEXIONES PROGRAMABLES

PROCESADOR DE UN CPLD DE LA MARCAALTERA.


La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a
las entradas del bloque lgico, o las salidas del bloque lgico a las entradas de otro bloque
lgico o inclusive a las entradas del mismo. La mayora de los CPLDs usan una de dos
configuraciones para esta matriz: interconexin mediante bloques o interconexin
mediante multiplexores.
El primero se basa en una matriz de filas y columnas con una celda programable de
conexin en cada interseccin. Al igual que en las GAL esta celda puede ser activada para
conectar/desconectar la correspondiente fila y columna. Esta configuracin permite una total
interconexin entre las entradas y salidas del dispositivo o bloques lgicos. Sin embargo,
estas ventajas provocan que disminuya el rendimiento del dispositivo, adems de aumentar
el consumo de energa y el tamao del componente.

En la interconexin mediante multiplexores, existe un multiplexor por cada entrada al bloque


lgico. Las vas de interconexin programables son conectadas a las entradas de un nmero
de multiplexores por cada bloque lgico. Las lneas de seleccin de estos multiplexores son
programadas para permitir que sea seleccionada nicamente una va de la matriz de
interconexin por cada multiplexor la cual se propagara a hacia el bloque lgico. Cabe
mencionar que no todas las vas son conectadas a las entradas de cada multiplexor. La
rutabilidad se incrementa usando multiplexores de mayor tamao, permitiendo que cualquier
combinacin de seales de la matriz de interconexin pueda ser enlazada hacia cualquier
bloque lgico. Sin embargo, el uso de grandes multiplexores incrementa el tamao de
dispositivo y reduce su eficiencia.
BLOQUES LGICOS
Un bloque lgico es similar a un PLD, cada uno pose un bloque de compuertas AND y OR
en forma de suma de productos, una configuracin para la distribucin de estas sumas de
productos, y macroceldas. El tamao del bloque lgico es una medida de la capacidad del
CPLD, ya que de esto depende el tamao de la funcin booleana que pueda ser
implementada dentro del bloque. Los bloques lgicos usualmente tienen de 4 a 20
macroceldas.
MACROCELDAS
Las macroceldas de un CPLD son similares a las de un PLD. Estas tambin estn provistas
con registros, control de polaridad, y buffers para salidas en alta impedancia. Por lo general
un CPLD tiene macroceldas de entrada/salida, macroceldas de entrada y macroceldas
internas u ocultas (buried macrocells), en tanto que un 22V10 tiene solamente macroceldas
de entrada/salida. Una macrocelda interna es similar a una macrocelda de entrada/salida,
slo que esta no puede ser conectada directamente a un pin de salida. La salida de una
macrocelda interna va directamente a la matriz de interconexin programable.
CELDA DE ENTRADA/SALIDA
La funcin de una celda de entrada/salida es permitir el paso de una seal hacia dentro o
hacia el exterior del dispositivo. Dependiendo del fabricante y de la arquitectura
del CPLD estas celdas pueden o no ser consideradas parte del bloque lgico.

CPLD MAX 7000

Su Arquitectura de un CPLD es la forma en que estn organizados y a la disposicin a los


elementos internos del dispositivo. Son similares al diagrama de bloque de un CPLD
genrico, Teniendo la estructura clsica PAL/GAL que nos permite generar las funciones
suma de producto. Su densidad vara entre dos bloques LAB y 16 bloques LAB,
dependiendo del dispositivo concreto de la serie que se vaya a utilizar.1

Un bloque LAB es similar a un SPLD y que el tamao de los encapsulados varan entre 44 y
208 pines, cabe mencionar que utilizan una tecnologa de proceso basada en EEPROM. Las
versiones que se pueden programar dentro del sistema para ello se utilizan la interfaz
estndar JTAG.2
Fabricantes de CPLD

Altera

Atmel

Cypress Semiconductor

Lattice Semiconductor

Xilinx

4.- BIBLIOGRAFA
http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/100301.htm
http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/100501.htm
http://www.monografias.com/trabajos12/mosscur/mosscur.shtml
http://www.zona-warez.com/tutoriales-ingenieria_electrica.html
http://webdiee.cem.itesm.mx/web/servicios/archivo/manuales/micro8051.pdf
http://cactus.fi.uba.ar/crypto/tps/tarje.pdf
http://electronred.iespana.es/electronred/Circuitosintegra.htm

You might also like