sipeed / TangPrimer-20K-example

TangPrimer-20K-example project
180 stars 30 forks source link

Tang Primer DDR on Litex #6

Open cicamargoba opened 1 year ago

cicamargoba commented 1 year ago

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

liangyongxiang commented 1 year ago

Me too

image
Icenowy commented 1 year ago

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

LiteX is a community project and help wanted.

mlapaj commented 10 months ago

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,

Bestoa commented 1 month ago

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: https://github.com/sipeed/TangPrimer-20K-example/pull/9