* what you can do is this: ``` with m.FSM(reset="INC") as fsm: with m.State("FETCH"): m.d.sync += result.eq(rd.data) m.next = "INC" with m.State("INC"): with m.If(result != 0): m.d.sync += addr.eq(addr + 1) m.d.comb += rd.addr.eq(addr + 1) with m.Else(): m.d.comb += rd.addr.eq(addr) m.next = "FETCH" ```