*** tpb <[email protected]> has joined #litex | 00:00 | |
*** Hammdist <[email protected]> has joined #litex | 00:19 | |
*** Degi_ <[email protected]> has joined #litex | 03:21 | |
*** Degi <[email protected]> has quit IRC (Ping timeout: 258 seconds) | 03:22 | |
*** Degi_ is now known as Degi | 03:22 | |
*** indy <[email protected]> has quit IRC (Read error: Connection reset by peer) | 05:04 | |
*** indy <[email protected]> has joined #litex | 05:04 | |
*** FabM <FabM!~FabM@2a03:d604:103:600:2f27:614b:d68a:ae02> has joined #litex | 05: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 stable | 09:55 |
geertu | somlo: 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 |
somlo | but I'm hoping IRQ support will also speed things up a bit | 11:17 |
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 :) | 11:18 |
*** indy <[email protected]> has quit IRC (Ping timeout: 272 seconds) | 11:49 | |
*** indy <[email protected]> has joined #litex | 11:52 | |
tnt | How do you make a sync statement in another domain ? `self.cd_xxx.sync +=` ? | 12:03 |
tnt | Or maybe `self.sync.xxx +=` actually | 12:06 |
_florent_ | tnt: https://github.com/enjoy-digital/litex/blob/55344b4c14889efddb0cd7c6fb434acb988797bb/litex/soc/cores/clock/xilinx_usp.py#L126 | 12:06 |
tnt | _florent_: tx :) | 12:07 |
_florent_ | if you clock domain is cd_xy, self.sync.xy += | 12:07 |
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" ? | 12:09 |
tnt | like 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 failing | 12:18 |
tnt | Or maybe I need to so jes_mod.sync.jesd += actually | 12:28 |
tnt | I 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 #litex | 15: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 |
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. | 20:21 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!