Práctica 6: ROM

Introducción:

Una unidad de memoria es un dispositivo al que se transfiere información binaria que desea almacenarse, y del que se puede obtener información que es necesario procesar. Cuando se efectúa procesamiento de datos, la información de la memoria se transfiere a registros selectos de la unidad de procesamiento. Los resultados intermedios y finales obtenidos en la unidad de procesamiento se transfieren de vuelta a la memoria para guardarse. La información binaria recibida de un dispositivo de entrada se almacena en la memoria, y la información  transferida a un dispositivo de salida se toma de la memoria. Una unidad de memoria es una colección de celdas que permite almacenar una gran cantidad de información binaria.

Hay dos tipos de memorias que se usan en los sistemas digitales: memoria de acceso aleatorio (RAM, random-access memory) y memoria de sólo lectura (ROM, read-only memory).

Memoria de sólo lectura

La memoria de sólo lectura es un dispositivo lógico programable. La información binaria que se almacena en un dispositivo lógico programable se especifica de alguna manera y luego se incorpora al hardware. Una memoria de sólo lectura (ROM) es, en esencia, un dispositivo de memoria en el que se almacena información binaria permanente. El diseñador debe especificar la información, que entonces se incorpora a la unidad para formar el patrón de interconexión requerido. Una vez establecido el patrón, permanece en la unidad aunque se apague y se vuelva a encender. En la figura se reproduce un diagrama de bloques de una ROM.



Tiene k entradas y n salidas.  Las entradas proporcionan la dirección de memoria y las salidas suministran los bits de datos de la palabra almacenada seleccionada por la dirección.

Decodificador teclado matricial 4x4
El uso de teclados es muy común en aplicaciones donde es necesaria la escritura o la selección de información. A continuación se muestra el esquema del decodificador de teclado matricial de 4x4 teclas por hardware, aprovechando las bondades de los bloques digitales del PSoC®. La solución se plantea en el decodificador comercial 74C922 fabricado por Fairchild Semiconductor y por National Semiconductor, que puede codificar un teclado matricial de hasta 4x4.



Procedimiento

Diseño

Se requiere hacer una ROM de 16x10. La unidad consiste en 16 palabras de 10 bits cada una. Hay cuatro líneas de entrada que forman los números binarios del 0 al 15 para la dirección. Las cuatro entradas se decodifican a 16 salidas distintas con un decodificador de 4x16. Las 16 salidas se conectan a cada una de las  compuertas OR  que sean necesarias para la implementación. Para el diseño se realizó la siguiente tabla, donde de S0 a S9 son los datos y de E0 a E3  es la dirección.


E0
E1
E2
E3

S0
S1
S2
S3
S4
S5
S6
S7
S8
S9
0
0
0
0
1021
1
1
1
1
1
1
1
1
0
1
0
0
0
1
1014
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1013
1
1
1
1
1
1
0
1
0
1
0
0
1
1
1009
1
1
1
1
1
1
0
0
0
1
0
1
0
0
997
1
1
1
1
1
0
0
1
0
1
0
1
0
1
991
1
1
1
1
0
1
1
1
1
1
0
1
1
0
983
1
1
1
1
0
1
0
1
1
1
0
1
1
1
977
1
1
1
1
0
1
0
0
0
1
1
0
0
0
971
1
1
1
1
0
0
1
0
1
1
1
0
0
1
967
1
1
1
1
0
0
0
1
1
1
1
0
1
0
433
0
1
1
0
1
1
0
0
0
1
1
0
1
1
307
0
1
0
0
1
1
0
0
1
1
1
1
0
0
199
0
0
1
1
0
0
0
1
1
1
1
1
0
1
563
1
0
0
0
1
1
0
0
1
1
1
1
1
0
23
0
0
0
0
0
1
0
1
1
1
1
1
1
1
809
1
1
0
0
1
0
1
0
0
1

Utilizando la tabla se tiene el siguiente esquemático:



Para el decodificador de teclado se utiliza el mencionado anteriormente con una pequeña variación que es un conversor, debido a que en el teclado el orden varía. El conversor permite que los números del  10 al 15 se representen por medio de las teclas:
A = 10
B = 11
C = 12
D = 13
*(Asterisco)  = 14
# (Numeral) = 15

El conversor re realiza con LUT y se tiene que:



Finalmente el decodificador de teclado matricial es:



Esquemático

En el esquemático se observa el decodificador de teclado matricial, la ROM, y el decodificador binario a BCD además la visualización dinámica, los cuales fueron explicados en la anterior entrada.


Funcionamiento

Conclusiones:

  • La memoria ROM al ser una unidad que almacena información binaria de manera permanente es necesario para realizar una modificación cambiar todo el esquema.


  • El almacenamiento interno de la ROM se especifica con una tabla de verdad, en esa tabla se especificaron las 4 entradas con las que se da las lista de 16 direcciones. En cada dirección se almacena un número de 10 bits, que se dan en las columnas de salidas.

Comentarios

Entradas más populares de este blog

Práctica 5: Sumador- Restador

Práctica 8: Flip flop integrados

Práctica 7: Sumador- Restador con comparador