whitequark changed the topic of #amaranth-lang to: Amaranth hardware definition language · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang
nelgau_ has quit [*.net *.split]
GenTooMan has quit [*.net *.split]
kbeckmann has quit [*.net *.split]
vup has quit [*.net *.split]
Xesxen has quit [*.net *.split]
urja has quit [*.net *.split]
_whitenotifier-9 has quit [*.net *.split]
GenTooMan has joined #amaranth-lang
kbeckmann has joined #amaranth-lang
vup has joined #amaranth-lang
nelgau has joined #amaranth-lang
Xesxen has joined #amaranth-lang
urja has joined #amaranth-lang
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 246 seconds]
Degi_ is now known as Degi
Luke has quit [Quit: o/ 3w 6d 22h 59m 16s]
Luke has joined #amaranth-lang
_whitenotifier-e has joined #amaranth-lang
<_whitenotifier-e> [amaranth] alanvgreen opened issue #700: Elif without preceding If causes Syntax error when Elif has a complex condition - https://github.com/amaranth-lang/amaranth/issues/700
<_whitenotifier-e> [amaranth-boards] ryankurte opened pull request #198: add icesugar_pro platform file from #197 - https://github.com/amaranth-lang/amaranth-boards/pull/198
_whitelogger has joined #amaranth-lang
dcallagh has joined #amaranth-lang
modwizcode has quit [*.net *.split]
egg|matrix|egg has quit [*.net *.split]
xiretza[m] has quit [*.net *.split]
whitequark has quit [*.net *.split]
anuejn has quit [*.net *.split]
guan has quit [*.net *.split]
guan has joined #amaranth-lang
abby has left #amaranth-lang [#amaranth-lang]
anuejn has joined #amaranth-lang
whitequark has joined #amaranth-lang
modwizcode has joined #amaranth-lang
egg|matrix|egg has joined #amaranth-lang
xiretza[m] has joined #amaranth-lang
abby has joined #amaranth-lang
abby has left #amaranth-lang [#amaranth-lang]
Mmaa has joined #amaranth-lang
Mmaa has quit [Client Quit]
Mmaa has joined #amaranth-lang
<Mmaa> Hi, is the Amaranth HDL framework suited for research on FPGA physical design, just like VTR (https://github.com/verilog-to-routing/vtr-verilog-to-routing)  is?
Mmaa has quit [Quit: Client closed]
Guest54 has joined #amaranth-lang
<_whitenotifier-e> [amaranth] whitequark commented on issue #700: Elif without preceding If causes Syntax error when Elif has a complex condition - https://github.com/amaranth-lang/amaranth/issues/700#issuecomment-1094983860
<_whitenotifier-e> [amaranth] whitequark commented on issue #700: Elif without preceding If causes Syntax error when Elif has a complex condition - https://github.com/amaranth-lang/amaranth/issues/700#issuecomment-1094986261
Guest54 has quit [Quit: Client closed]
<cr1901> I vote for making what's described (using "m" in callee and caller) a hard error; seems too difficult to use. But curious if an RFC comes out
Guest54 has joined #amaranth-lang
Guest54 has quit [Client Quit]
<agg> does that preclude any use of m except in a single big elaborate function? i've somewhat often either bound m to self and called methods on self that use it, or passed it to helper functions, to help abstract/tidy/reuse stuff in elaborate
<cr1901> I've not used "m" outside of elaborate yet, personally. My modules are small enough to not justify reuse
<agg> this is super old and i haven't touched it in like 3y but for example https://github.com/adamgreig/daqnet/blob/master/gateware/daqnet/ethernet/ip.py#L586-L616
<agg> as far as 'm' is concerned it's just being used normally though, I think it would have to do stack frame inspection to even work out what was happening, so I think it's probably materially different to the uses in that issue? maybe?
<whitequark> agg: yes, it would do stack frame inspection
<whitequark> in general, mutating your elaboratable from within `elaborate` is something that goes against the concept of elaboratables, which are supposed to be factories of actual RTL (parameterized by the platform)
<agg> in my particular case the only mutation of the elaboratable is because it's convenient to bind m to self at the start of elabrate and return it at the end, instead of passing it to a bunch of static methods
<agg> i appreciate it ends up with a bunch of essentially unchecked invariants though, e.g. my methods all require to be called inside "with m.FSM" so it would be easy enough to misuse, though I think that would immediately error out when they call m.State() outside of an FSM
<cr1901> >instead of passing it to a bunch of static methods
<whitequark> passing `m` to helper functions should be fine though; I didn't explain it in the issue but the current plan for this involves requiring the annotation of helper functions with a special decorator; you define `@allow_using_Module_as_argument def helper(m, ...)` and inside of `helper` if you write `m.d.sync` then it adds the assignment to the root of the module, without considering any conditionals you may have in the caller
<agg> would it work for calling m.State inside an FSM?
<cr1901> My interpretation was that passing it to a bunch of static methods is _also_ unsupported
<whitequark> agg: no
<agg> I guess that's spiritually a conditional anyway huh
<whitequark> yeah
<whitequark> doing what you're doing in daqnet probably needs to be addressed as a part of FSM rework
<whitequark> another RFC
<agg> there are probably other ways to structure such an application, but this sure ended up convenient to use
<whitequark> yeah
lofty has quit [Quit: ZNC - https://znc.in]
lofty has joined #amaranth-lang
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
Lord_Nightmare has joined #amaranth-lang
Raito_Bezarius has quit [Ping timeout: 260 seconds]
wolfshappen has quit [Quit: later]
<_whitenotifier-e> [amaranth] alanvgreen commented on issue #700: Elif without preceding If causes Syntax error when Elif has a complex condition - https://github.com/amaranth-lang/amaranth/issues/700#issuecomment-1095560112
<_whitenotifier-e> [amaranth] alanvgreen closed issue #700: Elif without preceding If causes Syntax error when Elif has a complex condition - https://github.com/amaranth-lang/amaranth/issues/700
wolfshappen has joined #amaranth-lang
Raito_Bezarius has joined #amaranth-lang
<_whitenotifier-e> [amaranth] whitequark commented on issue #700: Elif without preceding If causes Syntax error when Elif has a complex condition - https://github.com/amaranth-lang/amaranth/issues/700#issuecomment-1095564645
<_whitenotifier-e> [amaranth] whitequark reopened issue #700: Elif without preceding If causes Syntax error when Elif has a complex condition - https://github.com/amaranth-lang/amaranth/issues/700
lf has quit [Ping timeout: 260 seconds]
lf_ has joined #amaranth-lang