Mhh, ich habe mir das eben mal angesehen...möglicherweise könntest du diese 7 Zustände benutzen:
Initalzustand (Noch nichts wurde gelesen), 0, 1, 01, 10, 011, 100.
Die Zustandsübergänge abhängig von den bisher eingelesenen Zeichen definieren, sobald das Ergebnis feststeht, zum Initialzustand springen. Gleichzeitig durch ein Parallel-Load entweder 0,0,0,0 oder 0,0,0,1 einlesen, dafür brauchst du vermutlich noch einmal 4 Und2 als Multiplexerersatz vor dem Schieberegister...