+ All Categories
Home > Documents > New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos...

New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos...

Date post: 26-Sep-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
12
1 Fundamentos de Lógica digital. Sesión 12. Memorias y Arreglos lógicos programables. Aspectos generales sobre memorias Las unidades de memoria son módulos conformados por un conjunto de cerrojos o condensadores agrupados de tal forma que almacenan varias palabras binarias de n bits. Cada cerrojo tiene la capacidad de almacenar un bit de información (1 o 0), y se conocen con el nombre de celdas de memoria. Las celdas o bits de memoria se ubican mediante la fila y la columna en la que se encuentra. En la figura 1 se observa como ubicar un bit y una palabra dentro de una memoria. Figura 1. Ubicación de la información en una memoria Las palabras binarias se identifican con una dirección la cual define la ubicación dentro del arreglo y generalmente se designa con un número binario, octal o hexadecimal. En la mayoría de las aplicaciones se asocian en grupos de ocho unidades para formar bytes y el tamaño de las palabras en las memorias actuales está entre 4 y 64 bits. El parámetro básico de una memoria es su capacidad, la cual corresponde al total de unidades que puede almacenar. El tiempo de acceso es otro parámetro importante en las memorias. Este corresponde al tiempo que tarda la memoria en acceder a la información almacenada en una dirección. Generalmente este tiempo se designan como tacc en las fichas técnicas de estos dispositivos. En tabla 1 se indican los tiempos de acceso de las memorias en circuito Integrado comparados con los tiempos de otros tipos de memoria. Memoria Tiempo de Acceso Núcleo de Ferrita 0.3 - 1.0 us Cinta Magnética 5 ms - 1s Disco Magnético 10ms - 50 ms CD ROM 200 ms 400 ms Memorias Integradas MOS 2ns 300 ns Memorias Integradas Bipolares 0.5ns 30 ns Tabla 1. Comparación de tiempos de acceso de diversos tipos de memorias
Transcript
Page 1: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

1

Fundamentos de Lógica digital. Sesión 12. Memorias y Arreglos lógicos

programables.

Aspectos generales sobre memorias

Las unidades de memoria son módulos conformados por un conjunto de cerrojos o

condensadores agrupados de tal forma que almacenan varias palabras binarias de n bits.

Cada cerrojo tiene la capacidad de almacenar un bit de información (1 o 0), y se

conocen con el nombre de celdas de memoria. Las celdas o bits de memoria se ubican

mediante la fila y la columna en la que se encuentra. En la figura 1 se observa como

ubicar un bit y una palabra dentro de una memoria.

Figura 1. Ubicación de la información en una memoria

Las palabras binarias se identifican con una dirección la cual define la ubicación dentro

del arreglo y generalmente se designa con un número binario, octal o hexadecimal. En

la mayoría de las aplicaciones se asocian en grupos de ocho unidades para

formar bytes y el tamaño de las palabras en las memorias actuales está entre 4 y 64 bits.

El parámetro básico de una memoria es su capacidad, la cual corresponde al total de

unidades que puede almacenar.

El tiempo de acceso es otro parámetro importante en las memorias. Este corresponde al

tiempo que tarda la memoria en acceder a la información almacenada en una dirección.

Generalmente este tiempo se designan como tacc en las fichas técnicas de estos

dispositivos. En tabla 1 se indican los tiempos de acceso de las memorias en circuito

Integrado comparados con los tiempos de otros tipos de memoria.

Memoria Tiempo de Acceso

Núcleo de Ferrita 0.3 - 1.0 us

Cinta Magnética 5 ms - 1s

Disco Magnético 10ms - 50 ms

CD ROM 200 ms – 400 ms

Memorias Integradas MOS 2ns – 300 ns

Memorias Integradas Bipolares 0.5ns – 30 ns

Tabla 1. Comparación de tiempos de acceso de diversos tipos de memorias

Page 2: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

2

Operaciones básicas de una Memoria

La función básica de las memorias es almacenar información. Sin embargo, las

