[sci.electronics] DRAM interfacing problems

skillman@tz.wimsey.bc.ca (Steve Hillman) (04/28/91)

Newsgroups: sci.electronics
Subject: DRAM Interfacing problems.
Summary: 
Expires: 
Sender: 
Followup-To: 
Distribution: na
Organization: Simon Fraser University, Burnaby, B.C., Canada
Keywords: Timing, random glitches

After exhausting every available option, I've finally decided to enlist the
help of the net:
 
I have designed a DRAM memory circuit that is shared by two masters. One is a
68000 CPU (located off board) and the other is a custom synthesizer "address
engine" which basicly generates sequentual addresses to pull samples out of
the memory (it is located on board). The problem is noise. The DRAM's output
glitches occasionally (every few dozen microseconds!) to another value, and
further, it only glitches when the 68000 is running. Halt the CPU, and every-
thing is happy. Obviously this is not a desirable condition. There is no
obvious noise creeping into the system. The power lines have about 1/8 volt
of noise, and all input signals are clean and steady, regardless of the state
of the CPU. I have an NEC Memory data book that I've used to derive timing 
specs, and have left generous room around each signal (at least 10 ns).
 
I'm not using NEC memory though - I'm using NMBS memory. It has always been my
understanding that popular memory (these are 256k x 4 x 80ns) are all made
very similar so as to be easy to switch brands.
 
Has anyone had experience to the contrary? Have you built circuits that won't
work with one brand yet suddenly work with another?
 
Does anyone have the specs for NMBS memory? Has anyone had similar problems
to these?
 
One last note: The RAM only seems to glitch when there is something to glitch
to - i.e. if all of memory is filled with one value, it doesn't glitch.
 
Thanks for any help you can give. This problem has been driving me nuts for
4 months.


------------------
Skillman@tz.wimsey.bc.ca        Sysop of The Twilight Zone, Vancouver B.C.
hillman@whistler.sfu.ca
usersman@cc.sfu.ca

mmm@cup.portal.com (Mark Robert Thorson) (04/29/91)

What sort of termination did you use?  It sounds like you're "flashing"
on other addresses.  If you didn't use any termination, try putting 100
ohm resistors in series with the mu'xed address, RAS, and CAS, with the
series resistors located close to the drivers.  Also avoid long lines,
and avoid stubs (i.e. the lines should not have branches, or the branches
should be as short as possible).