00:04
Degi has quit [Ping timeout: 252 seconds]
00:14
Degi has joined #amaranth-lang
03:51
Degi has quit [Ping timeout: 255 seconds]
03:55
Degi has joined #amaranth-lang
04:59
Stary has joined #amaranth-lang
12:39
chrisgorman has joined #amaranth-lang
12:48
FFY00 has quit [Remote host closed the connection]
12:48
FFY00 has joined #amaranth-lang
15:24
Degi has quit [Ping timeout: 252 seconds]
16:03
frgo has quit [Remote host closed the connection]
16:03
frgo has joined #amaranth-lang
16:21
peepsalot has quit [Quit: Connection reset by peep]
16:23
peepsalot has joined #amaranth-lang
16:37
jorolf[m] has joined #amaranth-lang
16:37
<
jorolf[m] >
with m.If(signals_valid):
16:37
<
jorolf[m] >
with m.FSM():
16:38
<
jorolf[m] >
Is that valid code? As in, do the statements inside that FSM only evaluate when the outer condition is met?
16:38
whitequark[cis] has joined #amaranth-lang
16:38
<
whitequark[cis] >
it is and it is
16:38
<
whitequark[cis] >
* it is and they do
16:39
<
whitequark[cis] >
with m.FSM() is basically a big If/Elif block with some fluff
16:39
<
whitequark[cis] >
it's somewhat unconventional but it is intended to work this way
16:40
<
jorolf[m] >
Ah okay
16:41
<
zyp[m] >
fsm/state is switch/case with sugar, and switch/case is if/else with sugar
16:42
<
zyp[m] >
at least that's how I think of it, having seen a ton of C FSMs implemented using switch/case
16:43
<
whitequark[cis] >
in case of amaranth, if/else is switch/case with sugar
16:43
<
whitequark[cis] >
(the only low-level construct is switch, everything else is desugared into it)
16:44
<
whitequark[cis] >
this isn't super visible on the surface though
16:47
<
jorolf[m] >
For all I know, FSMs could have been implemented as a special case which worked outside of If/Else and Switch/Case
16:47
<
zyp[m] >
that sounds like a major footgun, and amaranth likes avoiding footguns
16:53
<
jorolf[m] >
(ah, nvm, that's a dumb question, it just adds it regardless)
16:54
<
whitequark[cis] >
yes. it might be worth diagnosing that pattern
18:56
<
_whitenotifier-4 >
[amaranth-lang/amaranth] rroohhh ab3a355 - rpc: use rtlil instead of ilang
18:56
frgo has quit [Remote host closed the connection]
18:56
frgo has joined #amaranth-lang
18:57
<
_whitenotifier-4 >
[amaranth-lang/amaranth-lang.github.io] github-merge-queue[bot] 5840344 - Deploying to main from @ amaranth-lang/amaranth@ab3a355a54993dae164863d94816a2c5c0df7657 🚀
20:31
Degi has joined #amaranth-lang