memorias tienen la función específica de escribir y leer los datos en su interior. En la

figura 2 se observa la estructura básica de una memoria de 1K de 4 bits, en la cual se

indican sus partes básicas.

Figura 2. Esquema descriptivo de una Memoria

En la figura 2 la entrada de direcciones (A0 a A9), como su nombre lo indica, define la

posición a escribir o leer dentro de la memoria, esto se logra con un decodificador, las

entradas y salidas de datos (D0 a D3) definen los datos a escribir y leer respectivamente

y lo hacen a través de un único canal, para ello utilizan dispositivos triestado que

permiten que la información entre o salga, para ello se utiliza la entrada WE’ (lectura/

escritura) que controla el tipo de operación que la memoria debe hacer y la

entrada OE’ corresponde a la señal de habilitación de la memoria, la cual habilita o

deshabilita la memoria para responder a las demás entradas.

Las operaciones básicas de una memoria consisten en leer y almacenar información

mediante el uso del bus de datos y direcciones. Estas operaciones ocurren en un orden

lógico, el cual se indica a continuación:

Apuntar a la dirección de memoria que se desea leer o escribir mediante el uso

del bus de direcciones

Selección del tipo de operación: Lectura o escritura.

Cargar los datos a almacenar (en el caso de una operación de escritura)

Retener los datos de la memoria (en el caso de una operación de lectura)

Habilitar o deshabilitar la memoria para una nueva operación.

Memorias de Solo Lectura

Las memorias de solo lectura son conocidas como memorias ROM de la sigla en

inglés Read Only Memory. Se caracterizan por ser memorias de lectura y contienen

celdas de memoria no volátiles, es decir que la información almacenada se conserva sin

Page 3: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

3

necesidad de energía. Este tipo de memoria se emplea para almacenar información de

forma permanente o información que no cambie con mucha frecuencia.

Actualmente se dispone de varios tipos de memorias ROM, a continuación, se explicará

cada una de ellas con sus características básicas.

Memoria ROM de Máscara

Esta memoria se conoce simplemente como ROM y se caracteriza porque la

información contenida en su interior se almacena durante su construcción y no se puede

alterar. Son memorias ideales para almacenar microprogramas, sistemas operativos,

tablas de conversión y caracteres.

Generalmente estas memorias utilizan transistores MOS para representar los dos estados

lógicos (1 ó 0). La programación se desarrolla mediante el diseño de un negativo

fotográfico llamado máscara donde se especifican las conexiones internas de la

memoria.

Memoria PROM

Esta memoria es conocida como ROM programable de la sigla en inglés Programmable

Read Only Memory. Este tipo de memoria a diferencia de la ROM no se programa

durante el proceso de fabricación, en vez de ello la programación la efectúa el usuario y

se puede realizar una sola vez, después de la cual no se puede borrar o volver a

almacenar otra información.

El proceso de programación es destructivo, es decir, que una vez grabada, es como si

fuese una ROM normal. Para almacenar la información se emplean dos técnicas: por

destrucción de fusible o por destrucción de unión. Comúnmente la información se

programa o quema en las diferentes celdas de memoria aplicando la dirección en

el bus de direcciones, los datos en los buffers de entrada de datos y un pulso de 10 a

30V, en una terminal dedicada para fundir los fusibles correspondientes. Cuando se

aplica este pulso a un fusible de la celda, se almacena un 0 lógico, de lo contrario se

almacena un 1 lógico (estado por defecto), quedando de esta forma la información

almacenada de forma permanente.

El proceso de programación de una PROM generalmente se realiza con un equipo

especial llamado quemador. Este equipo emplea un mecanismo de interruptores

electrónicos 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

3. se indica de forma esquemática la función del programador.

Page 4: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

4

Figura 3. Programación de un PROM

Memoria EPROM

Este tipo de memoria es similar a la PROM con la diferencia que la información se

puede borrar y volver a grabar varias veces. Su nombre proviene de la sigla en

inglés Erasable Read Only Memory.

