Lets consider an abstract machine generating a new word from in a finite space at every its step in a deterministic way. We have a golden word (a key). The goal is to get its index in the sequence of the words. That is, once the generator has produced the key word, the machine stops and the word counter keeps the resulting index.
The implementation of the design involves a "clock enable" MUX at each FF. That is, the running generator will load next state on every clk while stopped FSM will persist it state. The MUXes in this architure will be controlled by the feedback signal
done = (current_word = golden_key)
Well, my question is about "clocked enable" efficiency in the ordinary FPGAs. I am considering a design avoiding the feedback in order to maximize generator's speed (and reduce hardware demands). We could start the generator by pushing its reset input. Once the generator produces the anticipated word at its output at some moment of time, we would latch the index (result of computation) letting the machine rush further. We are not interested in the machine anymore, we have obtained the result and can let it blow up. How advantageous would be this 2nd design?