An Algorithm for Algebraic Synthesis of a Finite-State Machine Based on Operation Enumeration
摘要
For a finite-state machine with a datapath of transitions, a new algorithm for algebraic synthesis is proposed that combines the enumeration of state encoding methods with the enumeration of transition operations. The algorithm is based on representing any transition operation as an arithmetic–logical operator over two operands: the code of the current machine state and a constant of the corresponding format. This representation enables automated enumeration of transition operations by enumerating the constants in the used operations within the range of state code values. The output of the algorithm is a set of solutions to the algebraic synthesis problem, where each solution contains values of the state codes and a set of values of the constants used in the operations. The joint enumeration of transition operations and state encoding methods expands the search space. It also increases the number of solutions found for the algebraic synthesis problem compared to the prototype algorithm that does not enumerate transition operations. A software implementation of the proposed algorithm has been performed, confirming its correctness and effectiveness.