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