# Memoria RAM 1K 8bits



## albertosung (Mar 14, 2010)

Hola!  siempre con mis preguntas de diseño logico digital.  En esta ocasión estoy interesado en utilizar un circuito de memoria de 1Kb que trae el circuit maker. Adjunto subo la imagen. He buscado documentacion y solo me aparecio una en portuguez y otra que no entendi que usaba buffers conectado al componente.

Supongo  que de A0 a A9 es para la direccion (2**10), IO0-IO7 es el byte almacenado de salida/entrada, WE escritura/lectura, y CS  , busque la definicion de Chip select y no entendi. 

Gracias por colaborar con esta consulta..


----------



## Chico3001 (Mar 14, 2010)

Efectivamente A0-9 es para la direccion, I0-7 son los datos, WE es la lectura, escritura y CS es para habilitar o deshabilitar la memoria....


----------



## albertosung (Mar 14, 2010)

Y sera que se puede utilizar este componente en serie para simular una memoria cuyos datos son de 32 bits?

Gracias por tu respuesta.


----------



## Chico3001 (Mar 14, 2010)

Claro... solo une entre si las lineas de direcciones y control, y coloca las lineas de datos por separado para formar un bus que vaya desde I0 hasta I31


----------



## albertosung (Mar 18, 2010)

Hola, estoy intendando probar la memoria en circuit maker, pero no me funciona.
Que estoy haciendo mal????

En el grafico:

Estoy intentando guardar 0x14 en la direccion 0x17, activo 1 en lee/escribe, deberia escribirla. Activo 0 para leer y  aparentemente no hay salida en IO0-IO7 

Gracias por su colaboracion..


----------



## antiworldx (Mar 18, 2010)

Mi chavooooo! tienes un errorsote de esos que acaban con compuertas y memorias quemadas!

Cuando le dices a la memoria que haga la lectura del dato guardado... se contrapone con las corrientes de las salidas de las and!

Me explico? si la memoria tiene un 0 en la salida y la compuerta and tiene un 1 en la salida... tienes un corto!

necesitas, un buffer con disable, como un 74ls244, para que cuando hagas la lectura de la memoria, desabilite las salidas de las and, y la memoria "tome el control" de las señales en el bus.

Si el circuito fuera real, te desearia suerte que todavia no estuvieran quemadas esas compuertas y la memoria.


----------



## albertosung (Mar 18, 2010)

Gracias por la aclaración AWX... en realidad los de ingenieria en sistemas manejamos poco la electronica, estamos mas orientados al desarrollo de software.. y vemos estos temas de forma teorica, por eso estoy usando el simulador..  si no ya hubiera gastado mis ahorros en compuertas jaja

Tengo una duda ..el 74ls244 tiene :  Y1..Y4 son las salidas?  Ia1..Ia4 entradas? y OE?
bueno yo conecte a Ia las salidas de los AND, Y a IO de la memoria .. va a asi la cosa??

Saludos y gracias nuevamente.


----------



## antiworldx (Mar 18, 2010)

bueno... no se como sea tu datasheet... pero si viene el diagrama interno, veras unos triangulitos... la punta del triangulito es la salida, y la parte plana es la entrada... si te fijan van alternados, entrada, salida, entrada, salida... 

Tiene dos ouput enable, puentealas, ademas es una entrada invertida, es decir, la salida se habilita cuando esta en cero la entrada...
¿confuso?

el truco esta, que cuando quieras escribir en la memoria, WE = 1, en el 244 CE debe estar en 0
y cuando quieras leer, lo contrario, WE = 0, CE = 1.


----------



## albertosung (Mar 18, 2010)

Ya arregle el error. y funciona para 8 bits, pero realmente no funciona como si estuviera en serie porque cuando, tenemos cuatro componentes de 1k. Funciona todo bien cuando usamos uno, pero al usar varios ya no. Sobreescribe los valores!!  por favor danos ayuda con esto.

Disculpa, olvide adjuntar el archivo

Bueno la memoria de 8bits ya me lee y escribe ...
Bueno ahora estoy intentando usar en serie la memoria de 8bits para crear una memoria de 32bits (address de 32b, Data de 32b) aqui les envio como llevo el circuito,  
que tengo malo??

saludos.

aqui esta el grafico ...


----------



## antiworldx (Mar 18, 2010)

Por su puesto te va a fallar, cuando direccionas una localidad con datos de 32 bits (no que la direccion sea de 32 bits) todos los bits deben de dar a la misma direccion, no es asi?
La forma como escribes y lees los datos es correcto, lo que debe poner todo en paralelo son las direcciones de todos los chips, para que leas la misma localidad en todos, no es asi?

Y el ancho del bus de direcciones, te lo da la cantidad de ram que tienes. (1k) entonces, usaras 10 bits.


----------



## albertosung (Mar 18, 2010)

Gracias AMX, no sabes cuando agradezco la ayuda de un experto.  Ya tengo la memoria funcional, la subire dentro de unos segundos para futuras referencias...


----------



## antiworldx (Mar 18, 2010)

Gracias igualmente por hacer el seguimiento de tu problema, muchos podran solucionarlo igualmente. Todos ganamos.


----------



## MrCarlos (Mar 23, 2010)

Hola Albertosung

Ya han pasado muchos segundos.

Te adjunto unos circuitos en CircuitMaker y unas imágenes, ojalá te sirvan.

saludos
a sus ordenes


----------



## albertosung (Mar 24, 2010)

Bueno si me tarde un poco  

Lo bueno es que me funciono sin agregarle Hex displays ni Hexs Keys

En el .zip el primero no me funciona  que en teoria es igual al segundo, el cual si funciona, solo que el I/O se muestra con leds logicos y la entrada con logics switch. 

En el segundo grafico exportado no salieron algunos componentes, problema de Circuit maker...


----------

