general decomposition of sequential machines: relationships to state assignment
In this paper, we present new techniques for state assignment of finite state machines based on state machine decomposition algorithms. A finite state machine can be decomposed into smaller interacting machines so as to optimize area and performance of the eventual logic implementation. A recently proposed form of decomposition, which has been shown to be superior to previous decomposition methods, involves identifying subroutines or factors in the original machine and extracting these factors to produce factored and factoring machines. Optimal state assignment corresponds to finding an optimal multiple general decomposition of a finite state machine. We present state assignment techniques targeting two-level and multi-level logic implementations based on factorization algorithms followed by state assignment algorithms. For the two-level case, we prove that one-hot encoding a non-trivially factored machine is guaranteed to produce a better result than one-hot encoding the original machine . Experimental results indicate that this technique of factorization followed by state assignment is superior to previous state assignment techniques for large sequential machines, when targeting either two-level or multi-level implementations.
general decomposition relationships assignment paper finite state machine state machine algorithm optimality performance logic implementation method factor case encode experimentation