<_florent_>
feldim2425: soc_core.py/SoCCore is still used indeed, but the logic has been rewritten and moved to soc.py, it's mostly providing a retro-compatibility layer now and the aim in the future is to switch designs to LiteXSoC directly
<_florent_>
but with PHYPadsReducer(platform.request("ddram"), [0, 1, 2, 3])
<_florent_>
this will use half the data pads and should allow you to get it working, i'll work on improving the flexibility of the calibration soon but don't have an AC701 to test.
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 240 seconds]
FFY00 has quit [Remote host closed the connection]
FFY00 has joined #litex
m4ssi has joined #litex
mibus[m] has quit [Quit: Idle for 30+ days]
kgugala has quit [Read error: Connection reset by peer]
kgugala has joined #litex
<[Matt]>
_florent_: Ahah! Many thanks, Florent. (I've been swapping pins this morning; there are 6 working bytes, 2 non-working. Had indeed wondered about reducing to 32b width, thanks!)
<[Matt]>
_florent_: Do you have a suspicion re the calibration problem? (BTW I am happy to help test on AC701, in future.)
kgugala has quit [Read error: Connection reset by peer]
kgugala has joined #litex
m4ssi has quit [Remote host closed the connection]
kgugala_ has joined #litex
kgugala has quit [Read error: No route to host]
kgugala has joined #litex
kgugala_ has quit [Read error: Connection reset by peer]
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 258 seconds]
<[Matt]>
_florent_: FWIW, PHYPadsReducer w/ [4, 5, 6, 7], plus cmd_latency=1 works on my AC701. (Thanks again!) Any combination that includes byte lanes 0 or 1 fails.
kgugala has joined #litex
kgugala_ has quit [Ping timeout: 240 seconds]
FFY00 has quit [Read error: Connection reset by peer]
FFY00 has joined #litex
peeps[zen] has quit [Ping timeout: 240 seconds]
FFY00 has quit [Ping timeout: 240 seconds]
tannewt has quit [Ping timeout: 240 seconds]
y2kbugger has quit [Ping timeout: 240 seconds]
lf_ has quit [Ping timeout: 240 seconds]
TMM has quit [*.net *.split]
levi has quit [*.net *.split]
acathla has quit [*.net *.split]
feldim2425 has quit [*.net *.split]
daddesio has quit [*.net *.split]
trabucayre has quit [*.net *.split]
kgugala has quit [*.net *.split]
Degi has quit [*.net *.split]
proteusguy has quit [*.net *.split]
CarlFK has quit [*.net *.split]
goran-mahovlic has quit [*.net *.split]
simeonm has quit [*.net *.split]
_whitelogger has joined #litex
awe00 has joined #litex
awe00 has quit [Ping timeout: 246 seconds]
awe00 has joined #litex
feldim2425_ has joined #litex
feldim2425 has quit [Ping timeout: 256 seconds]
kgugala_ has joined #litex
kgugala has quit [Ping timeout: 258 seconds]
FFY00 has quit [Remote host closed the connection]
FFY00 has joined #litex
<felix_>
when i tried to get the ddr3 dram running on the ac701 in early 2018 i didn't get it working; iirc the issue is likely that litedram doesn't do read leveling on artix7
awe001 has joined #litex
<felix_>
having 6 out of 8 byte lanes working sounds like what i was seeing back then
awe00 has quit [Ping timeout: 265 seconds]
<felix_>
for read leveling the odelay blocks are used that are only present on the high performance i/o banks, but a7 doesn't have those; k7 does have those. a7 has some other i/o logic for the ds/dqs interfaces, but last time i looked, litedram didn't use those
<[Matt]>
felix_: Merci! (Do you mean write levelling? This build is appearing to do read levelling but not WR.) Naively, would no WL mean getting corruption of written data? (I see zero for those lanes no matter what I write, it's quite strange, not just random/broken data.)
<_florent_>
A "real" write leveling is indeed not possible on Artix7 with the current PHY (that is only using ISERDESE2/ODERDESE2 + IODELAYs) since the ODELAYs are not present on Artix7, so we are using a phase shifted clock, but with a 64-bit SODIMM it's difficult to have a phase shift that works for all modules.
awe002 has joined #litex
<_florent_>
The read leveling is similar to the one on Kintex7
<[Matt]>
Ahhh
<[Matt]>
_florent_: Can you tell me a little more about the dedicated dqs logic? (I'm assuming MIG uses this!)
awe001 has quit [Ping timeout: 258 seconds]
<[Matt]>
er, that felix_ mentioned ;)
<zyp>
_florent_, IIRC you mentioned etherbone can now be used at sys clock rates below 125MHz, was that so?
<[Matt]>
Another experiment I found interesting was to restrict to a 16-bit i/f, using only the two "bad" bytes, and RL failed to find a preferred delay on either (whereas it does on the other "good" bytes)
kgugala_ has quit [Read error: Connection reset by peer]
kgugala has joined #litex
<felix_>
ah, seems that mixed up read leveling and write leveling
<felix_>
the MIG-generated code is helpful to understand how those blocks work
<_florent_>
zyp: yes, the UDP/IP stack will still runs at 125MHz but the Etherbone is now running in sys_clk (down to 125MHz/4=31.25MHz theorically)
<zyp>
good
feldim2425_ is now known as feldim2425
<_florent_>
felix_: in fact the Artix7 boards with > 32-bit DDR3 are not very common, most of the Artix7 boards have 16 or 32-bit which is working fine with the current approach, so i haven't spend that much time looking PHASER_IN/OUT blocks, this is limiting mostly for the AC701
feldim2425 has quit [Quit: ZNC 1.8.x-git-91-b00cc309 - https://znc.in]
feldim2425 has joined #litex
<zyp>
_florent_, the 125MHz domain still doesn't meet timing on the ecp5 (colorlight)?
m4ssi has joined #litex
m4ssi has quit [Remote host closed the connection]
nelgau has joined #litex
awe003 has joined #litex
awe002 has quit [Ping timeout: 258 seconds]
nelgau has quit []
nelgau has joined #litex
FFY00 has quit [Remote host closed the connection]