_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
Degi_ has joined #litex
Degi has quit [Ping timeout: 255 seconds]
Degi_ is now known as Degi
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
<josuah> Discussion about how to reduce LiteX maintenance efforts: https://github.com/enjoy-digital/litex/issues/1765
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #litex
sakman_ has joined #litex
sakman has quit [Ping timeout: 246 seconds]
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
sakman_ is now known as sakman
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
FabM has joined #litex
FabM has quit [Changing host]
FabM has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
sakman has quit [Ping timeout: 255 seconds]
sakman has joined #litex
sakman_ has joined #litex
sakman has quit [Ping timeout: 240 seconds]
<_florent_> Hi josuah, thanks for the issue. The catch is mostly that you need to see the pattern a few times before being able to simplify/merge things. Linux/Zephyr project are a bit experimental and features introduced for them have been progressively integrated in LiteX/LiteX-Boards. The current goal for now is to continue this, and make these projects only rely on LiteX/LiteX-Boards only through commands and build exports. The add_xy methods of
<_florent_> SoC are a first simplification steps and we first need to continue/cleanup this before going changes similar to what you describe in the issue.
<_florent_> We were discussing a few simplifications with @trabucayre today and will try to allocate some time soon to do them, to allow eventually going further in the abstraction where useful.
sakman__ has joined #litex
sakman_ has quit [Ping timeout: 240 seconds]
nickoe41 has quit [Quit: Client closed]
nickoe41 has joined #litex
_catircservices has quit [Quit: Bridge terminating on SIGTERM]
whitequark[cis] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has joined #litex
_catircservices has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has joined #litex
_catircservices has quit [Client Quit]
_catircservices has joined #litex
_catircservices has quit [Client Quit]
_catircservices has joined #litex
FabM has quit [Ping timeout: 248 seconds]
<josuah> _florent_: thank you a lot for this valuable synthesis, this was hard to guess for me by just looking at the commits, and I do see some commits related to reduce boilerplate.
<josuah> My goal is to understand the path LiteX is taking, not introducing my own :)
<josuah> > will try to allocate some time soon to do them
<josuah> I hop this is not related to this message I sent. absolutely nothing encountered in LiteX is blocking for me!
<_florent_> josuah: The path you are describing in the issue is not that far from what I have in mind, just that I first want to do more some others simplifications before, especially on the integration methods, that could handle more than just the logic integration: Generate the more software constants, also handle filling/handling the arguments for the parser, etc... <- That's what we were discussing for the ethernet core for example with @trabucayre
<_florent_> today before seeing your message.
<josuah> this comes timely then!
<josuah> _florent_: may I get any hint of which kind of cleanup would be coming first?
<_florent_> For ethernet, each target has a few arguments to configure the ethernet link and all these are duplicated between targets. We could have method in LiteX to fill/handle these arguments and just integrate this in the targets.
<josuah> this would get me an idea of what to spend efforts on, and pick-up the train rather than starting a new one
<_florent_> This would be a bit similar to what is done for CPU for example, where each CPU is able to provide arguments.
<_florent_> Once done for ethernet (that has more arguments), we could extend this to other cores.
<josuah> thank you! this will be good reference material. I guess all I need to do is spot the API changes, and maintain the boards I can with the new ones
<josuah> for instance `action="store_true"` -> `action=bool_action default=False` :)
<_florent_> In addition of the add_method arguments, it would also be good to make sure we can have multiple instance of each core and handle it correctly in the BIOS (make sure it only use the first if only supporting one, or let user specify the one to use).
<josuah> thank you, yes indeed
<josuah> the whole organization of the various repos make a lot of sense from this angle: what is there is evolving, not in a final "this is how you should do it" state
<josuah> and it takes time to migrate and reshape things
<josuah> and it does not help to bowling-strike a pull-request that changes everything in the middle of it!
<josuah> I am going to be involved with Zephyr-on-LiteX-VexRiscv somewhat a lot, and I tried to make it similar to Linux-on-LiteX-VexRiscv as a model
<josuah> If you had different plan for this (or any other pull request really!) feel free to close it, i.e. referring that something else is planned instead so that 3rd-parties reading the discussion can undrstand
<josuah> thank you a lot for letting me understand the ongoing evolutions!
<_florent_> the scope of the project is becoming very large (and open source aspect is in fact a bit different than the design I do with it), so often prefer first doing basic implementations and then improve/re-think after having more feedback or a better idea of how to do it.
<josuah> this feels like a sound approach to implementing things, with feedback loop involving those who will use it in the end... :)
<josuah> May I quote some extracts of that discussion and close the issue?
feldim2425 has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
feldim2425 has joined #litex
josuah has quit [Quit: josuah]
josuah has joined #litex
trabucay1e has joined #litex
Stary has joined #litex
Degi_ has joined #litex
mupuf has quit [Remote host closed the connection]
Stary_ has quit [Ping timeout: 246 seconds]
trabucayre has quit [Ping timeout: 246 seconds]
Degi has quit [Read error: Connection reset by peer]
Degi_ is now known as Degi
Flea86 has quit [Ping timeout: 246 seconds]
oter has quit [Write error: Connection reset by peer]
mupuf has joined #litex
oter has joined #litex
nickoe41 has quit [*.net *.split]
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #litex
shorne has quit [Read error: Connection reset by peer]
shorne has joined #litex
Degi has quit [Ping timeout: 246 seconds]
Degi has joined #litex
Flea86 has joined #litex
lexano has quit [Ping timeout: 250 seconds]