Decomposition and factorization of sequential finite state machines
Srinivas Devadas, A. Richard Newton · IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · 1989
Algorithms are proposed for decomposing a finite-state machine into smaller interacting machines so as to optimize area and performance of the eventual logic implementation. Cascade decomposition algorithms, which decompose a given machine into independent and dependent components, have been proposed in the past. The authors propose a more powerful form of decomposition where both components of the decomposed machine interact with each other. Experimental results indicate that this decomposition technique for state machine decomposition is superior to cascade decomposition techniques. It is the premise of this study that optimal state assignment corresponds to finding an optimal multiple general decomposition of a finite-state machine. State assignment techniques that target two-level and multilevel implementations based on state machine factorization algorithms followed by state assignment algorithms are presented. It is rigorously proved that one-hot encoding a nontrivially factored machine is guaranteed to produce a better result than one-hot encoding the original machine for the two-level case.>