La programación se efectúa aplicando en un pin especial de la memoria una tensión

entre 10 y 25 Voltios durante aproximadamente 50 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.

Por otra parte, el borrado de la memoria se realiza mediante la exposición del

dispositivo a rayos ultravioleta durante un tiempo aproximado de 10 a 30 minutos. Este

tiempo depende del tipo de fabricante y para realizar el borrado, el circuito integrado

dispone de una ventana de cuarzo transparente, la cual permite a los rayos ultravioleta

llegar hasta el material fotoconductivo presente en las compuertas aisladas y de esta

forma lograr que la carga se disipe a través de este material apagando el transistor, en

cuyo caso todas las celdas de memoria quedan en 1 lógico.

Figura 4. Apariencia Fisica de una EPROM

Page 5: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

5

Memoria EEPROM

La memoria EEPROM es programable y borrable eléctricamente y su nombre proviene

de la sigla en inglés Electrical Erasable Programmable Read Only Memory.

Actualmente estas memorias se construyen con transistores de tecnología 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 básica se encuentra en la capa aislante alrededor de cada compuesta flotante,

la cual es más delgada y no es fotosensible.

Memoria FLASH

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

eléctricamente. Sin embargo, esta reúne algunas de las propiedades de las memorias

anteriormente vistas, y se caracteriza por tener alta capacidad para almacenar

información y es de fabricación sencilla, lo que permite fabricar modelos de capacidad

equivalente a las EPROM a menor costo que las EEPROM.

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 5. La compuerta aislada almacena carga eléctrica cuando se aplica

una tensión lo suficientemente alta en la puerta de control. De la misma manera que la

memoria EPROM, cuando hay carga eléctrica en la compuerta aislada, se almacena

un 0, de lo contrario se almacena un 1.

Figura 5. Celda de memoria de una FLASH

Las operaciones básicas de una memoria Flash son la programación, la lectura y

borrado.

Como ya se mencionó, la programación se efectúa con la aplicación de una tensión

