Wednesday, 2022-06-01

*** tpb <[email protected]> has joined #litex00:00
*** Hammdist <[email protected]> has joined #litex00:19
*** Degi_ <[email protected]> has joined #litex03:21
*** Degi <[email protected]> has quit IRC (Ping timeout: 258 seconds)03:22
*** Degi_ is now known as Degi03:22
*** indy <[email protected]> has quit IRC (Read error: Connection reset by peer)05:04
*** indy <[email protected]> has joined #litex05:04
*** FabM <FabM!~FabM@2a03:d604:103:600:2f27:614b:d68a:ae02> has joined #litex05:34
_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 09:53
_florent_~500MB/s reads / ~450MB writes, the DMA interface is introducing bottleneck and then also the software layers 09:54
_florent_we could  try to identify the main bottlenecks once it will be stable09:55
geertusomlo: Nice! hdparm -tT?10:02
somlo_florent_: one possible optimization might be to line up > 1 contiguous sectors per DMA transfer (linux tries to do 8 at once)11:16
somlobut I'm hoping IRQ support will also speed things up a bit11:17
somlogeertu: 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 :)11:18
*** indy <[email protected]> has quit IRC (Ping timeout: 272 seconds)11:49
*** indy <[email protected]> has joined #litex11:52
tntHow do you make a sync statement in another domain ?  `self.cd_xxx.sync +=` ?12:03
tntOr maybe `self.sync.xxx +=` actually12:06
_florent_tnt: https://github.com/enjoy-digital/litex/blob/55344b4c14889efddb0cd7c6fb434acb988797bb/litex/soc/cores/clock/xilinx_usp.py#L12612:06
tnt_florent_: tx :)12:07
_florent_if you clock domain is cd_xy, self.sync.xy += 12:07
tntAnd 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" ?12:09
tntlike self.cd_jesd0 = link0.cd_jesd  or something ?12:09
_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.12:16
_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)12:17
_florent_tnt: the build should output the list of clock domains of the design if failing12:18
tntOr maybe I need to so jes_mod.sync.jesd += actually12:28
tntI think the clock domain renamer also doesn't accept ClockDomain objects and wants the actual final name IIRC.12:30
*** Hammdist <[email protected]> has quit IRC (Quit: Client closed)15:01
*** Hammdist <[email protected]> has joined #litex15:25
*** Hammdist <[email protected]> has quit IRC (Quit: Client closed)16:12
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Quit: Leaving)16:15
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.20:20
tntBut 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.20:21

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!