_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
Hammdist has joined #litex
Degi_ has joined #litex
Degi has quit [Ping timeout: 258 seconds]
Degi_ is now known as Degi
indy has quit [Read error: Connection reset by peer]
indy has joined #litex
FabM has joined #litex
FabM has quit [Changing host]
FabM has joined #litex
<_florent_> somlo: Great, nice progress! Do you remember the speed you were getting with the SDCard? In Gen3, the LiteSATA core is able to do
<_florent_> ~500MB/s reads / ~450MB writes, the DMA interface is introducing bottleneck and then also the software layers
<_florent_> we could try to identify the main bottlenecks once it will be stable
<geertu> somlo: Nice! hdparm -tT?
<somlo> _florent_: one possible optimization might be to line up > 1 contiguous sectors per DMA transfer (linux tries to do 8 at once)
<somlo> but I'm hoping IRQ support will also speed things up a bit
<somlo> geertu: I'm hoping busybox has `hdparm`; if not, I'll have to figure out a way to compile one and get it into my initrd image :)
indy has quit [Ping timeout: 272 seconds]
indy has joined #litex
<tnt> How do you make a sync statement in another domain ? `self.cd_xxx.sync +=` ?
<tnt> Or maybe `self.sync.xxx +=` actually
<tnt> _florent_: tx :)
<_florent_> if you clock domain is cd_xy, self.sync.xy +=
<tnt> And can I add statement to a clock domain not created in my module ? Like I have multiple JESD links modules each creating their own self.cd_jesd locally. In another module is there a way for me to "import those" ?
<tnt> like self.cd_jesd0 = link0.cd_jesd or something ?
<_florent_> tnt: that's the kind of thing where Migen does not really simplify things compared to traditional HDLs and I remember having a similar need for a JESD system.
<_florent_> tnt: I don't remember if Migen is able to do the self.sync.xy when xy is created externally to the module. This could be worth trying. If so, the name will be the name of the clock domain at the top level (so eventually prefixed with your jesd_phy)
<_florent_> tnt: the build should output the list of clock domains of the design if failing
<tnt> Or maybe I need to so jes_mod.sync.jesd += actually
<tnt> I think the clock domain renamer also doesn't accept ClockDomain objects and wants the actual final name IIRC.
Hammdist has quit [Quit: Client closed]
Hammdist has joined #litex
Hammdist has quit [Quit: Client closed]
FabM has quit [Quit: Leaving]
<tnt> _florent_: fyi, passing the whole Module as argument and externally adding stuff to mod.sync.jesd and mod.specials for stuff needing to be in that domain is the cleanest way I found without having to hardcode clock domain names that are generated at runtime.
<tnt> But this is indeed a bit of a mess ... it'd be much easier if everything that takes a clock domain string could also accept a ClockDomain object.