Need help with DDR3 Routing. (Warning: Complete noob)

I am currently trying to make a custom board with Allwinner H3 chip with 16 Bit DDR3-800 (400Mhz). (

I am using exactly same setting as NanoPi-Duo2 as it regards to DDR setting. I already prepared exactly same DDR3 chip.

I did try to understand DDR3 in depth but I am kind of short on details due to other stuffs to do. There is no official guideline for hardware design or controller specs, and I am kind of relying on anecdetal advices from others that they matched every signals to same length and succeeded.

I matched every signal to within 0.2mm, but I vaguely remember that some chips require intentional skew between clock line and some other signals for setup and hold timing. I cannot remember exactly why and it kinda scares me from proceeding.

I expect to fail multiple times on this, so I cannot afford 6 layers PCB at this time. Hence, I designed it in 4 layers. As a result, VCC_DRAM lanes going through inner layer (pink colored layer) will surely interfere with 50 ohm impedance matching I presume, but I would like to know how much it would.

I tried to adhere to 1/3 rule, but I failed to do so in some parts of the routes.

Sorry for being kind of unprepared, but I need an overall feedback to proceed any further. Here are relevant files. I did not attach whole schematic because it is an unreadable mess at the moment. But ddr3 part I attached should suffice.


**Edit: Oh, and would the bit swapping I did within byte lane there be okay too???

I have not done this myself, maybe you can start with having a peek at the Olimex A64 from:

Or better, start with one of their projects with an H3 itself.
A lot of the Olimex boards are on github.
The H3 is an old chip and old Olimex PCB’s are usually made with Eagle, so that is a good enough reason to give the Eagle importer a try.

Olimex also sells the H3 chip and other chips they use in their own designs. You can give them a thank-you by buying the chips from them.

Will surely consider that as an option when current one fails.

Is this where I should be looking at?

Import from Eagle is directly supported in KiCad V5.1.x and later.
Just start the KiCad project manager and then from the main menu:

File / Import Project / EAGLE CAD

The importer works quite well, but it’s not perfect.
One of the quircks is that a lot of texts (for labels and such) are made very small.

I have not used the lachlanA project.
You could try both ways, and then make a judgement what works best for your project. I once did an Eagle import, and it took me a few minutes to do. It was a hierarchical design with6 or so sheets, and cleanup took a few hours. But the initial import is very quick, and so easy to do both and then judge which works best.

There are a lot (60+) of custom extensions and helper projects and programs around KiCad.
You can find an overview of KiCad related projects on:

Oh, I never noticed that. Thank you paul.

Still looking for some feedback though :roll_eyes:

If you are truly new to electronic design and CAD, you are taking a very big bite. Consider something less complex for a first project.

I did complete some designs involving USB 2.0 High Speed, Wifi, and 200Mhz DSP MCU.
I’m not sure if there is any more intermediate step between them and DDR memory design.

I’m a complete noob in the realm of MPU and high speed memory though.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.