cesar has quit [Quit: Bridge terminating on SIGTERM]
whitequark has quit [Quit: Bridge terminating on SIGTERM]
disasm[m] has quit [Quit: Bridge terminating on SIGTERM]
jevinskie[m] has quit [Quit: Bridge terminating on SIGTERM]
modwizcode has quit [Quit: Bridge terminating on SIGTERM]
mikolajw has quit [Quit: Bridge terminating on SIGTERM]
pho has quit [Quit: Bridge terminating on SIGTERM]
RobertJrdens[m] has quit [Quit: Bridge terminating on SIGTERM]
egg|matrix|egg has quit [Quit: Bridge terminating on SIGTERM]
jfng[m] has quit [Quit: Bridge terminating on SIGTERM]
xiretza[m] has quit [Quit: Bridge terminating on SIGTERM]
adamgreig[m] has quit [Quit: Bridge terminating on SIGTERM]
egg|matrix|egg has joined #amaranth-lang
modwizcode has joined #amaranth-lang
xiretza[m] has joined #amaranth-lang
disasm[m] has joined #amaranth-lang
pho has joined #amaranth-lang
cesar has joined #amaranth-lang
mikolajw has joined #amaranth-lang
jevinskie[m] has joined #amaranth-lang
whitequark has joined #amaranth-lang
<key2>
if yes, then how do you manage the m.next = "xxx" ?
adamgreig[m] has joined #amaranth-lang
<key2>
to which FSM would it apply
jfng[m] has joined #amaranth-lang
RobertJrdens[m] has joined #amaranth-lang
<d1b2>
<dragonmux> the with blocks scope the FSMs, so the m.next applies to the FSM it's directly inside of
Vonter has quit [Ping timeout: 256 seconds]
Vonter has joined #amaranth-lang
Vonter has quit [Ping timeout: 240 seconds]
Vonter has joined #amaranth-lang
<key2>
so how would you do in this case in the 2nd FSM to say you want to change the state of the first FSM ? if both would be written with m.next = "xxx" without refering to the FSM
<bl0x_>
dragonmux: is there then a way to refer to the outer m.next from the inner FSM?
<bl0x_>
Oops, same question ^^
<key2>
yep
<key2>
:)
<bl0x_>
You can name the FSM in the with statement. Maybe that helps to differentiate?
<d1b2>
<dragonmux> the easiest way that makes sense to have the inner FSM cause the outer to change state, is to have a signal that you m.d.comb to 1 that you have the case the inner is written in react on to change to a new state
<d1b2>
<dragonmux> but tbqh, it's easier to write the two FSMs separately and have them "communicate" with a series of signals representing important conditions that cause them to chagnge states
<d1b2>
<dragonmux> *change
miek has quit [Quit: miek]
miek has joined #amaranth-lang
Vonter has quit [Ping timeout: 272 seconds]
Qyriad has quit [Ping timeout: 240 seconds]
Vonter has joined #amaranth-lang
Qyriad has joined #amaranth-lang
bvernoux has quit [Read error: Connection reset by peer]
<bl0x_>
Yep, that's what I usually do. It's easier to read and to reason about. Also aren't nested FSM just a fancy way to express grouping of several states?