MULTIPROCESS IMPLEMENTATION OF ALGORITHMS FOR ALGEBRAIC SYNTHESIS OF A FINITE STATE MACHINE
DOI:
https://doi.org/10.15588/1607-3274-2026-2-12Keywords:
finite state machine, datapath of transitions, arithmetic and logical operations, algebraic synthesis algorithms, parallel realization, PythonAbstract
Context. The problem of the parallel implementation of two algorithms for algebraic synthesis of a finite state machine with datapath of transitions is considered. This type of state machine can be used as an alternative to a finite state machine with a canonical structure in order to reduce hardware expenses in the state machine circuit. The object of the study is algorithms for finding complete and partial solutions to the problem of the algebraic synthesis of a finite state machine, which have a parallel
implementation based on a mechanism if processes. The first of these algorithms is the known algorithm for the complete sequential enumeration of state encoding variants with a fixed set of transition operations. The second algorithm implements an infinite enumeration of state encoding variants based on pseudo-random encoding. The goal of each algorithm is to find a solution to the algebraic synthesis problem with as few uncovered transitions as possible in a given time. This paper proposes an approach to increasing the speed of these algorithms, which consists in their parallel implementation using all processor cores available on the computer. This contributes to finding more efficient solutions to the algebraic synthesis problem in a given time, which can lead to lower hardware expenses in the device circuit.
Objective. Multiprocess implementation and research of algorithms for finding solutions to the algebraic synthesis problem of
finite state machine with datapath of transitions.
Method. The research is based on the structure of a finite state machine with a datapath of transitions. The synthesis of the state machine circuit is preceded by a stage of algebraic synthesis, the result of which is the combination of a certain method of state encoding with the assignment of certain arithmetic-logical operations to individual transitions of the finite state machine. Such a combination is a solution to the problem of algebraic synthesis of a finite state machine with a datapath of transitions. In the general case, for a given finite state machine there are many solutions, each of which can be either complete (each transition is covered by one of the given operations) or partial (when part of the transitions remains uncovered by any of the operations). The more transitions in a partial solution are covered, the less hardware expenses are spent on implementing the state machine circuit and the better the solution found. The search for the best solutions requires an enumeration of a large number of possible variants of state encoding. In this case, it does not matter in principle whether the enumeration of the encoding variants is carried out sequentially or in a pseudorandom manner. In this work, in order to speed up the search for solutions to the algebraic synthesis problem, a parallel implementation of two algorithms is proposed, for which the “multiprocessing” module of the Python language is used. Both algorithms (the sequential search algorithm and the pseudo-random search algorithm) were implemented in programmatic way and investigated on the example of an abstract control algorithm using an i5-13500 processor. The purpose of the experiments was to evaluate the improvement of solutions to the algebraic synthesis problem found in the same running time by single-process and multi-process implementations of the specified algorithms.
Results. Using the example of an abstract control algorithm, it is demonstrated that, in general, multiprocess implementation of
the considered algebraic synthesis algorithms allows finding better solutions to the algebraic synthesis problem in the same time than with a single-process (non-parallel) implementation of these algorithms. The advantage of the parallel implementation of the algorithms is preserved when using different sets of transition operations.
Conclusions. The algebraic synthesis of a finite state machine with a datapath of transitions is based on an algorithm for finding solutions to the algebraic synthesis problem. The paper proposes modified versions of previously known algorithms for finding such solutions, based on the use of the “multiprocessing” module of the Python language. The software implementation of these algorithms has proven that such an approach is generally better than a single-process search for state encoding variants, since it allows finding better solutions (solutions with fewer uncovered transitions) in the same time. The disadvantage of the proposed algorithms can be considered the use of more computer resources, which can negatively affect energy consumption
References
Bailliul J., Samad T. Encyclopedia of Systems and Control. Springer. London, UK, 2015, 1554 p. DOI: https://doi.org/10.1007/978-1-4471-5058-9
Czerwinski R., Kania D. Finite state machines logic synthesis for complex programmable logic devices. Berlin, Springer, 2013, 172 p. DOI: https://doi.org/10.1007/978-3-642-36166-1
Baranov S. Logic and System Design of Digital Systems. Tallin, TUTPress, 2008, 267 p.
Micheli G. D. Synthesis and Optimization of Digital Circuits. McGraw-Hill, Cambridge, MA, USA, 1994, 579 p.
Minns P., Elliot I. FSM-Based Digital Design Using Verilog HDL. JohnWiley and Sons. Hoboken, NJ, USA, 2008, 408 p. DOI: https://doi.org/ 10.1002/9780470987629
Skliarova I., Sklyarov V., Sudnitson A. Design of FPGAbased circuits using hierarchical finite state machines.Tallinn, TUT Press,2012,240p.
Klimovich A. S., Solov’ev V. V. Minimization of Mealy finite-state machines by internal states gluing. Journal of Computer and Systems Science International, 2012, Volume 51, pp. 244–255. DOI: https://doi.org/10.1134/S1064230712010091
Grout I. Digital Systems Design with FPGAs and CPLDs. Elsevier Science, Amsterdam, The Netherlands, 2008, 784 p. DOI: https://doi.org/10.1016/B978-0-7506-8397- 5.X0001-3
Kubica M., Opara A., and Kania D. Technology Mapping for LUT-Based FPGA. Lecture Notes in Electrical Engineering, Vol. 713, Springer, Cham, 2021, 207 p. DOI: https://doi.org/10.1007/978-3-030-60488-2
Baranov S. Logic Synthesis for Control Automata. Dordrecht, Kluwer Academic Publishers, 1994, 312 p.
Barkalov A. A., Babakov R. M. Operational formation of state codes in microprogram automata, Cybernetics and Systems Analysis, 2011, Volume 47 (2), pp. 193–197. DOI: https://doi.org/10.1007/s10559-011-9301-y
Barkalov A. A., Titarenko L. A., Babakov R. M. Synthesis of Finite State Machine with Datapath of Transitions According to the Operational Table of Transitions, Radio Electronics, Computer Science, Control, 2022, Volume 3 (62), pp. 109–119. DOI: https://doi.org/10.15588/1607-3274-2022-3-11
Barkalov A. A., Babakov R. M. A Matrix Method for Detecting Formal Solutions to the Problem of Algebraic Synthesis of a Finite-State Machine with a Datapath of Transitions, Cybernetics and Systems Analysis, 2023, Volume 59 (2), pp. 190–198. DOI: https://doi.org/10.1007/s10559-023-00554-6
Babakov R. M., Barkalov A. A., Titarenko L. A., Voitenko M. O. Algorithmic Differences of Complete and Partial Algebraic Synthesis of a Finite State Machine withDatapath of Transitions. Radio Electronics, Computer Science, Control, 2024, Volume 4, pp. 143–152. DOI:
https://doi.org/10.15588/1607-3274-2024-4-14
Kubica M., Kania D., Kulisz J. A Technology Mapping of FSMs Based on a Graph of Excitations and Outputs. IEEE Access, 2019, Volume 7, pp. 16123–16131. DOI: https://doi.org/10.1109/ACCESS.2019.2895206
Baranov S. Finite State Machines and Algorithmic State Machines. Seattle, WA, USA: Amazon, 2018, 185 p.
Zaccone G. Python Parallel Programming Cookbook. Packt Publishing, 2015, 286 p.
Palach J. Parallel Programming with Python. Packt Publishing, 2014, 122 p.
Nelli F. Parallel and High Performance Programming with Python. AVA, 2023, 392 p.
Nguyen Q. Mastering Concurrency in Python. Packt Publishing, 2018, 446 p.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2026 R. M. Babakov, A. A. Barkalov, L. A. Titarenko

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Creative Commons Licensing Notifications in the Copyright Notices
The journal allows the authors to hold the copyright without restrictions and to retain publishing rights without restrictions.
The journal allows readers to read, download, copy, distribute, print, search, or link to the full texts of its articles.
The journal allows to reuse and remixing of its content, in accordance with a Creative Commons license СС BY -SA.
Authors who publish with this journal agree to the following terms:
-
Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License CC BY-SA that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
-
Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
-
Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) as it can lead to productive exchanges, as well as earlier and greater citation of published work.