(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 0’s. Para almacenar 1’s no

es necesario aplicar tensión a las compuertas debido a que el estado por defecto de las

celdas de memoria es 1.

La lectura se efectúa aplicando una tensión positiva a la compuerta de control de la

celda de memoria, en cuyo caso el estado lógico almacenado se deduce con base en el

cambio de estado del transistor:

Page 6: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

6

Si hay un 1 almacenado, la tensión aplicada será lo suficiente para encender el

transistor y hacer circular corriente del drenador hacia la fuente.

Si hay un 0 almacenado, la tensión aplicada no encenderá el transistor debido a

que la carga eléctrica 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 tensión en la compuerta de

control.

El borrado consiste en la liberación de las cargas eléctricas almacenadas en las

compuertas aisladas de los transistores. Este proceso consiste en la aplicación de una

tensión lo suficientemente negativa que desplaza las cargas como se indica en la figura

6.

Figura 6. Proceso de descarga de una celda de memoria FLASH

Funciones matemáticas y Generadores de Señales

Una aplicación de estas memorias consiste en el almacenamiento de tablas de datos que

permiten generar funciones matemáticas. Por ejemplo existen memorias que almacenan

funciones trigonométricas y hallan el resultado con base en el valor binario introducido

en el bus de direcciones. En la figura 7, se observa cómo se puede implementar un

generador de una señal seno, a partir de la información almacenada en una

memoria ROM.

Figura 7. Generador de señales con una memoria ROM

El siguiente esquemático nos muestra el diagrama funcional de un PROM que aún no ha

sido "programado", un PROM con capacidad para almacenar ocho palabras binarias,

con cuatro bits de extensión cada una (precaución: cada uno de los AND mostrados no

es un AND de una sola entrada sino un AND de tres entradas, del mismo modo que los

Page 7: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

7

OR mostrados son ORs de entradas múltiples y no de una sola entrada; la

representación simbólica utilizada aquí se hizo con el propósito de evitar una

"sobrepoblación" de líneas de conexión y así simplificar el diagrama; tampoco se

muestran aquí los diodos que implementan las funciones AND y OR en cada uno de los

puntos de cruce):

Figura 8. Arreglo sin programar

Podemos ver mejor lo que ocurre en este tipo de memoria suponiendo varios valores

para el domicilio de entrada A2A1A0. Supóngase que A2A1A0=000. Entonces el AND de

tres entradas puesto en el primer renglón y alimentado con A’2A'1 A’0=111 será

activado por la función decodificadora de los tres NOT cuyas tres salidas alimentan el

AND que conduce hacia el primer renglón. Esto pondrá un "1" lógico en la línea del

primer renglón, y como los fusibles están intactos por ser un PLA aún sin ser

programado, la salida será S3S2S1S0=1111. Ahora supóngase que A2A1A0=001.

Entonces el AND de tres entradas puesto en el segundo renglón y alimentado

con A’2A'1A0=111 será activado por la función decodificadora de los tres NOT cuyas

tres salidas alimentan el AND que conduce hacia el segundo renglón. Esto pondrá un

"1" lógico en la línea del segundo renglón, y como los fusibles están intactos por ser un

PROM aún sin ser programado, la salida será tambiénS3S2S1S0=1111.

Funcionalmente hablando y cómo podemos comprobarlo arriba, la memoria PROM

consiste en la utilización de una matriz (arreglo rectangular) fija, el equivalente de

bloques de entrada AND que siempre produce una salida de "1" en una línea distinta

para cada una de todas las combinaciones posibles de "unos" y "ceros" a la entrada

(domicilio); seguida de otra matriz capaz de seleccionar una o varias de las líneas

horizontales para combinar en suma booleana todos los términos seleccionados de cada

renglón.

La estructura operacional del PROM la podemos resumir en forma más concreta con el

siguiente diagrama funcional de bloques:

Page 8: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

8

Figura 9. Diagrama en bloques de un PROM sin programar

Dispositivos Lógicos Programables

Un Dispositivo Lógico Programable (PLD) es un componente electrónico usado para

construir circuitos digitales reconfigurables. A diferencia de una compuerta lógica que

tiene una función fija, los PLDs salen de fábrica sin una función en específico, por lo

tanto, necesitan ser programados o reconfigurados antes de poder ser usados.

Los PLDs tienen varias ventajas. La primera es la habilidad de integración, que permite

integrar una gran cantidad de funcionalidad en un solo chip. Los PLDs eliminan el uso

de múltiples chips, así como la inconveniencia y desconfianza de usar cableado externo.

La segunda ventaja es el hecho de poder cambiar el diseño. Muchos PLDs permiten ser

reprogramados o reconfigurados.

Figura 10. Clasificación de los distintos tipos de dispositivos lógicos programables

Las ROMs son consideradas como lógica programable porque, aunque fueron

concebidas como unidades de memoria, también sirven para implementar cualquier

circuitería combinacional. Los MPGAs son arreglos de compuertas tradicionales

que requieren una máscara para ser diseñados. Los MPGAs son también llamados

simplemente gate arrays y han sido la tecnología popular para crear ASICs

(Application Specific Integrated Circuits).

PALs y PLAs contienen arreglos de compuertas. En el PLA se tiene un arreglo de

compuertas AND programable y un arreglo de compuertas OR programable,

permitiendo a los usuarios implementar funciones combinacionales en dos niveles de

compuertas. El PAL es un caso especial del PLA, ya que el arreglo de ORs es fijo y el

Page 9: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

9

único arreglo programable es el de compuertas AND. Muchas PALs también contienen

flip flops.

Figura 11. Esquema completo de una PLA

Figura 12. esquema simplificado de la PLA

Page 10: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

10

Figura 13. Esquema de una PAL con arreglo OR fijo y AND programable

Arreglos lógicos genéricos GAL

Los arreglos lógicos genéricos (GALs por sus siglas en inglés) tienen las mismas

propiedades que los PALs pero pueden ser borrados y reprogramados

Utilizan fusibles reprogramables implementados con tecnología EECMOS (electrically

erasable complementary metal-oxide-semiconductor).

Las macroceldas (OLMC) incluidas permiten interactuar externamente con las

funciones programadas, así como la realimentación del circuito.

Figura 14. Esquema de una GAL con macroceldas (OLMC)

Dispositivos lógicos programables complejos CPLD

Los dispositivos lógicos programables complejos (CPLDs por sus siglas en inglés)

contienen varios bloques lógicos que se pueden conectar mediante fusibles

programables. También incluyen macroceldas a las salidas del plano OR con buffers

triestado que permiten que cada patilla se configure como entrada o salida.

Desperdician macroceldas cuando la patilla es usada como entrada

Son programados con métodos ISP (del inglés In-system programming)

Page 11: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

11

Figura 15. Izquierda: esquema de bloques PAL de una CPLD. Derecha un bloque PAL

de la CPLD

Arreglos programables en campo FPGA

Los arreglos de compuertas programables in-situ (FPGAs por sus siglas en inglés)

tienen una densidad mayor que los CPLDs (>> 10, 000 compuertas).

No contienen compuertas, sino bloques lógicos que son interconectados mediante

fusibles reconfigurables. Manejan, en su mayoría, LUTs (del inglés Look-Up Tables o

tablas de búsqueda) como bloque lógico, los cuales vienen en varios tamaños y son

capaces de implementar funciones lógicas.

El uso de LUTs permite niveles de abstracción no aplicables en otros arreglos lógicos.

Page 12: New Fundamentos de lógica digital sesión 11 implementación de … · 2020. 6. 5. · Fundamentos de lógica digital sesión 11 implementación de funciones lógicas utilizando

12

PROBLEMA: La ROM (Memoria de Lectura Unicamente). Analizar el siguiente

circuito construyendo una Tabla de Verdad para el mismo.

El primer paso para analizar este tipo de circuito es introducir todas las combinaciones

posibles de “unos” y “ceros” en las terminales de entrada A, B y C. Por ejemplo, con la

combinación AB=00, únicamente se activa la línea L1. De la misma manera, con cada

una de las combinaciones restantes se activa únicamente una de las líneas L2, L3 y L4.

No nos debe llevar mucho tiempo el reconocer que lo que tenemos dentro del recuadro

de línea roja es nada menos que un decodificador. Las salidas H1, H2, H3 y H4 se

pueden obtener de inmediato de los ORs sabiendo que únicamente una de las líneas L

puede estar activada en un momento dado. Tomando esto en consideración, la Tabla de

Verdad obtenida será como la que se muestra a continuación:

Podemos ver que cada combinación de “unos” y “ceros” a la entrada siempre producirá

la misma combinación de “unos” y “ceros” que le corresponda a la salida a dicha

entrada, determinado por las conexiones internas en el circuito. Esto, en cierta forma, es

equivalente a una “memoria”, la cual está contenida dentro del recuadro de línea verde.

Sin embargo, este tipo de memoria es diferente a las demás en el sentido de que

únicamente se pueden leer palabras binarias de la misma. No se pueden grabar palabras

nuevas en este tipo de memoria sin cambiar el alambrado interno del circuito. Es por

esto que esta memoria es conocida comúnmente como Memoria de Lectura

Unicamente (Read Only Memory ó ROM), ya que únicamente se pueden leer palabras

de esta memoria, no se pueden grabar palabras en la misma. Si se pudieran cambiar las

conexiones del recuadro verde, las salidas igualmente cambiarían.

El ROM ofrece una configuración almacenada de “unos” y “ceros” que puede ser

utilizada de la misma manera que un programa almacenado en la memoria de una

computadora digital. La secuencia de eventos lógicos puestos en movimiento por esta

configuración almacenada de datos recibe el nombre de microprograma. Asimismo,

cada evento lógico especificado en los domicilios de una microprograma recibe el

nombre de microinstrucción.


Recommended