Current status

A project log for Coven: mini-ITX cluster computer

Open source mini-ITX cluster computer

kmodkmod 07/31/2014 at 07:030 Comments

Progress is being made, albeit slowly.  I was originally hoping to submit Coven for the hackaday prize, but unless things start moving more smoothly that probably won't happen (though it's still possible!).  The main thing I have right now is a half-working A13 cpu card, which successfully initializes into U-Boot, but crashes when trying to initialize the DRAM.  I'm running the DRAM at 120MHz, the slowest that the CPU supports (and significantly under the DDR3 spec but supposedly should be ok), so I was hoping there wouldn't be too many issues, but the DRAM controller is failing to learn the optimal timings during its training sequence.  I guess that makes sense -- it probably looks for a maximum skew that I am exceeding.  I tried skipping the training section, but the CPU doesn't like that and hangs the first time DRAM is accessed.

So my current theory is that things aren't working due to insufficient DRAM trace length matching.  I'm not 100% sure of this, though, since I'm apparently using an unsupported DRAM part (it's hard to buy Hynix memory ICs...) which could be the culprit.  Or it could be that the BGA DRAM isn't securely soldered.  It's hard to tell!  The processor simply reports back a training failure and doesn't give any more details.  I tried to figure out what it's doing for training and what it might have encountered, but that reverse engineering is quite difficult, requiring the examination of many 120MHz signals.

So the next thing I'm going to try is to buy an existing A13 board, and replace the DRAM IC on it with one of the ones I'm trying to use.  The success or failure of that test will help bisect the problem: if I can't get it to work, there's a problem with (at least) the IC and or the soldering process, and if I do get it to work, it's definitely a problem with my board layout.

In parallel I'm going to send out a new spin of the boards with better trace length matching.  I think for this rev I'll leave out everything I can, such as the voltage regulators (will just pull from the other board), the card edge connector, the ethernet IC, etc.  The DRAM is important to get working :/