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).