Friday, 2023-07-14

*** tpb <[email protected]> has joined #litex00:00
*** mupuf <[email protected]> has quit IRC (Remote host closed the connection)00:58
*** mtretter <[email protected]> has quit IRC (Ping timeout: 246 seconds)01:00
*** mtretter <[email protected]> has joined #litex01:01
*** mupuf <[email protected]> has joined #litex01:05
*** Degi_ <[email protected]> has joined #litex02:56
*** Degi <[email protected]> has quit IRC (Ping timeout: 252 seconds)02:57
*** Degi_ is now known as Degi02:57
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)03:45
*** TMM_ <[email protected]> has joined #litex03:45
_florent_tnt: not really, that's mostly to simplify user code and to avoid some common migen mistakes (ex Modules not integrated in designs since declared as self.my_module = XY instead of self.submodules.my_module = XY). 07:10
tnt_florent_: I could swear that before the CSR "storage" register would end up in the main 'sys' domain, whatever the clock domain of the module its in is. (i.e. even if gone through a ClockRenamer). But now, I got the csr bus signals in the normal 'sys' domain and then the CSR storage regs in whatever domain the block is in (which obviously doesn't work ...)07:15
_florent_Hmm, this does not work yes. That's probably related to the collection order of the modules and the fact that CSR are modules are now directly collected (and then ClockRenamer applied on them). I'm going to look at it.07:32
tntAnd is that a "recent" change ? ( Ok like ... < 1y not sure when I updated last TBH :)  Or am I crazy and it was like that before ?07:34
tntMy previous litex was from sep2022 it seems.07:37
_florent_Use if LiteXModule is relatively recent yes and only the cores converted to it will exhibit the issue.07:39
_florent_I think I understand what is going on, I'm looking at it.07:40
tntNot sure if that's a useful data point but it doesn't do it for all the CSRs. Like it seems to be only for the ones that are in a submodule of the module that has the clockrenamed applied to it.07:57
_florent_https://github.com/enjoy-digital/litex/commit/6e46710678a9f36ee4f63daaa0bb751b95a6d8f808:02
_florent_Thanks for reporting! This probably explains a strange behavior I saw and hadn't traced down yet, I should have look more closely at the generated code.08:06
_florent_In fact with LiteXModule, we have to do an exception for CSR since the CSR collection is a specific.08:07
_florent_and ClockRenamer shall not apply to them.08:07
tnt_florent_: Yup, just confirmed this seems to fix all of that.08:09
tntAnd TBH this was complete luck I stumbled into that while poking in the generated verilog for an unrelated reason :)08:10
tntI cherry picked the commit on top of 2023.04 (trying to stick to tags). and now it all looks good.08:11
_florent_Good, thanks. 08:16
_florent_Just shared the issue/fix on twitter: https://twitter.com/enjoy_digital/status/167977164270310195208:36
tntSoon you'll have to introduce dot releases :)08:40
*** matoro_ <matoro_!~quassel@user/matoro> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)15:49
*** matoro <matoro!~quassel@user/matoro> has joined #litex15:49
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)16:12
*** TMM_ <[email protected]> has joined #litex16:12
jevinskie[m]<_florent_> "tnt: not really, that's mostly..." <- Ah wonderful, I used to make that mistake all the time 18:19
*** sauce <[email protected]> has quit IRC (Ping timeout: 258 seconds)22:52
*** sauce <[email protected]> has joined #litex22:53

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