Hi All,
We built a DM8168 prototype board with 8 pcs of Elpida EDJ2108DEBG-GN-F (x8 DDR3-1600).
During the bringing up, the software colleague found that the DDR3 test failed at 796.5 MHz. The read / write test fails for the lowest byte for both DDR0 and DDR1 EMIF. Though we may conclude whether it is a wrong in read or write process, the lowest byte corresponds to the farthest memory chip in both chains.
When he lower down the setting to 756 MHz, the DDR3 test passed. In uboot, we make it boot successfully at 675MHz, and there is no intermediate setting from the default source code.
We then check the PCB detail for placement and routing.
X1 = 740mil, X2 = 600mil and Y offset = 1365 mil and they are within Table 8-19 placement specifications.
The layout vendor has done length matching following the reference design and DM8168 DDR3 Routing Specifications.
From DM8168 to 1st memory chip, the length deviation is +/- 12.5mil.
Within adjacent memory chips, the length deviation is +/- 12.5mil.
Therefore, my questions:
(1) Is there any software or driver level optimization that can compensate such that it can work at 796.5MHz?
We start from the evaluation board software and EZSDK package, and not much modification as we just start bringing up for 2 weeks.
(2) If this is a PCB level matter, is there any advice or note that the layout can fix it?
Thank you very much for your advice.
Regards,
Alex