@aleksorsist @urja Yeah. So what you want IMO is a series of always-enabled data processing blocks, then microcode/state machine that acts on their output.
So for example
HARDWARE BLOCK CONFIG
A) edge detect CH1
B) edge detect CH2
C) edge detect CH3
D) 8-bit shift register, clk=CH2 rising, data=CH3, reset=CH1 falling
STATES
1) on falling edge A: go to 2
2) on data available D: go to 3 if 0x41, else go to 1. On rising edge A, go to 1
3) on data available D: trigger if 0x42, else go to 1. On rising edge A, go to 1