After the previous post about how to implement a tiny sate machine in one CLB only?, the point of view of the Spartan-6 silicium die can now be shifted from a sea of logical blocks (CLB), into a sea of potential state machines.
Here is my design proposal for a 16-state state machine using 5 identical 4-state state machines and 2 multiplexers.
In order to fit the larger design, the 4-state state machine building block was updated to following way:
The local state feedback loop can now be controled from outside, and the current state is also an output.
/* TODO: to be continued */