sipeed/TangPrimer-20K-example

Tang Primer DDR on Litex

Opened this issue · 4 comments

I'm trying to use DDR on Litex, but it fails on Memory test.
Anynone can solve this error?

Me too
image

Sorry but I am too bored of debugging the DDR controller...

LiteX is a community project and help wanted.

mlapaj commented

Hi,
I'm not sure which DDR Controller it uses. If Gowin one, then little hint from me:
I've played little bit with Gowin DDR Controller IP with latest Gowin EDA Beta 4 release... and it basically fails if Freq is higher than 100 or 200 MHz (it was couple of weeks ago, not sure now). Tried with 400 MHz and I was getting DDR initialisation failures. After switching back to previous Gowin EDA (And also GOWIN IP infrastructure), I'm able to test DDR at 400 MHz without any issues.

I`m totally not familiar with LiteX,

Hi, I'm not sure which DDR Controller it uses. If Gowin one, then little hint from me: I've played little bit with Gowin DDR Controller IP with latest Gowin EDA Beta 4 release... and it basically fails if Freq is higher than 100 or 200 MHz (it was couple of weeks ago, not sure now). Tried with 400 MHz and I was getting DDR initialisation failures. After switching back to previous Gowin EDA (And also GOWIN IP infrastructure), I'm able to test DDR at 400 MHz without any issues.

I`m totally not familiar with LiteX,

Gowin new version(5.5) DDR3 MC IP will cost more resources(about 2X) with 1:4 clk ratio and can only run at DDR-600(DDR clock 300MHz, user clock 75MHz), but the old version(4.1, you can get this version from non-EDU version EDA) with 1:4 clk ratio can run at DDR-800(even DDR 1000...).

Litex doesn't use the Gowin's impl and the ddr3 issue has been fixed already. You can try it: #9