# Memoria RAM de 4x4



## ttx77 (Jun 3, 2012)

Saludos, necesito diseñar una una memoria de acceso aleatorio RAM de 4x4, bajo las siguientes condiciones: 

-  Sea direccionable por palabra o por fila. 
-  Utilizar direccionadores en fila, en base a FF-RS. 
-  Posibilidad de leer y de escribir  mediante pulsos de habilitación adecuados, 
utilizando las compuertas lógicas que sean necesarias. 

Debo simular el circuito con el programaElectronic Workbench 5.12.

La verdad, no me manejo demasiado con el concepto de los Flip Flops, en especial el FF-D que sería para hacer una memoria, si alguien pudiese orientarme/ayudarme lo agradecería.


----------



## MrCarlos (Jun 3, 2012)

Hola ttx77

No entiendo claramente los que mencionas:
_- Sea direccionable por palabra o por fila._
Cómo es eso de direccionable por palabra o por fila ??.

Probablemente te sirva el circuito contenido en la imagen adjunta.
Fue desarrollado con el simulador CircuitMaker. No tengo el Electronic WorkBench.

saludos
a sus ordenes


----------



## ttx77 (Jun 3, 2012)

MrCarlos dijo:


> Hola ttx77
> 
> No entiendo claramente los que mencionas:
> _- Sea direccionable por palabra o por fila._
> ...



Que sea direccionable por palabra o por fila se refiere a que la celda de memoria (RAM) recibe 3 datos (direccion, dato y escritura). Cuando se hace la malla de celdas (tienen que ser 16 celdas de memoria), las filas serán las direcciones y las columnas los datos. La escritura es única, así como la señal habilitadora.

Sobre el circuito que me adjuntaste (Bórrame W.jpg) no lo logre entender....

supuestamente debe ser una RAM de 4x4 con 16 celdas de memoria implementadas en base a un Flip Flop - RS (que es un FF-D con modificaciones), espero tu respuesta.

Saludos!


----------



## MrCarlos (Jun 3, 2012)

Hola ttx77

Supongo que no entendiste el circuito que te adjunte porque no conoces el funcionamiento de los IC’s que intervienen en él.

En ese circuito se está presentando solo los Flip-Flop’s que corresponden a la dirección 0. esto es a lo que Tú llamas celda.
Así que falta la circuiteria para las direcciones de la 1 a la 3 con lo que se haría de 4x4.
Claro, esos Flip-Flop’s son tipo D pero seguramente Tú podrías reemplazarlos por Flip-Flip’s tipo R-S como lo estás requiriendo.

Con el *Digi-Switch HEX Datos* Programamos una combinación de 4 BIT’s que serán los que se graben en alguna de las 4 direcciones que tenemos.

Con el *Digi-Switch HEX Dirección* Programamos la dirección donde queremos guardar aquellos datos.

Con el conmutador *Escribir=0/Leer=1* Le decimos, según su estado que queremos si escribir o leer.

Con el conmutador *Clock Sw* aplicamos un pulso(Clock) a los Flip-Flop’s para que los que estén direccionados almacenen en sus Q’s los datos que les están llegando por sus D’s.

Este circuito no tiene CS(Chip Enable) 

Como solo tiene la circuiteria para la dirección 0 solo puedes grabar o leer datos de esa dirección.
Puede agregar modificando los demás grupos de 4 Flip-Flip’s Tipo R-s.
Estos se agregan hacia abajo entre las líneas gruesas que son los llamados BUS.

Una vez entendido esto trata de ver que hacen los 74LS125 en ese circuito.

saludos
a sus ordenes


----------



## Charlos06 (Nov 3, 2013)

MrCarlos dijo:


> Hola ttx77
> 
> No entiendo claramente los que mencionas:
> _- Sea direccionable por palabra o por fila._
> ...




Este circuito se podria adaptar para hacer uno de 64 bits?


----------



## MrCarlos (Nov 3, 2013)

Hola Charlos06

Pudiera ser.
Pero qué quieres decir con 64 BIT’s ??

64 localidades (Direcciones) de memoria ??
De cuantos BIT’s serían esas localidades ??

Podrías dar más detalles ??

saludos
a sus ordenes


----------



## Charlos06 (Nov 5, 2013)

MrCarlos dijo:


> Hola Charlos06
> 
> Pudiera ser.
> Pero qué quieres decir con 64 BIT’s ??
> ...




Gracias por su ayuda, pero ya la hize, si eran 8 localidades donde podia guardar 8 bits en cada una, y al final decidir leer lo que tenia guardado en tal localidad.


----------



## mariobros (Oct 3, 2014)

Que tal, acabo de diseñar una RAM 4x4, adjunto el circuito y el documento que me sirvió para aprender a diseñarla. Funciona bien, pero ahora necesito que no me deje guardar un nuevo dato si la memoria seleccionada ya tiene un dato guardado, es decir no debe poder sobreescribir datos, debo primero poner a cero el dato en la memoria seleccionada para poder guardar uno nuevo. También quisiera consejos para hacer el circuito más compacto, por ejemplo algún integrado con flip flops que ya tenga salidas triestado incorporada o un integrado que traiga mayor cantidad de flip-flip tipo D.Aprovechando este tema, tengo otro proyecto donde debo controlar el giro de un barco con un motor y un microcontrolador, el problema es que nunca he trabajado con motores, así que quisiera que me recomendaran si seria mejor un servo-motor o un stepper para este caso. Agradeciendo cualquier ayuda, muchas gracias.


----------



## Sr. Domo (Oct 4, 2014)

Hola!

Una puerta NOR que te de un cero lógico cuando tenga un dato distinto a cero (0000), esta señal la puedes usar para bloquear las señales de escritura de la posición a leer/escribir.

Viendo el PDF:

La misma idea, pero ahora una puerta AND de dos entradas donde una entrada va a la salida de la puerta NOR y la otra pasará a ser la línea "WR", estando en estado bajo esta entrada de los flip flop, te impedirá escribir un dato y pasará a ser de "solo lectura" cuando haya un dato.

Un IC que te recomiendo porque lo he usado es el 74LS373 que es un latch de un byte con salida triestado, leer datasheet para más info 

Mientras te cuesta 13 pesitos (MXN) un 74LS373, otro flip flop como el CD4013, te cuesta 9 pesitos, pero con el primero tienes el doble de capacidad y otras prestaciones.

Tu tema del giro de un barco y eso, ponlo en un hilo nuevo o busca en el foro si ya hay un hilo de ese tipo y pon tu pregunta ahí  

Salu2!

Que pasó???? Según respondí cuando no había respuestas y hay varias antes que las mías.


----------



## mariobros (Oct 6, 2014)

Muchas gracias, intentare como dices, y si unieron el tema con otro que tambien es de memorias, por eso ahora hay más respuestas. Cuando el diseño listo lo posteo para compartirlo.


----------

