[Milkymist-devel] DDR SDRAM layout considerations

Sébastien Bourdeauducq sebastien.bourdeauducq at lekernel.net
Thu Feb 18 06:05:55 PST 2010


Hello,

On Thursday 18 February 2010 14:18:21 Uwe Bonnes wrote:
> With two SDRAM in TSOP66 package with
>  22.2 mm body length, SDRAM trace length will reach 3 inches from FPGA to
>  PAD

well, depending on how the SDRAMs are placed and how the FPGA pins are 
allocated.

>  Pin on RAM 1 and DQ7 on RAM2 are spaced about 30 mm apart, and without
>  trace length equalization this will cause about 150ps.

As I said in a previous email, I think you can forget about trace length 
equalization and rely on Spartan6's IODELAY blocks to do their job without the 
signal integrity issues. I have not tested yet, and this sure will be a funny 
thing to do once the Milkymist One prototypes come out of the fab.
 
> How will Milkymist1 tackle that issue?
> - Can SDRAM access speed be sacrificed for relaxed timing margins
>  requirements?

Yes, if you disable the DLL (which is out of the manufacturer's specs) you 
might be able to run the SDRAM at near-DC frequencies as long as you meet its 
refresh requirements. 

>  - Milkymist1 will not use VTT termination?

No, VTT termination is a mess, and I'll try to avoid it as much as possible. 
Most designs do not use it. For example, the OLPC XO has 4 chips of TSOP66 
DDRAM running at 166MHz clock 
(http://wiki.laptop.org/go/Hardware_specification), and, as far as I can tell 
by examining the PCB, it does not have VTT termination.

> - Milkymist will not try to be compatible with the Spartan 6 Memory
> controller?

No. This controller:
- seems to have higher latency than Milkymist's HPDMC, resulting in lower 
overall performance even though its bandwidth might be higher than that of the 
current version of HPDMC (memory latency has a lot of impact when you have a 
cache miss in the CPU or TMU for example)
- would have its latency further increased by the glue logic necessary to 
interface its FIFO-based interface to Milkymist's FML (unless a major part of 
the SoC architecture is re-designed around the MCB)
- stifles portability of Milkymist to ASICs and non-Xilinx FPGAs. Milkymist is 
not only about technical aspects, it's also about freedom.

> - Will Milkymist1 use the DDR Ram in FBGA package?

No, TSOP66.

> - Any ideas for sensible DDR SDRAM routing?

Well, not really, except read Micron documentations and technical notes which 
are very helpful.
DDR designs seem to be a pain for everyone, even though Micron ironically says 
they "make it easy" (that being said, Micron has the best documentation and 
design support resources I've seen from a DRAM manufacturer)

> - Does the HPDMC32 core place any special pin requirements on the pin
>  usage?

No. HPDMC uses IDDR and ODDR primitives which are clocked from a low-skew 
global I/O network, removing most pin allocation requirements.

>  - SDRAM_CK and SDRAM_CK_N are placed on GCLK pins in the milkymist
>  One draft, for any reason?

Yes, to allow those pins to be easily driven from the clk0 and clk180 outputs 
of a DCM and routed through global networks. If it was not done this way, you 
would have to:
* route these signals manually inside the FPGA. Otherwise, the automatic PAR 
will probably change those routes every time the design is changed, resulting 
in SDRAM timing foul-up whenever you modify a line of RTL code.
* take into account the on-chip FPGA routing delays when calibrating the 
IODELAYs.
While it is certainly possible to do so, overall I think it's simpler to route 
these pins on GCLKs on the PCB.

Regards,
Sébastien


More information about the Devel mailing list