<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@aleksorsist" class="u-url mention">@<span>aleksorsist</span></a></span> <span class="h-card" translate="no"><a href="https://social.treehouse.systems/@urja" class="u-url mention">@<span>urja</span></a></span> Yeah. So what you want IMO is a series of always-enabled data processing blocks, then microcode/state machine that acts on their output.</p><p>So for example</p><p>HARDWARE BLOCK CONFIG<br />A) edge detect CH1<br />B) edge detect CH2<br />C) edge detect CH3<br />D) 8-bit shift register, clk=CH2 rising, data=CH3, reset=CH1 falling</p><p>STATES<br />1) on falling edge A: go to 2<br />2) on data available D: go to 3 if 0x41, else go to 1. On rising edge A, go to 1<br />3) on data available D: trigger if 0x42, else go to 1. On rising edge A, go to 1</p>