Wednesday, 2023-08-23

*** tpb <[email protected]> has joined #litex00:00
*** jersey99 <[email protected]> has quit IRC (Ping timeout: 246 seconds)00:14
*** lexano <[email protected]> has quit IRC (Ping timeout: 260 seconds)01:12
*** Degi <[email protected]> has quit IRC (Ping timeout: 250 seconds)01:36
*** Degi <[email protected]> has joined #litex01:36
whitequark[cis]finalization is such a broken concept in Migen03:58
whitequark[cis](so broken that Amaranth does not have anything like it at all, intentionally, and never will)03:58
whitequark[cis]the main problems with it is that (a) you only get one finalization order and if you don't like it, tough luck and (b) if you add another module to the tree in the finalizer, that one is never finalized04:14
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #litex04:54
*** sakman_ <[email protected]> has joined #litex06:34
*** SpaceCoaster_ <SpaceCoaster_!~derek@user/spacecoaster> has joined #litex06:34
*** TMM__ <[email protected]> has joined #litex06:37
*** gurki_ <gurki_!~gurki@user/gurki> has joined #litex06:37
*** TMM_ <[email protected]> has quit IRC (*.net *.split)06:39
*** sakman <[email protected]> has quit IRC (*.net *.split)06:39
*** SpaceCoaster <SpaceCoaster!~derek@user/spacecoaster> has quit IRC (*.net *.split)06:39
*** minute <[email protected]> has quit IRC (*.net *.split)06:39
*** gurki <gurki!~gurki@user/gurki> has quit IRC (*.net *.split)06:39
*** SpaceCoaster_ is now known as SpaceCoaster06:39
*** minute <[email protected]> has joined #litex06:46
*** lkcl <[email protected]> has joined #litex07:52
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has quit IRC (Remote host closed the connection)08:39
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has joined #litex08:40
*** gurki_ is now known as gurki08:44
*** TMM__ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)10:13
*** TMM_ <[email protected]> has joined #litex10:13
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has quit IRC (Quit: Leaving)10:48
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has joined #litex10:51
*** lambda <[email protected]> has quit IRC (Quit: WeeChat 4.0.2)11:28
*** lambda <[email protected]> has joined #litex11:28
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has quit IRC (Read error: Connection reset by peer)11:48
*** GNUmoon <GNUmoon!~GNUmoon@gateway/tor-sasl/gnumoon> has joined #litex11:48
*** Wolfvak <Wolfvak!~Wolfvak@user/wolfvak> has quit IRC (Ping timeout: 260 seconds)13:34
*** Wolfvak <Wolfvak!~Wolfvak@user/wolfvak> has joined #litex13:35
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has quit IRC (Quit: Textual IRC Client: www.textualapp.com)14:05
*** Foxyloxy <Foxyloxy!~foxyloxy@cpc151593-shef16-2-0-cust343.17-1.cable.virginm.net> has joined #litex14:09
*** lexano <[email protected]> has joined #litex15:19
*** cr1901_ <cr1901_!~cr1901@2601:8d:8600:226:6712:3a8e:7f64:543a> has joined #litex16:31
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:bc7f:ccf1:49c0:41ee> has quit IRC (Killed (NickServ (GHOST command used by cr1901_!~cr1901@2601:8d:8600:226:6712:3a8e:7f64:543a)))16:34
*** cr1901_ is now known as cr190116:34
*** jersey99 <[email protected]> has joined #litex18:12
jersey99whitequark[cis] I hear you .. What is final and when is final. It's a hack, but it's been working. If we have distinctive phases of the transpilation with some sort of callbacks, that can be nice!18:14
whitequark[cis]I actually think that is the wrong approach entirely18:20
whitequark[cis]Amaranth only has one phase: elaboration. but before it, you can do whatever you want with the objects, so that they know exactly what to elaborate to18:21
whitequark[cis]by the time you are in def elaborate, there should be no order dependence, no mutation whatsoever, nothing like that18:21
whitequark[cis]if you are doing something really complicated that needs multiple phases of preprocessing? great! I am sure you can express that as a normal Python program better than I could anticipate :)18:22
jersey99Like, how do you take care of automatic address assignment?18:29
jersey99The HDL you write needs a phase where addresses need to be assigned, it would be great if they can even be used back inside the HDL as constants. There is a parse phase that would be useful here.18:33
jersey99After thinking about it a little more, what I said can still be achieved with a single elaboration phase. The address assignment can be part of the elaboration stage and made available to the user at the end in some form19:00
jersey99simplicity is good19:00
jersey99Also, good to see you back. Is Amaranth a happening place these days?19:01
*** jersey99 <[email protected]> has quit IRC (Ping timeout: 246 seconds)19:06
whitequark[cis]you can look at the changelog19:23
whitequark[cis]<jersey99> "After thinking about it a little..." <- nope19:23
whitequark[cis]you assign addresses while constructing a representation of your design19:24
whitequark[cis]this in no way relates to anything "HDL"19:24
whitequark[cis]it's just manipulation of normal Python object19:24
whitequark[cis]s/object/objects/19:24
whitequark[cis]and if all you want to do is to e.g. write JSON metadata containing your SoC's addresses, you don't ever need to make any netlist or AST or anything like that19:26
*** jersey99 <[email protected]> has joined #litex19:28
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 245 seconds)19:49
*** cr1901_ <cr1901_!~cr1901@2601:8d:8600:226:b186:2e75:9ad1:f375> has joined #litex19:58
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:6712:3a8e:7f64:543a> has quit IRC (Ping timeout: 246 seconds)20:02
*** cr1901__ <cr1901__!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has joined #litex20:03
*** cr1901__ <cr1901__!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has quit IRC (Read error: Connection reset by peer)20:05
*** cr1901__ <cr1901__!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has joined #litex20:05
*** cr1901_ <cr1901_!~cr1901@2601:8d:8600:226:b186:2e75:9ad1:f375> has quit IRC (Ping timeout: 246 seconds)20:07
jersey99I am seeing that the philosophy is let the user figure out bells and whistles by empowering them with python object introspection. Is that right?20:15
*** cr1901__ is now known as cr190120:22
jersey99I am now actually curious to see how one would do something like Litex's AutoCSR around Amaranth20:29
*** ElfenKaiser <ElfenKaiser!~deadsalmo@2a0a-a541-7975-0-b37f-5d86-29c9-d62b.ipv6dyn.netcologne.de> has joined #litex20:37
jersey99AutoCSR in Amaranth would be some form of a trait/MixIn where member functions of it would introspect and provide information about some submodules, and the address assignment be something that it would return (in the form of some some Amaranth objects) which then Amaranth can use to generate RTL20:47
jersey99Looks promising!20:47
*** jersey99 <[email protected]> has quit IRC (Ping timeout: 246 seconds)20:52
*** jersey99 <[email protected]> has joined #litex21:06
*** cr1901_ <cr1901_!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has joined #litex21:26
*** cr1901_ <cr1901_!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has quit IRC (Read error: Connection reset by peer)21:27
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has quit IRC (Ping timeout: 245 seconds)21:28
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has joined #litex21:30
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:9897:2987:ba0c:c9f9> has quit IRC (Quit: Leaving)21:56
*** cr1901 <cr1901!~cr1901@2601:8d:8600:226:4455:6f46:4ebc:3999> has joined #litex22:04
*** TMM_ <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)22:08
*** TMM_ <[email protected]> has joined #litex22:08

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