Relatively Simple SRAM question

Thread Starter

sungchoiok

Joined Apr 23, 2011
15
I am trying to simply read and write to a HM6116 SRAM memory. This is the arrangement I have made on a breadboard... the idea is that I can control the /WE and /OE lines to read and write on address "1" while controlling the databus I/O 1 ~ I/O 3.

Well, the first problem is that it doesn't work--the memory does not seem to save the value. Secondly, the memory becomes very hot, and after about 30 seconds of operation, becomes cold again--no matter what arrangement of the /WE and /OE, and the datalines I make. (after it becomes cold, it doesn't become hot again)

I hope you are not laughing your head off at me :) but I am a complete neuighbh!!


any insights will be greatly appreciated. An insight as to how to make it work will be appreciated even more.





(P.S. there are resistors on the LEDs. I just didn't draw them on the "diagram")

 

SgtWookie

Joined Jul 17, 2007
22,230
You have a lot of inputs that are "floating" - not connected to anything. All INPUTS must have a path to either Vdd (5v) or Vss (GND). You have /OE and /WE connected to 5v via switches, but when the switches are open, the inputs are floating. You need to have a resistor to ground to pull the inputs low.

Same with the I/O pins - when /WE is low, you must have a logic high or a logic low on each input - but when /WE is high, you must not have any I/O pin connected directly to 5v or GND.

You do not have a connection to /CS. /CS must be pulled low to enable the IC.

Have a look at this datasheet:
ftp://server.goodall.com/hardware/ic-docs/HM6116-70(0611W652).pdf
See the truth table on page 3.
You COULD wire /CS and /OE to ground; then simply use /WE to control whether the value was being written to storage or read from it.
 

Thread Starter

sungchoiok

Joined Apr 23, 2011
15
"...but when the switches are open, the inputs are floating. You need to have a resistor to ground to pull the inputs low."
Did you mean like this?

(I drew a relay since this SRAM is part of the relay computer I'm building. Would the recoil from relay-switching damage the SRAM?)



Also, what strength of resistor should I use if my assumption was correct?




Thank you. Please be patient with me.
 
Last edited:

SgtWookie

Joined Jul 17, 2007
22,230
Actually, I meant to simply add resistors to ground on the IC side of the switches.
10k Ohms should work fine.

You will need reverse-EMF protection diodes across the coils of each relay, cathode towards positive, anode towards negative. Without the diodes, you will "zap" any IC's connected.
 

Thread Starter

sungchoiok

Joined Apr 23, 2011
15
Ah.. I knew something was wrong when I thought you told me to put a resistor on a ground path.





I hope I got it right this time; I don't want to keep bothering you.
 

SgtWookie

Joined Jul 17, 2007
22,230
I'm not at all certain why you want to use relays.

Relays are very slow, require a lot of power, the contacts "bounce" when opening or closing, and make a good bit of noise.

Unless you're trying to re-create a WWII-era computer, of course.
 

Thread Starter

sungchoiok

Joined Apr 23, 2011
15
precisely the reason why.



I'm a computer programmer (c++)--always wanted to know how precisely the things that I programmed worked inside.

With the relay computer, I can. It's going to make a great deal of noise and there are going to be lights flashing everywhere. (and cost $500...)


Also, I had a relatively easy time designing relay circuits and soldering them --they are very simple in operation, can withstand almost any temperature and shock that I give them, and I know when a relay is broken & I don't have to worry about things like "floating" voltage...




Anyways, thank you for the help you have given me.







 
Top