_florent_ changed the topic of #litex to: LiteX FPGA SoC builder and Cores / Github : https://github.com/enjoy-digital, https://github.com/litex-hub / Logs: https://libera.irclog.whitequark.org/litex
tpb has quit [Remote host closed the connection]
tpb has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
shorne has quit [Ping timeout: 265 seconds]
shorne has joined #litex
shorne has quit [Ping timeout: 268 seconds]
bl0x_ has joined #litex
bl0x has quit [Ping timeout: 268 seconds]
Degi has quit [Ping timeout: 276 seconds]
Degi has joined #litex
<MoeIcenowy> somlo: sounds a normal situation for RGMII
<MoeIcenowy> maybe I should say it's a normal problem for RGMII
shorne has joined #litex
pbsds has quit [Quit: The Lounge - https://thelounge.chat]
pbsds has joined #litex
shorne has quit [Ping timeout: 276 seconds]
shorne has joined #litex
shorne has quit [Ping timeout: 276 seconds]
shorne has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
zjason`` is now known as zjason
<_florent_> mithro: The PCIe test infrastructure from Alex Forencich seems interesting yes (as his other repos :)), for now LitePCIe is tested with a simple Python model/unit-test and tests on hardware.
<_florent_> mithro: I'm currently reworking the Ultrascale(+) PHY integration and will probably add some unit-tests for this. But not sure I'll have time now to do a test of cocotbext-pcie.
<_florent_> somlo: Good for the tests on the STLV7325, I also have one v1 if you need more support. I remember testing SATA and that it was not working directly (but haven't investitaged), I could have a closer look. SATA is generally very easy to get working, so maybe the maybe the GTX/pinout is not correct, we could do some low level test to verify this, like generating the clock pattern and check it with a scope.
shorne has quit [Ping timeout: 255 seconds]
indy_ is now known as indy
shorne has joined #litex
<somlo> _florent_: I should also try testing sata using my fmc adapter (once I get the fmc pins added to the platform file)
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
pacot24 has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
pacot24 has quit [Quit: Client closed]
so-offish has quit [Ping timeout: 250 seconds]
<somlo> _florent_: how "sensitive" is RGMII to the delay parameter(s) for rx and tx? I don't have a lot of (any?) detailed experience with that, but during tftpboot the transfer of data looks like it's "stuttering" (much more so than on other boards like trellis, ecpix5, or nexys-video)
<somlo> is it more like once I get some values that work at all it's unlikely to get better if I move away from that? Or is it a matter of "tuning" to "optimize" behavior, even once it "sort-of" "works" :)
* somlo needs to stop using "quotes" :D
<somlo> in linux, once booted, eth0 is rock solid, fwiw
<tnt> Some phy have programmable delays and so you need the bootloader/kernel/hardware to agree. It's possible that linux configures the phy suitably but not the bootloader ?
<somlo> the linux liteeth driver doesn't seem to do anything fancy with the phy
<somlo> as in, no configuration thereof at all, afaict
shorne has quit [Ping timeout: 252 seconds]
<somlo> being physically away from the board atm, but thinking about it anyway, I'm just wondering if and how much it'd be worth spending time compiling bitstream with various small deviations from the timeout values I've discovered got the ethernet to work in the first place (tx_delay = rx_delay = 1e09) vs. the defaults (2e09 for both) where it didn't work *at all* :)
shorne has joined #litex
<somlo> I.e., is there a *method* to this, or is it just "try something, and if it works, try something else to see if it could work *better*" (which is what I've been doing so far with it) :)
<somlo> and, finally, is "better" an intrinsic local property of my phy configuration, or does it depend on the rest of the network gear it's connected to (in the latter case things would be really messy, so I'm hoping that isn't it)
shorne has quit [Ping timeout: 260 seconds]
shorne has joined #litex
so-offish has joined #litex
shorne has quit [Ping timeout: 255 seconds]
shorne has joined #litex
shorne has quit [Ping timeout: 252 seconds]
shorne has joined #litex
<MoeIcenowy> somlo: I think it's local
<MoeIcenowy> it's about the trace length between the PHY and MAC
<MoeIcenowy> (and in our case, the MAC is just the FPGA
<somlo> ok, so I'll experiment with values around 1e-9 (from like 0.5e-9 to 1.5e-9) -- we know 2e-9 does not work, and 0 doesn't, either
<zyp> RGMII is 4b DDR at 125MHz, so period time is 8ns and each symbol time is at 4ns
<zyp> so I figure you need to adjust the skew so all four data lines hit within the 4ns window with reasonable margins for jitter
<zyp> and probably rise/fall times as well
<zyp> and if the data lines are mismatched, that makes it a harder target to hit, but I'm not sure it's likely that they're significantly mismatched
<zyp> are you sure the DDR buffers in the FPGA are configured correctly wrt. center/edge alignment?