EVOLUCIÓN DE LOS CPLDs 1. 1.-- INTROD INT RODUCC UCCIÓN IÓN Las Las comp comput utad ador oras as y otro otross tipo tiposs de sist sistem emas as requ requie iere ren n el alma almace cena nami mien ento to permanente o semipermanente de un gran número de datos binarios. Los sistemas basad basados os en microp microproc rocesa esado dores res necesi necesitan tan de la memori memoria a para para almac almacena enarr los programas y datos generados durante el procesamiento y disponer de ellos cuando sea necesario. Las modernas técnicas de circuitos integrados permiten combinar miles e incluso millones de puertas dentro de un solo encapsulado. Esto ha llevado a la fabricación de diseños más complejos como los dispositivos lógicos 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 pla!o .La memoria es un componente fundamental de las computadoras digitales y está presente en gran parte de los sistemas digitales. La memoria de acceso aleato aleatorio rio "#$% "#$% rando random m acces accesss memor memory& y& almace almacena na datos datos tempo temporal ralmen mente te la memo memori ria a de sólo sólo lect lectur ura a "#'% "#'% #ead #ead only only memo memory ry&& los los guar guarda da de mane manera ra permanente. La #'% forma parte del grupo de componentes llamados dispositivos lógi lógico coss prog progra rama mabl bles es "(L) "(L) prog progra ramm mmab able le logi logicc devi device ces& s& que que empl emplea ean n la información almacenada para definir circuitos lógicos. )ispo )isposit sitivo ivoss que son capace capacess de provee proveerr el medio medio f*sico f*sico para para almace almacenar nar esta esta información. + aunque esta es su tarea fundamental "más del ,- de las memorias se dedican a este fin& también se pueden utili!ar para la implementación de circuitos combinacionales combinacionales y pueden sustituir la mayor parte de la lógica de un sistema. Los Los chip chipss L/0 L/0 pued pueden en prog progra rama mars rse e para para real reali! i!ar ar func funcio ione ness espe espec* c*fifica cas. s. 1n dispositivo lógico programable "(L)& es un chip L/0 que contiene una estructura de circuito circuito 2regular3 2regular3 pero que permite permite al diseñado diseñadorr adecuarl adecuarlo o para una aplicaci aplicación ón espec*fica. 4uando un (L) t*pico deja la fábrica de 04 aún no está listo para una función espec*fica sino que debe ser programado por el usuario para que realice la función requerida en una aplicación particular. Los chips con la mayor funcionalidad por por unid unidad ad de área área han han sido sido los los chip chipss de memo memori ria a que que cont contie iene nen n arre arregl glos os rectangulares rectangulares de celdas de memoria. 1no de los (L) es el chip 2de memoria de sólo lectura3. En una primera clasificación clasificación se puede distinguir entre memorias de almacenamiento almacenamiento masi masivo vo cara caract cter eri! i!ad adas as por por ser ser memo memori rias as bara barata tass y lent lentas as y memo memori rias as semiconductoras semiconductoras o memorias de estado sólido más caras y rápidas. En las primeras la prioridad es disponer de una gran capacidad de almacenamiento como ocurre en los los disc discos os duro duros s en tant tanto o que que en las las segu segund ndas as la prio priori rida dad d es disp dispon oner er de velo veloci cida dade dess de acce acceso so rápi rápida dass comp compat atib ible less con con la may mayor capa capaci cida dad d de almacenamiento posible 5ue son las habitualmente utili!adas como memorias de almacenamiento de programa y de datos en la mayor*a de las aplicaciones. 5ue ofrece cada tipo de memoria as* como las tecnolog*as de fabricación que han permitido un espectacular avance en las velocidades y escalas de integración en los últimos años. (odemos considerar una memoria como un conjunto de % registros de 6 bits cada uno de ellos. Estos registros ocupan las posiciones desde el valor - hasta %78. (ara acceder a cada registro es necesaria una lógica de selección. En general para cada registro registro se pueden pueden reali!ar reali!ar procesos procesos de lectura lectura y de escritura. escritura. (ara reali!ar reali!ar todas todas estas operaciones son necesarios los siguientes terminales 9 :erminales :erminales de datos "de entrada y de salida&. En nuestro caso son necesarios 6 terminales; 9:erminales :erminales de direcciones son necesarios m de tal forma de
9:erminales :erminales de control. /on los que permiten especificar si se desa reali!ar una operación de escritura o de lectura seleccionar el dispositivo. 9>4/ >4/ "4hip select&; Es el terminal de selección de chip "habitualmente es activo con nivel bajo. 8 Las primeras son las relacionadas con nuestros conocidos discos de ordenador y las últimas están abriendo en la actualidad un atractivo abanico de posibilidades; desde los discos magnetoópticos hasta las memorias holográficas. 9#>? #>? "#ead>?rite&; /elecciona el modo de operación "lectura o escritura& sobre la memoria. habitualmente habitualmente con valor bajo es activo el modo de escritura. 9'E 'E "'utput Enable&. 4ontrola el estado de alta impedancia de los terminales de salida del dispositivo.
2.-MEMORIAS PROGRAMABLES 2.1.- MEMORIA MEMORIA ROM (READ ONLY MEMORY) Es una memoria de sólo lectura que se programan mediante máscaras. Es decir el contenido de las celdas de memoria se almacena durante el proceso de fabricación para mantenerse después de forma irrevocable. )esde el instante en que el fabricante grabo las instrucciones en el 4hip por lo tanto la escritura de este tipo de memorias ocurre una sola ve! y queda grabado su contenido aunque se le retire la energ*a. /e usa para almacenar información vital para el funcionamiento del sistema; en la gestión 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 forman la llamada BO! "Basic nput Output !ystem#. $unto a la BO! se encuentra el chip de %MO! donde se almacenan los valores que determinan la configuración hard&are del sistema, como tipos de unidades, par'metros de los discos duros, fecha y hora del sistema... esta información no se pierde al apagar apagar la comput computado adora. ra. Estos Estos valore valores s se pueden pueden modifi modificar car por por medio medio del del !E()*. +a memoria ROM constituye lo que se ha venido llamando irm&are, es decir, el soft&are metido f-sicamente en hard&are. e cara a los fines del usuario es una memoria que no sirve para la operación de su programa, sólo le aporta mayores funcionalidades funcionalidades "información# del equipo.
/i tenemos idea de cómo se fabrican los circuitos integrados sabremos de donde viene el nombre. Estos se fabrican en obleas "placas de silicio& que contienen vari varias as dece decena nass de chip chips. s. Esta Estass oble obleas as se fabr fabric ican an a parti partirr de proc proces esos os fotoqu*micos donde se impregnan capas de silicio y o@ido de silicio y según convenga se erosionan al e@ponerlos a la lu!. 4omo no todos los puntos han de ser erosionados se sitúa entre la lu! y la oblea una mascara con agujeros de manera que donde deba incidir la lu! esta pasará. 4on varios procesos similares pero pero más más comp complilica cado doss se cons consig igue ue fabr fabric icar ar los los tran transi sist stor ores es y diod diodos os micrométricos que componen un chip. El elevado coste del diseño de la máscara sólo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades. Los (4s vienen con una cantidad de #'% donde se encuentras los programas de A0'/ "Aasic 0nput 'utput /ystem& que contienen los programas y los datos necesarios para activar y hacer funcionar el computador y sus periféricos. La ventaja de tener los programas fundamentales del computador almacenados en la #'% es que están 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 )'/. )ebido a que están siempre residentes los programas en
9:erminales :erminales de control. /on los que permiten especificar si se desa reali!ar una operación de escritura o de lectura seleccionar el dispositivo. 9>4/ >4/ "4hip select&; Es el terminal de selección de chip "habitualmente es activo con nivel bajo. 8 Las primeras son las relacionadas con nuestros conocidos discos de ordenador y las últimas están abriendo en la actualidad un atractivo abanico de posibilidades; desde los discos magnetoópticos hasta las memorias holográficas. 9#>? #>? "#ead>?rite&; /elecciona el modo de operación "lectura o escritura& sobre la memoria. habitualmente habitualmente con valor bajo es activo el modo de escritura. 9'E 'E "'utput Enable&. 4ontrola el estado de alta impedancia de los terminales de salida del dispositivo.
2.-MEMORIAS PROGRAMABLES 2.1.- MEMORIA MEMORIA ROM (READ ONLY MEMORY) Es una memoria de sólo lectura que se programan mediante máscaras. Es decir el contenido de las celdas de memoria se almacena durante el proceso de fabricación para mantenerse después de forma irrevocable. )esde el instante en que el fabricante grabo las instrucciones en el 4hip por lo tanto la escritura de este tipo de memorias ocurre una sola ve! y queda grabado su contenido aunque se le retire la energ*a. /e usa para almacenar información vital para el funcionamiento del sistema; en la gestión 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 forman la llamada BO! "Basic nput Output !ystem#. $unto a la BO! se encuentra el chip de %MO! donde se almacenan los valores que determinan la configuración hard&are del sistema, como tipos de unidades, par'metros de los discos duros, fecha y hora del sistema... esta información no se pierde al apagar apagar la comput computado adora. ra. Estos Estos valore valores s se pueden pueden modifi modificar car por por medio medio del del !E()*. +a memoria ROM constituye lo que se ha venido llamando irm&are, es decir, el soft&are metido f-sicamente en hard&are. e cara a los fines del usuario es una memoria que no sirve para la operación de su programa, sólo le aporta mayores funcionalidades funcionalidades "información# del equipo.
/i tenemos idea de cómo se fabrican los circuitos integrados sabremos de donde viene el nombre. Estos se fabrican en obleas "placas de silicio& que contienen vari varias as dece decena nass de chip chips. s. Esta Estass oble obleas as se fabr fabric ican an a parti partirr de proc proces esos os fotoqu*micos donde se impregnan capas de silicio y o@ido de silicio y según convenga se erosionan al e@ponerlos a la lu!. 4omo no todos los puntos han de ser erosionados se sitúa entre la lu! y la oblea una mascara con agujeros de manera que donde deba incidir la lu! esta pasará. 4on varios procesos similares pero pero más más comp complilica cado doss se cons consig igue ue fabr fabric icar ar los los tran transi sist stor ores es y diod diodos os micrométricos que componen un chip. El elevado coste del diseño de la máscara sólo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades. Los (4s vienen con una cantidad de #'% donde se encuentras los programas de A0'/ "Aasic 0nput 'utput /ystem& que contienen los programas y los datos necesarios para activar y hacer funcionar el computador y sus periféricos. La ventaja de tener los programas fundamentales del computador almacenados en la #'% es que están 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 )'/. )ebido a que están siempre residentes los programas en
#'% son muy a menudo los cimientos sobre los que se construye el resto de los programas "incluyendo el )'/&. Estas memorias cuyo nombre procede de las iniciales de #ead 'nly %emory son solo de lectura. )entro de un proceso de elaboración de datos de una computadora no es posible grabar ningún dato en las memorias #'%. /on memorias perfectas para guardar microprogramas sistemas operativos tablas de conversión generación de caracteres etc. Las caractr!st"cas #$%&a'%tas & as ''r"as ROM s%* 1. Alta densidad * la estructura de la celda básica es muy sencilla y permite altas integraciones. volátil tiles es* el cont 2. No volá conten enid ido o de la memo memori ria a perm perman anec ece e si se quit quita a la alimentación. +. Coste* dado que la programación se reali!a a nivel de máscaras durante el proceso de fabricación resultan baratas en grandes tiradas de modo que el coste de fabricación se reparte en muchas unidades y el coste unitario es baja. ,. Sólo lectura* únicamente son programables a nivel de máscara durante su fabricación. /u contenido una ve! fabricada no se puede modificar. Bay muchos tipos de #'%;
1na #'% puede estar fabricada tanto en tecnolog*a bipolar como %'/. La figura muestra celdas #'% bipolar. La presencia de una unión desde una l*nea de fila a la base de un transistor representa un C8D en esa posición. En las uniones fila>columna en las que no e@iste cone@ión de base las l*neas de la columna permanecerán permanecerán a nivel bajo "C-D& cuando se direccione la fila.
La figura .8 muestra celdas #'% con transistores %'/. Aásicamente son iguales que las anteriores e@cepto que están fabricadas con %'/FE:s.
2.2.-MEMORIA PROM (PROGRAMMABLE READ ONLY MEMORIES) 1na alternativa para proyectos pequeños es el uso de una de las memorias de sólo lectura programables o PROM " programmable read only memories& memoria basada en semiconductores que contiene instrucciones o datos. Gstas e@isten en muchas variantes pero todas permiten que el usuario programe el dispositivo por si mismo ahorrándose el alto costo de la producción de la máscara. En la (#'% "programable #'%& o memoria programable de sólo lectura los contenidos pueden ser le*dos pero no modificados por un programa de usuario. /us contenidos no se construyen como la #'% directamente en el procesador cuando éste se fabrica sino que se crean por medio de un tipo especial 2programación3 ya sea por el fabricante o por especialistas técnicos de programación del usuario. El proceso de programación es destructivo; una ve! grabada es como si fuese una #'% normal. Las operaciones muy importantes o largas que se hab*an estado ejecutando mediante programas se pueden convertir en microprogramas y grabarse permanentemente en una pastilla de memoria programable sólo de lectura. 1na ve! que están en forma de circuitos electrónicos estas tareas se pueden reali!ar casi siempre en una fracción del tiempo que requer*an antes. La fle@ibilidad adicional que se obtiene con la (#'% puede convertirse en una desventaja si en la unidad (#'% se programa un error que no se puede corregir. (ara superar esta desventaja se desarrolló la E(#'% o memoria de solo lectura reprográmale. Las prestaciones de las memorias (#'% son similares a las anteriores con la única salvedad del proceso de programación. La escritura de la memoria (#'% tiene lugar fundiendo los fusibles necesarios por lo que la memoria (#'% solo puede ser programada una ve!. $hora la hace el usuario usando un equipo programador y además se rompe con la dependencia de la fábrica y los enormes costes de las máscaras. MTODO DE PROGRAMACIÓN DE LA MEMORIA PROM (ara conseguir que la información que se desea grabar sea inalterable se utili!an dos técnicas; por destrucción de fusible o por destrucción de unión. La idea es básicamente la misma que las ideas #'% convencionales pero en este caso todas las celdas tienen diodos por lo cual la memoria viene programada de fábrica con todos 8. 4ada diodo tiene conectado un fusible cuya funcionalidad es similar a la que podemos ver en fuentes de alimentación o estabili!adores de tensión; cuando se produce una sobretensión el fusible se quema y por lo tanto el circuito se abre. )e esta manera el diodo pierde contacto con el mundo e@terior y el lector de memoria nunca sabe de su e@istencia as* que a esa celda la interpreta como un cero. (or lo tanto para programar un chip de memoria (#'%H con un dispositivo llamado programador "por cierto un nombre muy original @)& se les aplica a las celdas correspondientes una tensión superior a la que son capaces de soportar los fusibles y as* quedan definidos todos los bits de la memoria en cuestión. 4omo 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 #'% "usadas como entradas& los valores lógicos de cada palabra. (ara cada posición se genera un pulso de hasta I-J por la entrada Jpp=Jcc que produce una circulación de corrientes que funden delgadas cone@iones fusibles en serie con diodos o transistores que se quiere desconectar. $s* se obtienen los ceros que deben resultar en las salidas dado que el chip 2virgen3 viene con todos los diodos conectados. Este proceso dura pocos minutos. El proceso de programación de una *ROM generalmente se reali!a con un equipo especial llamado quemador. Este equipo emplea un mecanismo de interruptores electrónicos controlados por softKare 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 esquemática la función del programador.
(rogramación de un (#'% ARUITECTURA DE LA PROM Estructura básica de un (L) 1n dispositivo programable por el usuario es aquel que contiene una arquitectura general pre7definida en la que el usuario puede programar el diseño final del dispositivo empleando un conjunto de herramientas de desarrollo. Las arquitecturas generales pueden variar pero normalmente consisten en una o más matrices de puertas $6) y '# para implementar funciones lógicas. %uchos dispositivos también contienen combinaciones de flip7flops y latches que pueden usarse como elementos de almacenaje para entrada y salida de un dispositivo. Los dispositivos más complejos contienen macrocélulas. Las macrocélulas permiten al usuario configurar el tipo de entradas y salidas necesarias en el diseño
Las (#'% son memorias programables de sólo lectura. $unque el nombre no implica la lógica programable las (#'% son de hecho lógicas. La arquitectura de la mayor*a de las (#'% consiste generalmente en un número fijo de términos $6) que alimenta una matri! programable '#. /e usan principalmente para decodificar las combinaciones de entrada en funciones de salida. a& Las $plicaciones más importantes; b& %icroprogramación c& Librer*a de subrutinas
d& (rogramas de sistema e& :ablas de función 2.+.-MEMORIA EPROM Las E(#'% o %emorias sólo de Lectura #eprogramables se programan mediante impulsos eléctricos y su contenido se borra e@poniéndolas a la lu! 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 -
PROGRAMACIÓN DE UNA MEMORIA EPROM Las E(#'% se programan insertando el chip en un programador de E(#'%. y aplicando en un pin especial de la memoria una tensión entre 8- y < Joltios durante apro@imadamente 0 ms, según el dispositivo al mismo tiempo se direcciona la posición de memoria y se pone la información a las entradas de datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de memoria. La memoria E*ROM se compone de un arreglo de transistores MO!E( de 4anal 1 de compuerta aislada. En la figura se observa el transistor funcionando como celda de memoria en una E*ROM .
4elda de memoria de una E(#'% 4ada transistor tiene una compuerta flotante de /i' < "sin cone@ión eléctrica& que en estado normal se encuentra apagado y almacena un 2 lógico. )urante la programación al aplicar una tensión "8- a <J& la región de la compuerta queda cargada eléctricamente haciendo que el transistor se encienda almacenando de esta forma un 0 lógico. Este dato queda almacenado de forma permanente sin necesidad de mantener la tensión en la compuerta ya que la carga eléctrica en la compuerta puede permanecer por un per*odo apro@imado de 8- años. Las E(#'%s también emplean transistores de puerta dual o F$%'/ "Floating ate $valanche70njection %etal7'@ide /emiconductor& de cargas almacenadas.
Estos transistores son similares a los transistores de efecto de campo "FE:s& canal7( pero tienen dos compuertas. La compuerta interior o flotante esta completamente rodeada por una capa aislante de dió@ido de silicioH la compuerta superior o compuerta de control es la efectivamente conectada a la circuiter*a e@terna. 0nicialmente la puerta flotante esta descargada y el transistor se comporta como un transistor %'/ normal. 6o obstante mediante un equipo programador se puede acumular carga en la puerta flotante aplicando una sobre tensión a la puerta y al drenador del transistor. Esta acumulación 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. $s* pues la cantidad de carga eléctrica almacenada sobre la compuerta flotante determina que el bit de la celda contenga un 1 o un /H las celdas cargadas son le*das como un / mientras que las que no lo están son le*das como un 1. :al como las E(#'%s salen de la fábrica todas las celdas se encuentran descargadas por lo cual el bit asociado es un 1H de ah* que una E(#'% virgen presente el valor he@adecimal FF en todas sus direcciones.
4uando un dado bit de una celda debe ser cambiado o programado de un 8 a un - se hace pasar una corriente a través del canal de transistor desde la fuente hacia la compuerta "obviamente los electrones siguen el camino inverso&. $l mismo tiempo se aplica una relativamente alta tensión sobre la compuerta superior o de control del transistor creándose de esta manera un campo eléctrico fuerte dentro de las capas del material semiconductor. $nte la presencia de este campo eléctrico fuerte algunos de los electrones que pasan el canal fuente7compuerta ganan suficiente energ*a como para formar un túnel y atravesar la capa aislante que normalmente a*sla 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$%c"%a'"%t & $%a EPROM #ecordemos que son memorias de acceso aleatorio generalmente le*das y eventualmente borradas y reescritas.
1na ve! grabada una E(#'% con la información pertinente por medio de un dispositivo especial que se e@plicará luego la misma es instalada en el sistema correspondiente donde efectivamente será utili!ada como dispositivo de lectura solamente. Eventualmente ante la necesidad de reali!ar alguna modificación en la información contenida o bien para ser utili!ada en otra aplicación la E(#'% es retirada del sistema borrada mediante la e@posición a lu! ultravioleta con una longitud de onda de <IM $ngstroms "unidad de longitud por la cual 8 $ = 8- 78m& programada con los nuevos datos y vuelta a instalar para volver a comportarse como una memoria de lectura solamente. (or esa e@posición para su borrado es que es encapsulada con una ventana transparente de cuar!o sobre la pastilla o NdieN de la E(#'%. Es atinente aclarar que una E(#'% no puede ser borrada parcial o selectivamenteH de ah* que por más pequeña que fuese la eventual modificación a reali!ar en su contenido inevitablemente se deberá borrar y reprogramar en su totalidad. Los tiempos medios de borrado de una E(#'% por e@posición a la lu! ultravioleta oscilan entre 8- y I- minutos. 4on el advenimiento de las nuevas tecnolog*as para la fabricación de circuitos integrados se pueden emplear métodos eléctricos de borrado. Estas #'% pueden ser borradas sin necesidad de e@traerlas de la tarjeta del circuito. $demás de E$(#'% suelen ser denominadas #%% "#ead %ostly %emories&memorias de casi7siempre lectura ya que no suelen modificarse casi nunca pues los tiempos de escritura son significativamente mayores que los de lectura. Las memorias de sólo lectura presentan un esquema de direccionamiento similar al de las memorias #$%. El microprocesador no puede cambiar el contenido de la memoria #'%. Entre las aplicaciones generales que involucran a las E(#'% debemos destacar las de manejo de sistemas microcontrolados. :odo sistema microcontrolado y>o microprocesado "se trate de una computadora personal o de una máquina e@pendedora de boletos para el autotransporte...& nos encontraremos con cierta cantidad de memoria programable por el usuario "la #$%& usualmente en la forma de dispositivos semiconductores contenidos en un circuito integrado "no olvidemos que un relay biestable o un flip7flop también son medios de almacenamiento de información&. Estos dispositivos semiconductores integrados están generalmente construidos en tecnolog*a %'/ "%etal7'@ide /emiconductor /emiconductor de '@ido %etálico& o 7más recientemente7 4%'/ "4omplementary %etal7'@ide /emiconducto o /emiconductor de '@ido %etálico 4omplementario&. Lamentablemente estos dispositivos #$% adolecen de un ligero inconveniente que es como ya se ha comentado su volatibilidad. )ado que cualquier sistema microprocesado requiere de al menos un m*nimo de memoria no volátil donde almacenar ya sea un sistema operativo un programa de aplicación un lenguaje intérprete o una simple rutina de NuploadN es necesario utili!ar un dispositivo que preserve su información de manera al menos semi7permanente. + aqu* es donde comien!an a brillar las E(#'%s.
:al como mencionáramos anteriormente el proceso de borrado de los datos contenidos en una E(#'% es llevado a cabo e@poniendo la misma a lu! ultravioleta. El punto reside en que la misma contiene fotones "4uantos de energ*a electromagnética& de energ*a relativamente alta. La #a'""a 2// Los dispositivos E(#'% de la familia
una memoria E(#'% mientras que al otro lado proporciona las señales necesarias para introducir el flujo de datos a la memoria #$%. 4uando compañ*as como $%) desarrollaron las memorias E(#'% NFlashN con una tensión de programación de J y un ciclo de vida que permit*a programar la memoria hasta 8--.--- veces se abrieron las puertas a un nuevo modelo de emulador de memorias E(#'%. El diseño que se presenta no solo actúa como un emulador con una enorme capacidad de almacenamiento sino que también funciona como un programador de memorias E(#'% NFlashN ahorrándose comprar un sistema e@clusivamente dedicado a programar. 4uando se termine de trabajar con el emulador durante la fase del diseño se dispondrá en la memoria E(#'% NFlashN del código definitivo que se sacará del emulador y se introducirá en el circuito que se vaya a utili!ar en la aplicación. 4omo los precios de las memorias E(#'% NFlashN no son mucho mayores que los de las memorias E(#'% convencionales la ventaja adicional que se ha descrito es sin costo.
E8'9 & Brra&r & $%a EPROM 0t:ra#!as & a:$%s ;rra&rs & 9r's
2.,.-MEMORIA EEPROM (ELECTRICAL ERASABLE PROGRAMMABLE READ ONLY MEMORY)
La memoria EE*ROM es programable y borrable eléctricamente y su nombre proviene de la sigla en inglés Electrical Erasable *rogrammable Read Only Memory . $ctualmente estas memorias se construyen con transistores de tecnolog*a MO! "Metal O3ide !ilice& y M1O! "Metal 1itride4O3ide !ilicon &. Las celdas de memoria en las EE*ROM son similares a las celdas E*ROM y la diferencia básica se encuentra en la capa aislante alrededor de cada compuesta flotante la cual es más delgada y no es fotosensible. Las memorias EE(#'% "Electrically Erasable *rogrammable Read4Only Memory & son memorias no volátiles y eléctricamente borrables a nivel de bytes. La posibilidad de programar y borrar las memorias a nivel de bytes supone una gran fle@ibilidad pero también una celda de memoria más compleja. $demás del transistor de puerta flotante anterior es preciso un segundo transistor de selección. El tener < transistores por celda hace que las memorias EE(#'% sean de baja densidad y mayor coste. La programación requiere de tiempos que µ
µ
oscilan entre 8M s y O< s=byte. Frente a las memorias E(#'% presenta la ventaja de permitir su borrado y programación en placa aunque tienen mayor coste debido a sus dos transistores por celda. Estas memorias se presentan en cuanto a la organi!ación y asignación de patillas como la 1J(#'% cuando están organi!adas en palabras de R bits. /e programan de forma casi idéntica pero tienen la posibilidad de ser borradas eléctricamente. Esta caracter*stica permite que puedan ser programadas y borradas 2en el circuito3. )ebido a que la célda elemental de este tipo de memorias es más complicada que sus equivalentes en E(#'% o (#'% "y por ello bastante más cara& este tipo de memoria no dispone en el mercado de una variedad tan amplia y es habitual tener que acudir a fabricantes especiali!ados en las mismas "ejemplo; Ticor&.
En cuanto a la forma de referenciar los circuitos estas memorias suelen comen!ar con el prefijo
BUS DE DIRECCIONES
BUS DE DATOS
WE
CE
4E = 4B0( E6$ALE; (ermite $ctivar el 4ircuito 0ntegrado 'E = '1:(1: E6$ALE; (ermite $ctivar La /alida )el Aus )e )atos CE
OE
LE4:1#$
-
-
8
E/4#0:1#$
-
8
-
WE
V%ta8as & a EEPROM* La programación y el borrado pueden reali!arse sin la necesidad de una fuente de lu! 1J y unidad programadora de (#'% además de poder hacerse en el mismo circuito gracias a que el mecanismo de transporte de cargas mencionado en el párrafo anterior requiere corrientes muy bajas. Las palabras almacenadas en memoria se pueden borrar de forma individual. (ara borra la información no se requiere lu! ultravioleta. Las memorias EE*ROM no requieren programador. )e manera individual puedes borrar y reprogramar eléctricamente grupos de caracteres o palabras en el arreglo de la memoria. El tiempo de borrado total se reduce a 8-ms en circuito donde su antepasado inmediato requer*a media hora bajo lu! ultravioleta e@terna. El tiempo de programación depende de un pulso por cada palabra de datos de 8ms versus los - ms empleados por una #'% programable y borrable. /e pueden reescribir apro@imadamente unas 8--- veces sin que se observen problemas para almacenar la información. (ara reescribir no se necesita hacer un borrado previo. A9"cac"%s & as M'r"as EEPROM Encontramos este tipo de memorias en aquellas aplicaciones en las que el usuario necesita almacenar de forma permanente algún tipo de informaciónH por ejemplo en los receptores de :J o magnetoscopios para memori!ar los ajustes o los canales de recepción.
E
Caracterís ticas Técnicas
R#r%c" a
8-><- ns E%ca9s$a & )0L7
EE(#'%
2.>.-MEMORIA 0LAS7
La memoria +8!9 es similar a la EE*ROM es decir que se puede programar y borrar eléctricamente son de alta densidad "gran capacidad de almacenamiento de bits&. $lta densidad significa que se puede empaquetar en una pequeña superficie del chip gran cantidad de celdas lo que implica que cuanto mayor sea la densidad más bits se pueden almacenar en un chip de tamaño determinado. /in embargo esta reúne algunas de las propiedades de las memorias anteriormente vistas y se caracteri!a por tener alta capacidad para almacenar información y es de fabricación sencilla lo que permite fabricar modelos de capacidad equivalente a las E*ROM a menor costo que las EE*ROM. ESTRUCTURA DE LA MEMORIA 0LAS7 $ntes de anali!ar 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 8
Los datos se almacenan como una carga en la puerta flotante. 0nicialmente toda la memoria se encuentra a nivel alto. (rogramar la memoria es el proceso de cambiar un N8N lógico por un N-N lógico. Aorrar un sector cambia todos los N-N lógicos de ese sector por N8N lógicos. 6o es posible reprogramar una determinada dirección; es necesario borrar previamente todo el sector antes de volver a programar esa dirección.
Las celdas de memoria se encuentran constituidas por un transistor %'/ 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 eléctrica cuando se aplica una tensión lo suficientemente alta en la puerta de control. )e la misma manera que la memoria E*ROM cuando hay carga eléctrica en la compuerta aislada se almacena un 0 de lo contrario se almacena un 2.
4elda de memoria de una FL$/B Las operaciones básicas de una memoria lash son la programación la lectura y borrado. 4omo ya se mencionó la programación se efectúa con la aplicación de una tensión "generalmente de 8
Prcs & &scar:a & $%a c&a & ''r"a 0LAS7 $parte de que las memorias E(#'% NFlashN tienen una entrada de escritura mientras están funcionando se comportan como las E(#'% normales. La única
diferencia se encuentra en como se cargan y se borran los datos en la memoria. %ientras que durante el proceso de programación de las memorias E(#'% convencionales se necesita una tensión bien definida durante cierto intervalo de tiempo y para borrar el componente hay que e@ponerlo a lu! ultravioleta en las E.Flash ambos procesos están controlados y se llevan a cabo internamente. (ara 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 E(#'% NFlashN mediante una serie de operaciones de escritura. Los dos primeros comandos NLectura>#esetN preparan la memoria para operaciones de lectura. El comando N$utoselecciónN permite leer el código del fabricante y el tipo de dispositivo. El comando NAyteN carga el programa dentro de la memoria E(#'% mientras que NAorrar 4hipN actúa durante el proceso de borrado que no dura más de un minuto. )esde el punto de vista lógico podemos afirmar que la memoria E(#'% NFlashN está dividida en sectores que se pueden borrar individualmente con la ayuda del comando NAorrar /ectorN. Las memorias E(#'% NFlashN disponen de otro mecanismo basado en la división en sectores que las protege de acciones de escritura o lectura no deseadas. 4uando un sector está protegido de esta forma no se puede reali!ar una operación de lectura o sobre escritura con una tensión de J. Este hecho es muy importante y se debe tener siempre presente cuando se utilicen estos dispositivos. /olamente se puede eliminar esta protección con la ayuda de un programador especial. )urante el proceso de programación o borrado se puede leer mediante un comando de acceso en NlecturaN el estado de la memoria E(#'% NFlashN en la misma posición que el byte de programado o borrado. %ientras se borra un sector se puede leer cualquier dirección que pertene!ca al sector. APLICACIONES DE LA MEMORIA 0LAS7 La %emoria Flash es ideal para docenas de aplicaciones portátiles. :omemos como ejemplo las cámaras digitales. 0nsertando una tarjeta de %emoria Flash de alta capacidad directamente en la cámara usted puede almacenar cientos de imágenes de alta resolución. 4uando este listo para bajarlas simplemente retire la tarjeta y transfiérala a su computadora de escritorio o portátil para su procesamiento. Las tarjetas de %emoria Flash se ajustan a entradas :ipo 00 "con o sin adaptador dependiendo del tipo de tarjeta Flash&. $hora esta usted listo para cargar en segundos todas las imágenes capturadas para observarlas manipularlas enviarlas por correo electrónico o imprimirlas. +a nunca necesitara comprar rollos para fotograf*a. /ea cual sea su aplicación o equipo portátil. $ctualmente los usos de %emoria Flash se están incrementando rápidamente. +a sean cámaras digitales $sistentes )igitales (ortátiles reproductores de música digital o teléfonos celulares todos necesitan una forma fácil y confiable de almacenar y transportar información vital. /e utili!an en la fabricación de A0'/ para computadoras. generalmente conocidos como FL$/B7A0'/. La ventaja de esta tecnolog*a es que permite actuali!ar el bios con un softKare proporcionado por el fabricante sin necesidad de desmontar el chip del circuito final ni usar aparatos especiales. (or esto la %emoria Flash se ha convertido en poco tiempo en una de las más populares tecnolog*as de almacenamiento de datos. Es más fle@ible que un disQette y puede almacenar hasta 8O-%A de información. Es más y mucho mas rápida que un disco duro y a diferencia de la memoria #$% la %emoria Flash puede retener datos aun cuando el equipo se ha apagado.
La %emoria Flash es ideal para docenas de aplicaciones portátiles. :omemos como ejemplo las cámaras digitales. 0nsertando una tarjeta de %emoria Flash de alta capacidad directamente en la cámara usted puede almacenar cientos de imágenes de alta resolución. 4uando este listo para bajarlas simplemente retire la tarjeta y transfiérala a su computadora de escritorio o portátil para su procesamiento. Las tarjetas de %emoria Flash se ajustan a entradas :ipo 00 "con o sin adaptador dependiendo del tipo de tarjeta Flash&. $hora esta usted listo para cargar en segundos todas las imágenes capturadas para observarlas manipularlas enviarlas por correo electrónico o imprimirlas. +a nunca necesitara comprar rollos para fotograf*a. E= La capacidad de esta memoria es de I
Caracterí sticas Técnicas
R#r%c" a 8-->8< ->8- ns E%ca9s$
a& )0L7
M'r"a 0as? 202>= En la figura se indica la disposición de los pines de esta memoria con sus caracter*sticas técnicas básicas. DI0ERENCIA ENTRE MEMORIAS EEPROM Y EPROM 0LAS7 La diferencia de las memorias flash con las EE(#'% reside en su velocidad; /on más rápidas en términos de programación y borrado aunque también necesitan de una tensión de grabado del orden de 8< voltios. 'tra diferencia la encontramos en que en las EE(#'% se puede borrar de forma selectiva cualquier byte mientras que en las memorias FL$/B sólo admite el borrado total de la misma. (or otra parte esta memorias son bastante más baratas que las EE(#'% debido a que utili!an una tecnolog*a más sencilla y se fabrican con grandes capacidades de almacenamiento. 1n dato puede ser significativo; el tiempo de borrado de un byte µ
es del orden de 8--
seg.
TABLA COMPARATIVA ENTRE MEMORIAS
+.-RESUMEN
MEMORIAS PROGRAMABLES MEMORIA ROM (READ ONLY MEMORY) Es una memoria de sólo lectura que se programan mediante máscaras. Es decir el contenido de las celdas de memoria se almacena durante el proceso de fabricación para mantenerse después de forma irrevocable. )esde el instante en que el fabricante grabo las instrucciones en el 4hip por lo tanto la escritura de este tipo de memorias ocurre una sola ve! y queda grabado su contenido aunque se le retire la energ*a. /e usa para almacenar información vital para el funcionamiento del sistema; en la gestión 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 BO! "Basic nput Output !ystem#. $unto a la BO! se encuentra el chip de %MO! donde se almacenan los valores que determinan la configuración hard&are del sistema, como tipos de unidades, par'metros de los discos duros, fecha y hora del sistema... esta información no se pierde al apagar la computadora. Estos valores se pueden modificar por medio del !E()*.
La ventaja de tener los programas fundamentales del computador almacenados en la #'% es que están 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 )'/. )ebido a que están siempre residentes los programas en #'% son muy a menudo los cimientos sobre los que se construye el resto de los programas "incluyendo el )'/&. 1na #'% puede estar fabricada tanto en tecnolog*a bipolar como %'/. MEMORIA PROM (PROGRAMMABLE READ ONLY MEMORIES) En la (#'% "programable #'%& o memoria programable de sólo lectura los contenidos pueden ser le*dos pero no modificados por un programa de usuario. /us contenidos no se construyen como la #'% directamente en el procesador cuando éste se fabrica sino que se crean por medio de un tipo especial 2programación3 ya sea por el fabricante o por especialistas técnicos de programación del usuario. El proceso de programación es destructivo; una ve! grabada es como si fuese una #'% normal. Las operaciones muy importantes o largas que se hab*an estado ejecutando mediante programas se pueden convertir en microprogramas y grabarse permanentemente en una pastilla de memoria programable sólo de lectura. 1na ve! que están en forma de circuitos electrónicos estas tareas se pueden reali!ar casi siempre en una fracción del tiempo que requer*an antes. La fle@ibilidad adicional que se obtiene con la (#'% puede convertirse en una desventaja si en la unidad (#'% se programa un error que no se puede corregir. (ara superar esta desventaja se desarrolló la E(#'% o memoria de solo lectura reprográmale. (ara conseguir que la información que se desea grabar sea inalterable se utili!an dos técnicas; por destrucción de fusible o por destrucción de unión. El proceso de programación de una *ROM generalmente se reali!a con un equipo especial llamado quemador. Este equipo emplea un mecanismo de interruptores electrónicos controlados por softKare 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 esquemática la función del programador. a& Las $plicaciones más importantes; b& %icroprogramación c& Librer*a de subrutinas d& (rogramas de sistema e& :ablas de función MEMORIA EPROM Las E(#'% o %emorias sólo de Lectura #eprogramables se programan mediante impulsos eléctricos y su contenido se borra e@poniéndolas a la lu! 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 E(#'% se programan insertando el chip en un programador de E(#'%. y aplicando en un pin especial de la memoria una tensión entre 8- y < Joltios durante apro@imadamente 0 ms, según el dispositivo al mismo tiempo se direcciona la posición de memoria y se pone la información a las entradas de datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de memoria.
4uando un dado bit de una celda debe ser cambiado o programado de un 8 a un - se hace pasar una corriente a través del canal de transistor desde la fuente hacia la compuerta "obviamente los electrones siguen el camino inverso&. $l mismo tiempo se aplica una relativamente alta tensión sobre la compuerta superior o de control del transistor creándose de esta manera un campo eléctrico fuerte dentro de las capas del material semiconductor. $nte la presencia de este campo eléctrico fuerte algunos de los electrones que pasan el canal fuente7compuerta ganan suficiente energ*a como para formar un túnel y atravesar la capa aislante que normalmente a*sla 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 /. Los tiempos medios de borrado de una E(#'% por e@posición a la lu! ultravioleta oscilan entre 8- y I- minutos. :al como mencionáramos anteriormente el proceso de borrado de los datos contenidos en una E(#'% es llevado a cabo e@poniendo la misma a lu! ultravioleta. El punto reside en que la misma contiene fotones "4uantos de energ*a electromagnética& de energ*a relativamente alta. MEMORIA EEPROM (ELECTRICAL ERASABLE PROGRAMMABLE READ ONLY MEMORY) La memoria EE*ROM es programable y borrable eléctricamente y su nombre proviene de la sigla en inglés Electrical Erasable *rogrammable Read Only Memory . $ctualmente estas memorias se construyen con transistores de tecnolog*a MO! "Metal O3ide !ilice& y M1O! "Metal 1itride4O3ide !ilicon &. Las celdas de memoria en las EE*ROM son similares a las celdas E*ROM y la diferencia básica se encuentra en la capa aislante alrededor de cada compuesta flotante la cual es más delgada y no es fotosensible. Las memorias EE(#'% "Electrically Erasable *rogrammable Read4Only Memory & son memorias no volátiles y eléctricamente borrables a nivel de bytes. La posibilidad de programar y borrar las memorias a nivel de bytes supone una gran fle@ibilidad pero también una celda de memoria más compleja. $demás del transistor de puerta flotante anterior es preciso un segundo transistor de selección. El tener < transistores por celda hace que las memorias EE(#'% sean de baja densidad y mayor coste. La programación requiere de tiempos que
µ
µ
oscilan entre 8M s y O< s=byte. Frente a las memorias E(#'% presenta la ventaja de permitir su borrado y programación en placa aunque tienen mayor coste debido a sus dos transistores por celda. 1na ventaja adicional de este tipo de memorias radica en que no necesitan de una alta tensión de grabado sirven los voltios de la tensión de alimentación habitual. CE
OE
LE4:1#$
-
-
8
E/4#0:1#$
-
8
-
WE
V%ta8as & a EEPROM* Las palabras almacenadas en memoria se pueden borrar de forma individual. (ara borra la información no se requiere lu! ultravioleta. Las memorias EE*ROM no requieren programador. )e manera individual puedes borrar y reprogramar eléctricamente grupos de caracteres o palabras en el arreglo de la memoria. (ara reescribir no se necesita hacer un borrado previo. MEMORIA 0LAS7 La memoria +8!9 es similar a la EE*ROM es decir que se puede programar y borrar eléctricamente son de alta densidad "gran capacidad de almacenamiento de bits&. $lta densidad significa que se puede empaquetar en una pequeña superficie del chip gran cantidad de celdas lo que implica que cuanto mayor sea la densidad más bits se pueden almacenar en un chip de tamaño determinado. /in embargo esta reúne algunas de las propiedades de las memorias anteriormente vistas y se caracteri!a por tener alta capacidad para almacenar información y es de fabricación sencilla lo que permite fabricar modelos de capacidad equivalente a las E*ROM a menor costo que las EE*ROM. $parte de que las memorias E(#'% NFlashN tienen una entrada de escritura mientras están funcionando se comportan como las E(#'% normales. La única diferencia se encuentra en como se cargan y se borran los datos en la memoria. %ientras que durante el proceso de programación de las memorias E(#'% convencionales se necesita una tensión bien definida durante cierto intervalo de tiempo y para borrar el componente hay que e@ponerlo a lu! ultravioleta en las E.Flash ambos procesos están controlados y se llevan a cabo internamente. (ara 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. )urante el proceso de programación o borrado se puede leer mediante un comando de acceso en NlecturaN el estado de la memoria E(#'% NFlashN en la misma posición que el byte de programado o borrado. %ientras se borra un sector se puede leer cualquier dirección que pertene!ca al sector. APLICACIONES DE LA MEMORIA 0LAS7 La %emoria Flash es ideal para docenas de aplicaciones portátiles. :omemos como ejemplo las cámaras digitales. 0nsertando una tarjeta de %emoria Flash de alta capacidad directamente en la cámara usted puede almacenar cientos de imágenes de alta resolución. 4uando este listo para bajarlas simplemente retire la tarjeta y
transfiérala a su computadora de escritorio o portátil para su procesamiento. Las tarjetas de %emoria Flash se ajustan a entradas :ipo 00 "con o sin adaptador dependiendo del tipo de tarjeta Flash&. $hora esta usted listo para cargar en segundos todas las imágenes capturadas para observarlas manipularlas enviarlas por correo electrónico o imprimirlas. +a nunca necesitara comprar rollos para fotograf*a. /ea cual sea su aplicación o equipo portátil. $ctualmente los usos de %emoria Flash se están incrementando rápidamente. +a sean cámaras digitales $sistentes )igitales (ortátiles reproductores de música digital o teléfonos celulares todos necesitan una forma fácil y confiable de almacenar y transportar información vital. TABLA COMPARATIVA ENTRE MEMORIAS
PLDs INTRODUCION Los )ispositivos Logicos (rogramables "(L)s& fueron introducidos a mediados de los M-s. La idea era construir circuitos lógicos combinacionales que fueran programables. $l contrario de los microcontroladores que pueden correr un programa y poseen un hardKare fijo los (L)s permiten la modificación a nivel de hardKare. En otras palabras un (L) es un chip multi propósito cuyo hardKare se puede re configurar para reali!ar tareas particulares. El primer (L) fue llamado ($L "(rogrammable $rray Logic&. Los ($L solo utili!an compuertas lógicas "sin Flip7Flops& por lo que solo permiten la implementación de circuitos combinacionales. (ara superar esta limitación luego fueron creados los registered (L)s los cuales incluyen Flip7Flops en cada salida del circuito. 4on estos dispositivos es posible implementar funciones secuenciales simples. $ comien!os de los R-s se fueron agregando circuitos lógicos adicionales a las salidas de los (L)s. La nueva celda de salida llamada %acrocell contiene "a parte de Flip7Flops& puertas lógicas y multiple@ores. La celda en si es programable permitiendo varios modos de operación. $dicionalmente provee una señal de retorno o feedbacQ desde la salida del cricuito al arreglo programable lo que le da una mayor fle@ibilidad. Esta nueva estructura fue llamada generic ($L "$L&. :odos estos chips "($L (L$ registered (L) $L>($L4E& son conocidos en conjunto como /(L)s "/imple (L)s&. La $L>($L4E es la única que aun se fabrica en chips independientes.
Luego de esto se fabricaron chips con muchas $L en su interior utili!ando una arquitectura mucho más sofisticada mejor tecnolog*a y muchas otras caracter*sticas adicionales como soporte para S:$. Estas estructuras son conocidas como 4(L) "4omple@ (L)&. Los 4(L) son bastante populares por su alta densidad de puertas alto performance y bajo costo. Finalmente a mediados de los R-s fueron introducidas las F($ las cuales difieren de los 4(L) en su arquitectura tecnolog*a y costos. Estos dispositivos fueron creados principalmente para la implementación de circuitos de alto rendimiento. :odos los (L)s son no volátiles. (ueden ser ':( "one time programmable& en cuyo caso son utili!ados fusibles o anti fusibles o pueden ser re programables con EE(#'% o memoria FL$/B. Las F($s por otro lado son la mayor*a volátiles puesto que utili!an /#$% para almacenar las cone@iones en estos casos generalmente se utili!a un #'% e@terna para almacenar la configuración inicial al momento del encendido. 7ISTORIA $ mediados de los años setenta se produce una fuerte evolución en los procesos de fabricación de los circuitos integrados y junto a las tecnolog*as bipolares surge la %'/ "metal o@ide semiconductor& principalmente la 6%'/ promoviendo el desarrollo de circuitos digitales hasta la primera mitad de los años ochenta. En aquellas épocas el esfuer!o de diseño se concentraba en los niveles eléctricos para establecer caracter*sticas e intercone@iones entre los componentes básicos a nivel de transistor. El proceso de diseño era altamente manual y tan solo se empleaban herramientas como el (/(04E para simular esquemas eléctricos con modelos previamente personali!ados a las distintas tecnolog*as. $ medida que pasaban los años los procesos tecnológicos se hac*an más y más complejos. Los problemas de integración iban en aumento y los diseños eran cada ve! más dif*ciles de depurar y de dar mantenimiento. 0nicialmente los circuitos integrados de %/0 "%orrad /cale 0ntegration& y L/0 "LoK /cale 0ntegration& se diseñaban mediante la reali!ación de prototipos basados en módulos muy sencillos. 4ada uno de estos módulos estaba formado por puertas lógicas ya probadas este método poco a poco iba quedándose obsoleto. En ese momento "finales de los años setenta& se constata el enorme desfase que e@iste entre tecnolog*a y diseño. $lrededor de 8,R8 el )epartamento de )efensa de los Estados 1nidos desarrolla un proyecto llamado JB/04 "Jery Bigh /peed 0ntegrated 4ircuit& su objetivo era rentabili!ar las inversiones en hardKare haciendo más sencillo su mantenimiento. /e pretend*a con ello resolver el problema de modificar el hardKare diseñado en un proyecto para utili!arlo en otro lo que no era posible hasta entonces porque no e@ist*a una herramienta adecuada que armoni!ase y normali!ase dicha tarea era el momento de los B)LDs. El desarrollo de la electrónica digital moderna a finales del siglo pasado y principios de este trajo consigo que las técnicas de miniaturi!ación de los elementos se fueran desarrollando cada ve! más obteniendo un alto nivel de integración en los elementos trayendo consigo un gran número de ventajas por citar algunas tenemos; 6o necesitan voltajes de alimentación muy elevados ni grandes consumos de corriente por lo que las fuentes de alimentación son pequeñas y de poca potencia En la metodolog*a de diseño las dimensiones topológicas de las estructuras han disminuido llevando todo esto a una reducción de los costos )ebido a la reducción de sus costos de diseños que llevó consigo el constante desarrollo del softKare y el hardKare trajo aparejado el surgimiento después de varios años de los dispositivos lógicos programables o (L)Vs dentro de ellos las F($Vs "Field W (rogammable ate $rrays&. VENTA
Los (L)Vs están despla!ando cada ve! más a la lógica discreta y a otros tipos de circuitos $/04 debido a las múltiples ventajas que ofrecen. $lgunas de estas son; (ueden reempla!ar a varios componentes discretos reduciendo con ello el número de circuitos integrados a utili!ar. Esto a su ve! supone; #educción de espacio. #educción del número de cone@iones. #educción de la potencia de consumo. )isminución del coste. $umento de la fiabilidad. La mayor parte de ellos ofrecen una gran fle@ibilidad al permitir reprogramar el circuito lógico a la medida pudiendo obtener diferentes configuraciones para un mismo dispositivo. Esta posibilidad que brindan algunos (L)Vs de ser reprogramados permite que se elimine el riesgo de errores a la hora de la grabación. /e reducen los costos de stocQ al poder utili!ar el mismo dispositivo para aplicaciones distintas sin más que hacer programaciones distintas. ran facilidad de diseño porque las herramientas disponibles para este fin simplifican considerablemente el proceso de diseño haciendo que la implementación al más bajo nivel sea transparente para el usuario. El sistema de desarrollo consiste en un softKare de diseño y un programador donde el softKare es en esencia un ensamblador que transforma el diseño de alto nivel que hace el usuario "ecuaciones booleanas tablas de la verdad diagramas de estado y esquemáticos& a bajo nivel o nivel de programación del dispositivo. $demás los softKare que e@isten en el mercado disponen de simulador lo que permite hacer depuraciones del diseño antes de programar el componente.
DESVENTA
$ntes de que se inventasen las (L)s los chips de memoria de solo lectura "ROM & se utili!aban para crear funciones de lógica combinacional arbitrarias con un número determinado de entradas. 4onsiderando una #'% con m entradas a las que se denomina l-neas de dirección H y con n salidas a las que se denomina l-neas de datos. 4uando se utili!a como memoria la #'% contiene palabras de n bits. /upongamos que las entradas no son direccionadas por una dirección de m7bits sino por m señales lógicas independientes. :eóricamente hay funciones booleanasposibles de estas m señales pero la estructura de la #'% permite solo producir n de estas funciones en los pines de
salida. (or lo tanto en este caso la #'% se vuelve un equivalente de ncircuitos lógicos separados cada uno generando una función elegida de las m entradas. La ventaja de utili!ar una #'% de esta forma es que cualquier función concebible de las m entradas puede ser colocada por las n salidas haciendo este el dispositivo lógico combinacional de mayor propósito general disponible. :ambién las (#'%s "ROMs programables& E(#'%s "*ROMs de borrado por ultravioleta& y EE(#'%s "*ROMs de borrado eléctrico& disponibles pueden ser programadas de esta manera con un programador (#'% hardKare o softKare. /in embargo e@isten varias desventajas; •
•
•
•
•
/on bastante más lentas que los circuitos lógicos dedicados. 6o necesariamente pueden proveer de NprotecciónN ante transiciones lógicas as*ncronas. 4onsumen mayor potencia. /ólo se utili!a una pequeña fracción de su capacidad en una sola aplicación; un uso ineficiente del espacio. (or si solas no pueden ser utili!adas para circuitos de lógica secuencial puesto que no contienen biestables. (ara reali!ar algunos circuitos secuenciales "como máquinas de estado& se utili!aba un registro ::L e@terno.
Las E(#'%s comunes "como la
LÓGICA PROGRAMABLE TEMPRANA En 8,M- :e@as 0nstruments desarrolló un 40 de máscara programable basado en la memoria asociativa de sólo lectura " RO8M & de 0A%. Este dispositivo el :%/<--- era programado alterando la capa metálica durante la producción del 40. El :%/<--- ten*a hasta 8M entradas y 8R salidas con R biestables SU como memoria. :e@as 0nstruments acuño el término (rogrammable logic array para este dispositivo. En 8,MI 6ational /emiconductor introdujo un dispositivo (L$ de máscara programable ")%MM& con 8P entradas y R salidas sin registros de memoria. Este era más popular que el de :e@as 0nstruments pero el coste de hacer la máscara metálica limitaba su uso. El dispositivo es significativo por ser la base de la F($ "ield *rogrammable +ogic 8rray & producido por /ignetics en 8,M el R8--. En 8,M8 eneral Electric desarrollaba un (L) basado en la nueva tecnolog*a (#'%. Este dispositivo e@perimental mejoró el #'$% de 0A% permitiéndole reali!ar lógica multinivel. 0ntel acababa de introducir la (#'% de puerta flotante borrable por 1J por lo que los desarrolladores en eneral Electric incorporaron esa tecnolog*a. El dispositivo de
eneral Electric era el primer (L) jamás desarrollado antecesora del E(L) de $ltera en una década. eneral Electric obtuvo varias patentes tempranas en (L)s. En 8,MP eneral Electric firmó un acuerdo con %onolithic %emories para desarrollar un (L) de máscara programable incorporando las innovaciones de eneral. El dispositivo se bauti!ó como*rogrammable 8ssociative +ogic 8rray "($L$ matri! lógica asociativa programable&. El %%0 MO- fue terminado en 8,MO y pod*a implementar circuitos multinivel o secuenciales de más de 8-- puertas. El dispositivo estaba soportado por el entorno de desarrollo de eneral donde las ecuaciones Aooleanas pod*an ser convertidas a patrones de máscara para configurar el dispositivo. El integrado nunca se comerciali!ó "hasta ahora debido a lo antes comentado&. PAL %%0 introdujo un dispositivo revolucionario en 8,MR la (rogrammable $rray Logic "Matri; lógica programable &. La arquitectura era más sencilla que la F(L$ de /ignetics porque omit*a la matri!'# programable. Esto hi!o los dispositivos más rápidos más pequeños y más baratos. Estaban disponibles en encapsulados de <- pines y )0( de I-- milésimas de pulgada mientras que las F(L$s ven*an en encapsulados de
:ambién hay (L$s ; (rogrammable Logic $rray. GALs
Latt"c GAL 1=V4 2/V4.
1na innovación del ($L fue la matri; lógica genp CPLDs Las ($Ls y $Ls están disponibles sólo en tamaños pequeños equivalentes a unos pocos cientos de puertas lógicas. (ara circuitos lógicos mayores se pueden utili!ar (L)s complejos o4(L)s. Estos contienen el equivalente a varias ($L enla!adas por intercone@iones programables todo ello en el mismo circuito integrado. Las 4(L)s pueden reempla!ar miles o incluso cientos de miles de puertas lógicas. $lgunas 4(L)s se programan utili!ando un programador ($L pero este método no es manejable para dispositivos con cientos de pines. 1n segundo método de programación es soldar el dispositivo en su circuito impreso. Las 4(L)s contienen un circuito que descodifica la entrada de datos y configura la 4(L) para reali!ar su función lógica espec*fica. 4ada fabricante tiene un nombre propietario para este sistema de programación. (or ejemplo Lattice /emiconductor la llama n4system programming "(rogramación en el sistema&. /in embargo estos sistemas propietarios están dejando paso al estándar del $oint (est 8ction =roup "S:$&.
0PGAs .
%ientras el desarrollo de las ($Ls se enfocaba hacia las $Ls y 4(L)s "ver secciones superiores& apareció una corriente de desarrollo distinta. Esta corriente de desarrollo desembocó en un dispositivo basado en la tecnolog*a de matri! de puertas y se le denominó field4programmable gate array "F($&. $lgunos ejemplos de las primeras F($s son la matri! Rcleo & rodeado con dispositivos de lógica programable. Estos dispositivos permiten a los diseñadores concentrarse en añadir nuevas caracter*sticas a los diseños sin tener que preocuparse de hacer que funcione el microprocesador. A'ac%a'"%t & a c%#":$rac"% % as PLDs 1na (L) es una combinación de un dispositivo lógico y una memoria. La memoria se utili!a para almacenar el patrón el que se le ha dado al chip durante la programación. La mayor*a de los métodos para almacenar datos en un circuito integrado han sido adaptados para el uso en (L)s. Entre estos se incluyen; a%t"#$s";s & s""c". SRAMs.
C$as EPROM EEPROM. M'r"a #as?. Los antifusibles de silicio son elementos de almacenamiento utili!ados en las ($L el primer tipo de (L). Estos antifusibles se encargan de formar cone@iones mediante la aplicación de voltaje en un área modificada del chip. /e le llama antifusibles porque funcionan de manera opuesta a los fusiles normales los cuales permiten la cone@ión hasta que se rompen por e@ceso de corriente eléctrica. Las /#$% o #$% estáticas son un tipo volátil de memoria lo que quiere decir que su contenido se pierde cada ve! que se desconectan. Las (L)s basadas en /#$% t*enen que ser programadas cada ve! que el circuito se enciende. eneralmente esto lo hace otra parte del circuito. 1na célula E(#'% es un transistor %'/ "metal7ó@ido7semiconductor & que puede activarse atrapando una carga eléctrica permanentemente en su puerta cosa que reali!a un programador ($L. La carga permanece durante algunos años sólo puede ser eliminada e@poniendo al chip a una lu! ultravioleta fuerte en un dispositivo llamado borrador E(#'%. Las memorias flash son no volátiles por lo que retienen sus contenidos incluso cuando se les corta la alimentación. (uede ser borradas y reprogramadas tanto como sea necesario lo que las hace útiles para las memorias (L). $ partir de <-- la mayor*a de las 4(L)s son del tipo EE(#'% y no volátiles. Esto se debe a que son demasiado pequeñas para justificar lo poco conveniente que es la programación interna de celdas /#$% cada ve! que se inician y lo costoso de las células E(#'% debido a su encapsulado cerámico con una ventana de cuar!o.
LENGUA
CPLD 1n CPLD "del acrónimo inglés C'93 Pr:ra''a; L:"c D"c& es un dispositivo electrónico. Los 4(L) e@tienden el concepto de un (L) "del acrónimo inglés *rogrammable +ogic evice& a un mayor nivel de integración ya que permite implementar sistemas más eficaces ya que utili!an menor espacio mejoran la fiabilidad del diseño y reducen costos. 1n 4(L) se forma con múltiples bloques lógicos cada uno similar a un (L). Los bloques lógicos se comunican entre s* utili!ando una matri! programable de intercone@iones lo cual hace más eficiente el uso del silicio conduciendo a una mejor eficiencia a menor costo. $ continuación se e@plican brevemente las principales caracter*sticas de la arquitectura de un %*+. %$:#0Z )E 06:E#4'6ET0'6E/ (#'#$%$ALE/
PROCESADOR DE UN CPLD DE LA MARCAALTERA. La matri! de intercone@iones programables "(0%& permiten unir los pines de entrada>salida a las entradas del bloque lógico o las salidas del bloque lógico a las entradas de otro bloque lógico o inclusive a las entradas del mismo. La mayor*a de los %*+s usan una de dos configuraciones para esta matri!; intercone@ión mediante bloques o intercone@ión mediante multiple@ores. El primero se basa en una matri! de filas y columnas con una celda programable de cone@ión en cada intersección. $l igual que en las $L esta celda puede ser activada para conectar>desconectar la correspondiente fila y columna. Esta configuración permite una total intercone@ión entre las entradas y salidas del dispositivo o bloques lógicos. /in embargo estas ventajas provocan que disminuya el rendimiento del dispositivo además de aumentar el consumo de energ*a y el tamaño del componente.
En la intercone@ión mediante multiple@ores e@iste un multiple@or por cada entrada al bloque lógico. Las v*as de intercone@ión programables son conectadas a las entradas de un número de multiple@ores por cada bloque lógico. Las l*neas de selección de estos multiple@ores son programadas para permitir que sea seleccionada únicamente una v*a de la matri! de intercone@ión por cada multiple@or la cual se propagara a hacia el bloque lógico. 4abe mencionar que no todas las v*as son conectadas a las entradas de cada multiple@or. La rutabilidad se incrementa usando multiple@ores de mayor tamaño permitiendo que cualquier combinación de señales de la matri! de intercone@ión pueda ser enla!ada hacia cualquier bloque lógico. /in embargo el uso de grandes multiple@ores incrementa el tamaño de dispositivo y reduce su eficiencia. AL'51E/ L[04'/ 1n bloque lógico es similar a un (L) cada uno pose un bloque de compuertas $6) y '# en forma de suma de productos una configuración para la distribución de estas sumas de productos y macroceldas. El tamaño del bloque lógico es una medida de la capacidad del 4(L) ya que de esto depende el tamaño de la función booleana que pueda ser implementada dentro del bloque. Los bloques lógicos usualmente tienen de P a salida macroceldas de entrada y macroceldas internas u ocultas " buried macrocells & en tanto que un <salida. 1na macrocelda interna es similar a una macrocelda de entrada>salida sólo que esta no puede ser conectada directamente a un pin de salida. La salida de una macrocelda interna va directamente a la matri! de intercone@ión programable. 4EL)$ )E E6:#$)$>/$L0)$ La función de una celda de entrada>salida es permitir el paso de una señal hacia dentro o hacia el e@terior del dispositivo. )ependiendo del fabricante y de la arquitectura del %*+ estas celdas pueden o no ser consideradas parte del bloque lógico.
4(L) %$T M---