Simple RAM tester

Thread Starter

Johndon2000

Joined Jun 12, 2013
31
Is there a simple way to test DRAMs/ SRAM devices?

I would like to be able to take a device off a board, place it in a tester then be able to see if it is faulty or not.

Is there a cheap device you can buy, or is there a simple design for this?

I'm working in CY7C199 32K x 8-bit SRAMs at the moment and need a way of testing them, and would also like to be able to test other devices in the future.

Thanks!
 

crutschow

Joined Mar 14, 2008
34,280
If you need to test that every bit works, then you would need to put a pattern into all the memory locations that tries all combination of one's and zero's for each word. That involves 256 different word patterns (0 through 255) for 32k locations. For each word you need to compare the input word with the output word from memory to determine that no error has occurred in the read/write.

Certainly it could be done with a microprocessor controlling the memory and putting in all the 8.192E6 word patterns and comparing the input with the output.

Edit: For a complete test you would need to do that at the maximum memory speed and at both limits of its supply voltage.
 

absf

Joined Dec 29, 2010
1,968
I would test the SRAM by making a 89S52 SBC with the RAM configured as external memory. Then I would write the test program using an ISP programmer and test the memories using the MOVX commands.

You can do a preliminary test by writing the patterns "0xAA" and "0x55" onto each address and then read back and compare with the pattern written. After you pass the test you can do the test as suggested by crutschow.

Next you have to do some speed test to see if the RAM is fast enough. The 89S52 is available in 24MHz version and I think this should be fast enough to test the RAM's speed. What's the speed of your CY&C199 RAM? It's the -xx number after the part number.



Allen
 
Last edited:

THE_RB

Joined Feb 11, 2008
5,438
If you need to test that every bit works, then you would need to put a pattern into all the memory locations that tries all combination of one's and zero's for each word. That involves 256 different word patterns (0 through 255) for 32k locations.
...
Would you really have to write all 256 combinations to test a byte?

There are just 8 storage bit (flip flops) which are most likely loaded in parallel, so in the past when getting microcontrollers to do self memory tests etc I just write 11111111 and test read it, then write 00000000 and test read it.

If there's a dead bit (flip flop) I would expect it to be stuck in one state.
 

GopherT

Joined Nov 23, 2012
8,009
RB,

I agree hat all would not need to be written.

All,
OP was looking for a simple or commercially available RAM tester.
 

kubeek

Joined Sep 20, 2005
5,794
If you are goint to desolder the memory anyway, woudln´t it be much easier to put in a new one straight away and save the time needed for testing the old chip?
 

crutschow

Joined Mar 14, 2008
34,280
Would you really have to write all 256 combinations to test a byte?

There are just 8 storage bit (flip flops) which are most likely loaded in parallel, so in the past when getting microcontrollers to do self memory tests etc I just write 11111111 and test read it, then write 00000000 and test read it.

If there's a dead bit (flip flop) I would expect it to be stuck in one state.
That probably is true most of the time. But there can be pattern sensitive errors, such as two bits acting as if they are shorted together, that a simple all one's or all zero's wouldn't detect. Since it takes little time to test all combinations, that is the preferred way to test for bit errors.
 

THE_RB

Joined Feb 11, 2008
5,438
Thanks Crutschow, and by the same logic it might be good to test 0-255 and then test again downwards 255-0, in case it some edge-contention issue fault etc.

Actually, in that case there probably should be other tests? Like 0-255 but the numbers bit shifted 1 bit across, and done 8 times? That would t4est all bit contentions equally (as a plain 0-255 count does a lot of testing the LSBs together, but the MSBs change only a couple of times?).

I'm curious if anyone has ideas on really good testing procedures for 8bit static ram. Please speak up!
 

GopherT

Joined Nov 23, 2012
8,009
There is a pseudo-random number generator routine that can pump 'arbitrary' patterns into the chip. If I wanted to test, I would likely start with the all 1s then all 0s (repeat) then followed by a few cycles of the random stream.

Do it with all other registered all clear and again all set.
 
Top