*** tpb <[email protected]> has joined #litex | 00: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 #litex | 01:01 | |
*** mupuf <[email protected]> has joined #litex | 01:05 | |
*** Degi_ <[email protected]> has joined #litex | 02:56 | |
*** Degi <[email protected]> has quit IRC (Ping timeout: 252 seconds) | 02:57 | |
*** Degi_ is now known as Degi | 02:57 | |
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) | 03:45 | |
*** TMM_ <[email protected]> has joined #litex | 03: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 |
tnt | And 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 |
tnt | My 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 |
tnt | Not 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/6e46710678a9f36ee4f63daaa0bb751b95a6d8f8 | 08: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 |
tnt | And TBH this was complete luck I stumbled into that while poking in the generated verilog for an unrelated reason :) | 08:10 |
tnt | I 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/1679771642703101952 | 08:36 |
tnt | Soon 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 #litex | 15:49 | |
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) | 16:12 | |
*** TMM_ <[email protected]> has joined #litex | 16: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 #litex | 22:53 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!