Professional Documents
Culture Documents
sciences
Article
State Merging and Splitting Strategies for Finite State Machines
Implemented in FPGA
Adam Klimowicz * and Valery Salauyou
Faculty of Computer Science, Bialystok University of Technology, Wiejska 45A, 15-351 Bialystok, Poland
* Correspondence: a.klimowicz@pb.edu.pl
Abstract: Different strategies for the combination of merging and splitting transformation procedures
for incompletely specified finite state machines implemented on field-programmable logic devices are
offered. In these methods, such optimization criteria as the speed of operation, power consumption
and implementation cost are considered already in the early phase of finite state machine synthesis.
The methods also take into account the technological features of programmable logic devices and the
state assignment method. The transformation quality ratio is calculated on the base of estimations of
consumed power, critical path delay and number of utilized logic cells. The user is also able to choose
the order of merging and splitting procedures and the direction of the optimization by setting weights
for each criterion. The methods of the estimation of optimization criteria values are described, and
the experimental results are also discussed.
Keywords: logic synthesis; field-programmable gate arrays; finite state machines; logic optimization;
state splitting; state merging
known solutions is the STAMINA program [4], which can work in heuristic and exact
variants and applies explicit enumeration to the solution of the state minimization task.
The other implementation of merging procedure is presented in Ref. [5], which describes a
program for parallel state reduction and state encoding, where incompletely specified state
codes can be built.
The value of splitting the states of FSMs in state encoding procedure was declared
in [6] and soon after in [7], where the splitting operation was used to decrease the power
dissipation and resource utilization of the designed FSM. Ref. [8] describes an application of
state splitting for the simultaneous state minimization and the state assignment of the FSM.
Many authors have pondered the synthesis methods for high-speed FSMs imple-
mented on programmable logic devices with a large variety of approaches. Ref. [9] con-
siders the problem of state encoding and optimization of the combinational part upon
the implementation of high-performance FSMs in complex programmable logic devices
(CPLD). Ref. [10] presents a novel architecture that is particularly optimized for implemen-
tation of reconfigurable FSMs; this architecture is called the transition-based reconfigurable
FSM (TR-FSM) and shows a significant reduction in area, speed, and power consumption
in relation to FPGA architectures. In [11], the implementation of finite state machines in
FPGA with the application of integral blocks of read-only memory (ROM) is described.
The presented approach shows two pieces of FSMs structure with multiplexers on inputs
of ROM blocks, which allow decreasing the area and increasing the FSM speed. Ref. [12]
presents BT-FSM, which is a finite state machine with a single bit input, where the state
transition graph is in a form of a binary tree. The architecture of FSM is based on the
previously developed model of the finite virtual state machine (FVSM) [13]. In [14], a modi-
fication of the feedback of asynchronous FSMs and convergent state encoding is proposed.
In this approach, asynchronous FSMs can be realized as simply as synchronous ones.
Ref. [15] presents the extended burst-mode architecture, based on local synchronization
signals, which allows using approaches for synchronous machines, for the synthesis of
asynchronous machines. The increase in speed of FSM can be achieved also by using a
state splitting procedure. Ref. [16] presents the method based on the splitting of internal
states, which makes it possible to decrease the ranks of transition functions and decrease
the number of logic levels of transition functions.
Many approaches to the power consumption reduction of state machines have been
recently proposed. They are mostly based on special state encoding procedures, decompo-
sition, device clocking control and others. In Ref. [17] a genetic fuzzy c-mean c1ustering-
based decomposition method, named GFCM-D, is offered for FSM partition into a set of
c-fuzzy clusters. For reaching low power consumption, the target function of GFCM-D is
minimized with the application of a genetic algorithm. A partitioning is widely used for
FSM power minimization because most of time, only one of sub-FSMs should be clocked; in
consequence, the energy is saved. Ref. [18] proposes a multi-population evolution strategy,
denoted as MPES to accomplish the task of searching for a low power state encoding in
FSM synthesis. MPES resolves this problem by using inner and outer evolution strategies
(ES). In the inner strategy, subpopulations evolve independently and are responsible for
local search in separate regions, while the outer strategy plays the role of a shell to optimize
the subpopulations of inner-ES for improved solutions. Ref. [19] proposes a fast algorithm
based on state transitions probability and simple control logic to realize the partitioned
machines. An effective method for decreased dynamic power by reducing the switching ac-
tivity is clock gating. Ref. [20] presents a consolidated and close-grained architecture-level
clock gating mechanism for low-power hardware accelerators which are automatically
created by a high-level synthesis tool. Another method includes the conception of clock
gating into both the state logic (DGS) and output logic (DGO) in FSM individually and can
be applied in most cases in any FSM [21]. The gating control logic automatically extracts
information from the FSM state description. The desired adjacency graph to reduce the
power dissipation is used in the method from [22]. A low-power state-encoding technique
with upper bound peak current constraints is proposed in [23]. Ref. [24] presents a syn-
Appl. Sci. 2022, 12, 8134 3 of 19
1 2
Pr = V × f × C × SAr , (2)
2 dd
where Pr —power dissipated by memory element r; Vdd —supply voltage; f —operating
frequency; C—output capacitance of each flip-flop; and SAr —switching activity of r-th
flip-flop, r ∈ <1, R>.
Let ci be a binary vector used as a code of state ai . Assuming that the number of bits of
code ci is equal to R, let Vr (ci ) represent the value of r-th bit of code ci of state ai , r ∈ <1, R>.
Then, the switching activity SAr of memory element r is described by the following formula:
M M
SAr = ∑i=1 ∑ j=1 P ai → a j × V r (ci ) Vr cj ,
M
(3)
where P(ai → aj )—probability of transition from state ai to state aj (ai , aj ∈ A); and —logic
L
operator “exclusive or” (XOR). The probability of transition P(ai → aj ) can be calculated
using the following equation:
P ai → a j = P ( ai ) × P X ai , a j ) , (4)
where P(ai )—probability that the ai is the current state of the FSM; and P(X(ai , aj ))—
probability that the input vector is equal to X(ai , aj ), which causes a transition from state ai
to state aj .
Let Vb (X) represent the value of the b-th variable of input vector X. The probability
P(X(ai , aj )) that input vector of the FSM is identical to X(ai , aj ) is described by the equation
L
= ∏ b =1 P V b X a i , a j = d ,
P X ai , a j (5)
where d ∈ {“1”, “0”, “–”}; and P(xb = d)—the probability that input variable xb from input
vector X(ai , aj ) is identical to d.
In our method, we assume that probabilities of both 0 and 1 on any FSM input are the
same, thus P(xb = 0) = P(xb = 1) = 12 and P(xb = “–”) = 1. Notice that we do not consider the
correlations between the values on individual inputs.
Next, from the following system of equations, we can determine the probability P(ai )
that a current state of FSM is ai , i = <1, M>:
M
∑P
P ( ai ) = a j × P X a j , ai , i = h1, M i. (6)
j =1
When no transitions between states aj and ai exist, it can be assumed that P(X(aj , ai )) = 0.
Consequently, when transitions from the state aj to state ai exist, the value P(X(aj , ai )) is
defined as a sum of the probabilities for every input vector, which causes a transition from
state aj to state ai .
The Formula (6) denotes the linear system of M equations in M variables P(a1 ), . . . ,
P(aM ). The system is linearly dependent, and the number of its solutions is infinite. How-
ever, we can notice that the machine is always in one of its internal states, and Formula (7)
is correct:
M
∑ P(ai ) = 1. (7)
i =1
One of the equations in (6) should be substituted by Equation (7) to solve the system
of Equation (6). The power estimation algorithm was fully described in [35].
function generators. When the number of arguments of logic functions is greater than the
number of LUT inputs n, the logic function should be decomposed regarding the number of
arguments [36]. The most common decomposition methods are linear (serial) and parallel.
The length of the critical path of combinational part of FSM defines the speed of work
of an entire FSM. This parameter is equal to the number of logic elements participating in the
critical path. The maximum number of arguments Lmax of the logic functions implemented
in the combinational part of the FSM can be determined after state assignment and creating
transition functions. If the technological base of implementation is a FPGA device, the
length of the critical path is defined only by parameter Lmax . When the linear decomposition
is applied, it can be formulated as
The full critical path estimation process was fully presented in work [37].
d
∑ j=1 λ j = 1. (11)
d
Fλ = ∑ λ j Fj . (12)
j =1
where P̂i and Ŝi are normalized criteria parameters Pi and Si . The normalization is
performed to eliminate the influence of wide range of magnitudes for the considered
parameters. The normalization can be described by the formula
where Ki —one of considered criteria parameters (Pi or Si ), Kmax = 2·Ki , Kmin = 0. The
assumed values of Kmin and Kmax ensure that the initial value of the transformation quality
ratio will be equal to 0.5.
Appl. Sci. 2022, 12, 8134 7 of 19
The procedure of splitting the internal states of the FSM is reversible, hence the
(1) (2)
machine can return to its previous form by the merging of the states ai and ai into
Appl. Sci. 2022, 12, 8134 8 of 19
one state ai . After splitting, the number internal states are greater for the final FSM, but
the average number of the input vectors that cause the transitions to the state is lower.
Additionally, it is more feasible to assign the codes with a smaller value of the Hamming
distance, which causes the lower power consumption in the synthesized FSM.
After the merging phase, the subroutine for seeking states for splitting (building the
set D) is performed (line 23). If there is no possibility to split any states, the algorithm stops,
otherwise, the trial splitting is executed as follows. First, the present FSM is saved, splitting
is executed, then the states are encoded, and the critical path ratio of FSM is determined
(lines 25–34). Among all solutions, the one is selected for which the critical path ratio Si is
minimal. Then the real splitting is performed, and a selection of states for the next splitting
Appl. Sci. 2022, 12, 8134 10 of 19
is executed once more (lines 35–48). The final FSM form is the one with the lowest critical
path ratio from all considered equivalent forms during the work of the algorithm.
The splitting process may be divergent, and therefore the stop condition for splitting
is included in the algorithm. It is made in lines 35–40 of Algorithm 1, where the critical
path ratio Ss of the splitting FSM at this time is compared to the identical value determined
for the last completed splitting. If the splitting does not lead to a further decrease in the
critical path, it should not be executed.
In the split-then-merge (SM) strategy, there is always a splitting performed first, and
after all possible splits, the merging of states should be done. The algorithm for this strategy
can be obtained from Algorithm 1. The only operation which should be performed is to
replace lines 3–22 with lines 23–49 in Algorithm 1.
In the combined strategy (COMB), at each step, the trial merging and trial splitting is
performed. Then, the decision of which transformation (splitting or merging) finally should
be performed (depending on selected criteria) is made. The combined strategy with the
consideration of the balanced variant of optimization is described in the form of Algorithm 2.
Algorithm 2. Cont.
37: No_Split ← TRUE
38: END IF
39: END IF
40: IF Qi > TransformationRatio(best_FSM) THEN
41: best_FSM ← FSM
42: END IF
43: G ← FindMergePairs(FSM)
44: IF No_Split = FALSE THEN
45: D ← FindSplitStates(FSM)
46: ELSE
47: D←∅
48: END IF
49: END WHILE
50: END
At the start of Algorithm 2, an initial FSM form is stored as the best one (line 1).
Next, the subroutines for seeking couples for merging (building the set G) and states for
splitting (building the set D) are performed (lines 2–3). If merging or splitting the states
are impossible, the algorithm goes to the end, otherwise, the trial merging and splitting
procedures are executed as follows. At the beginning, the present FSM is stored and
next, merging or splitting procedures are executed, then the states are encoded, and the
transformation ratio of FSM is determined (lines 7–27). Among all solutions, the one is
selected for which the transformation ratio Qi = max(Qs , Qm ) is maximal, where Qs and
Qm are the transformation quality ratios for splitting and merging, respectively. Finally,
the real merging or splitting procedure is performed, and the subroutine for the selection
of states for the next merging or splitting is executed again (lines 40–47). The final FSM
form is the one with the highest transformation quality ratio from all considered equivalent
forms (lines 40–41).
The splitting process may be divergent, like in the previously mentioned strategies.
For that reason, the stop condition for splitting should be included. It is made in lines
32–38 of Algorithm 2.
After execution of one of the variants of the general algorithm of synthesis, the
minimization of the number of FSM transitions and minimization of the number of input
variables should be also made, if necessary, as it was explained in [39].
3. Results
The proposed three strategies for synthesis of FSMs were implemented as a part of a
system for the optimization of digital systems based on programmable logic devices. To
estimate the efficiency of the proposed strategies, we used MCNC FSM benchmarks [41].
Four methods of state assignment were investigated: binary, one-hot, JEDI (default output
dominant algorithm) [42] and power optimized sequential encoding [43]. For all three
strategies (MS, SM and COMB), three different optimization criterions were used: power
consumption, speed of operation and balanced variant with identical weights for power
and speed parameters (50%). If we also consider four types of encodings, we have 36
different variants of synthesis method considered in the paper.
The example experimental results for binary encoding and power oriented optimiza-
tion are presented in Table 1, where Name is a benchmark filename, C0 , S0 and P0 are,
respectively, the number of used logic elements (cost), maximum critical path described
by a number of logic levels (speed), and dissipated power in milliwatts of the initial FSM
before synthesis; C1 , S1 and P1 are, respectively, the cost, speed and dissipated power after
synthesis using the MS strategy; and C2 , S2 and P2 are, respectively, the cost, speed and
dissipated power after synthesis using the SM strategy. Finally, C3 , S3 and P3 are the same
parameters obtained using the COMB strategy. A power dissipation was evaluated using
the following values: output capacitance C = 3 pF, frequency f = 5 MHz, supply voltage
Appl. Sci. 2022, 12, 8134 12 of 19
VCC = 5 V, input probability P(xi = 1) = 0.5. Values of #MX and #SX are the numbers of
merges and splits performed during the procedure. Similar tables were made for other
variants, but only the statistical parameters are presented in this section.
Table 1. The experimental results for binary encoding and power-oriented optimization.
It can be seen in Table 1 that for power-oriented optimization in all investigated cases,
we have lesser or equal power consumption for the transformed FSMs than for the initial
FSM. It also can be noticed that the number of merges and splits depends on the used
strategy. It has the lowest average values for the MS strategy and significantly higher
values for the SM and COMB strategies.
To examine the efficiency of strategies with the application of different state assign-
ments and optimization directions, the gain/loss ratios were calculated. The gain/loss
ratio is a relation of value of the considered parameter for the initial FSM to value of the
considered parameter for the transformed FSM. The minimum, average and maximum
ratios for MS strategy are presented in Table 2. All values are the geometric mean of all
ratios calculated for each benchmark.
Table 2. The gain/loss ratios of results for merge-then-speed strategy.
For the MS strategy, the average results acquired using the presented method are
in all cases better than the results obtained for the initial FSM regarding the parameters
corresponding to the optimization direction (e.g., power to power direction) in all styles of
encoding used. It can be also noticed that the encoding type, in many cases, has a major
influence on the result obtained using a specific optimization variant. When the speed
optimization is used, the estimated power consumption significantly increases in many
cases. It confirms that these two directions contradict each other. Similar observations can
be made for other two strategies, the results of which are shown in Table 3 (SM strategy)
and Table 4 (COMB strategy).
The proposed strategies were also compared to methods described in our previous
works, where only the state merging procedure was considered. The results for the merging
strategy (M) are presented in Table 5. Additionally, besides the three described optimization
directions (power, speed and balanced), the state minimization direction [39] was examined.
As it can be noticed, adding the state splitting procedure to the method in most cases
increases the gain ratios for all examined parameters, i.e., power, speed, and area.
mization directions (power, speed and balanced), the state minimization direction [39]
was examined. As it can be noticed, adding the state splitting procedure to the method in
most cases increases the gain ratios for all examined parameters, i.e., power, speed, and
area.
Appl. Sci. 2022, 12, 8134 14 of 19
Table 5. The gain/loss ratios of results for merging only strategy.
(a) (b)
Figure 1. Comparison of average results: (a) for different strategies; (b) for different optimization
Figure 1. Comparison of average results: (a) for different strategies; (b) for different optimization
directions.
directions.
and P1 are,Crespectively,
encoding; ,
2 2F and P 2 the
are, same parameters
respectively, after
identical power
values direction
after using transformation
speed direction with
variant
with encoding;
JEDI one-hot encoding;
C2, F2 andand finally,
P2 are, C3 , F3 andidentical
respectively, P3 are, respectively, the same
values after using speedparameters
direction
after synthesis, using the balanced variant with binary encoding.
variant with one-hot encoding; and finally, C3, F3 and P3 are, respectively, the same pa-
The after
rameters comparison
synthesis,of using
average thevalues
balanced of all investigated
variant parameters
with binary encoding. for all scenarios
and variants in the case of using the Quartus Prime tool for implementation is depicted
in Figure 3. It can be noticed that the proposed strategies can be successfully used with
the Quartus Prime tool. The worst results were obtained using the power optimization
direction. Poor results in terms of power arise from the fact that the optimized power
parameter (dynamic power) is significantly less than the static device power and has
minimal influence on the total device power. Although all considered scenarios were
optimized for speed or power, the most significant gain was noticed for the area parameter.
39 359.32 135.13 58 317.56 132.59 39 359.32 135.13 39 359.32 135.13
66 420.88 132.1 66 423.73 132.11 64 418.06 133.99 70 360.36 132.12
216 157.23 143.14 158 187.06 143.12 176 200.56 135.16 171 191.31 143.38
27 513.61 134.12 24 534.76 136.34 25 460.62 136.35 28 577.37 136.36
43 308.17 137.38
Appl. Sci. 2022, 12, 8134 49 279.64 133.47 53 351.25 133.48 43 308.17 137.38 16 of 19
20 490.2 132.1 13 500 131.06 11 506.33 131.06 7 526.87 131.04
128 432.53 146.81 131 423.91 147.4 125 454.34 138.19 145 335.68 147.66
131 197.71 138.19 142Table193.84 138.22
6. The example 134 implementation
results after 195.16 138.21 183 Prime
using Quartus 190.73 138.4
tool for MS strategy.
364 168.8 147.58 443 152.95 148.14 346 169.87 147.61 432 151.91 148.27
328 162.84 147.61 Initial
364FSM 166.17 Power Direction
147.62 344 174.92 Speed
147.61Direction
408 159.41 Balanced
148.15
Default Encoding JEDI Encoding One-Hot Encoding Binary Encoding
46 358.29 135.83 45 347.58 131.84 46 321.23 135.82 45 316.56 131.83
Name C0 F0 P0 C1 F1 P1 C2 F2 P2 C3 F3 P3
135 173.55 136.79 127 175.25 137.76 127 193.5 136.84 121 176.55 136.48
BBARA 24 416.15 132.87 23 425.89 132.88 21 424.09 132.6 21 418.59 132.88
71 BBSSE648.09 142.7
37 79
332.01 515.46 40142.72387.9 71 135.59
135.57 641.85 40 140.28
386.55 77135.6 650.62
41 142.71
386.7 135.68
BBTAS
247 144.26 9
145.79 680.27 131.98
237 146.54 9146.13 693 131.98
212 161.08 10 657.03
145.72 131.98
208 160.08 11 657.89
145.86 131.99
BEECOUNT 31 392.62 131.71 28 471.92 133.07 25 472.81 134.07 22 471.48 133.93
221 CSE 164.1 140.45
108 218 135.46
225.02 178.57 94140.7191.2 198 135.48 189.86 97 140.75
215.56 183 133.18 199.48
118 140.8 131.64
201.09
37 DK14 332.01 135.57
39 40
359.32 387.9
135.13 58135.59317.56 40 132.59386.55 39 135.6
359.32 41
135.13 386.739 135.68
359.32 135.13
DK16 66 420.88 132.1 66 423.73 132.11 64 418.06 133.99 70 360.36 132.12
194 EX1 182.58 139.6
216 217 143.14
157.23 169.09 158139.65187.06 206 143.12 174.28176 139.59
200.56 207 135.16 171.03
171 139.57
191.31 143.38
19 515.2
EX4 132.07
27 9
513.61 577.7
134.12 24131.06534.76 8 136.34 577.03 25 131.05
460.62 7136.35 578.03
28 131.05
577.37 136.36
EX6 43 308.17 137.38 49 279.64 133.47 53 351.25 133.48 43 308.17 137.38
LION9 20 490.2 132.1 13 500 131.06 11 506.33 131.06 7 526.87 131.04
PLANET The128
comparison
432.53 of146.81
average 131values of all investigated
423.91 147.4 125 parameters
454.34 for all 145
138.19 scenarios
335.68and 147.66
S1 131 197.71 138.19 142 193.84 138.22 134 195.16 138.21 183 190.73 138.4
variants364
S1488 in the168.8
case of147.58
using the443 Quartus
152.95 Prime
148.14 tool346for implementation
169.87 147.61 is
432depicted
151.91 in 148.27
S1494
Figure 3.328It can162.84 147.61 that364
be noticed 166.17
the proposed 147.62
strategies344 can 174.92 147.61
be successfully 408
used 159.41 the 148.15
with
S27 46 358.29 135.83 45 347.58 131.84 46 321.23 135.82 45 316.56 131.83
Quartus135
S386 Prime173.55
tool. The worst 127
136.79 results175.25
were obtained
137.76 using the
127 193.5power optimization
136.84 121 direc- 136.48
176.55
S420 71 648.09 142.7 79 515.46
tion. Poor
S510 247
results in terms
144.26 145.79
of power
237
arise
146.54
from142.72
146.13
71
the fact 212
that 641.85
the 140.28
optimized
161.08 145.72
power77
208
650.62
parameter
160.08
142.71
145.86
(dynamic
S832 221power) 164.1is significantly
140.45 218 less178.57
than the140.7static device
198 power
189.86 and has minimal
140.75 183 influ- 140.8
199.48
SAND 37 332.01 135.57 40 387.9 135.59 40 386.55 135.6 41 386.7 135.68
SSEence on 194
the total
182.58device 139.6power.
217 Although
169.09 all considered
139.65 206 scenarios
174.28 were optimized
139.59 207 171.03 for 139.57
speed or19power,
TRAIN11 the most
515.2 132.07significant
9 gain
577.7 was noticed8for the
131.06 area parameter.
577.03 131.05 7 578.03 131.05
Figure 3. Comparison of average results after implementation using Quartus Prime tool.
Figure 3. Comparison of average results after implementation using Quartus Prime tool.
A similar comparison of average values of area, speed and power parameters for all
A similar comparison of average
scenarios and variants values of area,
in the case speed and power
of implementation parameters
using the foris all
Vivado tool presented
scenarios and variants in the case of implementation using the Vivado tool is presented inused in
in Figure 4. It can be noticed that the proposed strategies can be successfully
Figure 4. It can bemost casesthat
noticed alsothe
withproposed
the Vivadostrategies
tool. The worst
can beresults were obtained
successfully usedusing
in mosta balanced
optimization direction in terms of area, but it was not the optimization goal. Similarly, as
for the Quartus Prime tool, the lack of significant gain in terms of power is due to the fact
that the optimized dynamic power is considerably less than the total device power.
cases also with the Vivado tool. The worst results were obtained using a balanced optimi-
zation direction in terms of area, but it was not the optimization goal. Similarly, as for the
Quartus
Appl. Sci. 2022, 12, 8134 Prime tool, the lack of significant gain in terms of power is due to the fact that 17 of 19
the optimized dynamic power is considerably less than the total device power.
Author Contributions: Conceptualization, A.K. and V.S.; methodology, A.K.; software, A.K.; vali-
dation, A.K. and V.S.; formal analysis, V.S.; investigation, A.K.; writing—original draft preparation,
A.K.; supervision, V.S. All authors have read and agreed to the published version of the manuscript.
Funding: The work was supported by the WZ/WI-IIT/4/2020 grant from Bialystok University
of Technology and funded with resources for research by the Ministry of Education and Science
in Poland.
Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.
Data Availability Statement: The address of benchmark data set used in this paper is as follows:
https://ddd.fit.cvut.cz/www/prj/Benchmarks/MCNC.7z (accessed on 1 July 2022).
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Pfleeger, C.F. State reduction in incompletely specified finite state machines. IEEE Trans. Comput. 1973, C-22, 1099–1102. [CrossRef]
2. Pena, J.M.; Oliveira, A.L. A new algorithm for exact reduction of incompletely specified finite state machines. IEEE Trans.
Comput.-Aided Des. 1999, 18, 1619–1632. [CrossRef]
3. Gören, S.; Ferguson, F. On state reduction of incompletely specified finite state machines. Comput. Electr. Eng. 2007, 33, 58–69.
[CrossRef]
4. Rho, J.-K.; Hachtel, G.; Somenzi, F.; Jacoby, R. Exact and heuristic algorithms for the minimization of incompletely specified state
machines. IEEE Trans. Comput. Aided Des. 1994, 13, 167–177.
5. Avedillo, M.J.; Quintana, J.M.; Huertas, J.L. SMAS: A program for concurrent state reduction and state assignment of finite state
machines. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS), Singapore, 11–14 June 1991;
pp. 1781–1784.
6. Yuan, L.; Qu, G.; Villa, T.; Sangiovanni-Vincentelli, A. An FSM reengineering approach to sequential circuit synthesis by state
splitting. IEEE Trans. Comput. Aided Des. 2008, 27, 1159–1164. [CrossRef]
7. Grzes, T.N.; Solov’ev, V.V. Minimization of Power Consumption of Finite State Machines by Splitting Their Internal States.
J. Comput. Syst. Sci. Int. 2015, 54, 367–374. [CrossRef]
8. Avedillo, M.J.; Quintana, J.M.; Huertas, J.L. State merging and state splitting via state assignment: A new FSM synthesis algorithm.
IEE Proc. Comput. Digital Tech. 1994, 141, 229–237. [CrossRef]
9. Czerwinski, R.; Kania, D. Synthesis method of high speed finite state machines. Bull. Pol. Acad. Sci. Tech. Sci. 2010, 4, 635–644.
[CrossRef]
10. Glaser, J.; Damm, M.; Haase, J.; Grimm, C. TR-FSM: Transition-based reconfigurable finite state machine. ACM Trans. Reconfig.
Technol. Syst. (TRETS) 2011, 3, 23. [CrossRef]
11. Garcia-Vargas, I.; Senhadji-Navarro, R. Finite state machines with input multiplexing: A performance study. IEEE Trans. Comput.
Aided Des. Integr. Circ. Syst. 2015, 5, 867–871. [CrossRef]
12. Senhadji-Navarro, R.; Garcia-Vargas, I. High-performance architecture for binary-tree-based finite state machines. IEEE Trans.
Comput. Aided Des. 2018, 37, 796–805. [CrossRef]
13. Senhadji Navarro, R.; García Vargas, I. Finite Virtual State Machines. IEICE Trans. Inf. Syst. 2012, E-95-D, 2544–2547. [CrossRef]
14. Pedroni, V.A. Introducing deglitched-feedback plus convergent encoding for straight hardware implementation of asynchronous
finite state machines. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS), Lisbon, Portugal,
24–27 May 2015; pp. 2345–2348.
15. De Faria Barbosa, F.T.; De Oliveira, D.L.; Curtinhas, T.S.; De Abreu Faria, L.; De Souza Luciano, J.F. Implementation of Locally-
Clocked XBM State Machines on FPGAs Using Synchronous CAD Tools. IEEE Trans. Circuits Syst. I Regul. Pap. 2017, 64,
1064–1074. [CrossRef]
16. Solov’ev, V.V. Synthesis of Fast Finite State Machines on Programmable Logic Integrated Circuits by Splitting Internal States.
J. Comput. Syst. Sci. Int. 2022, 61, 360–371. [CrossRef]
17. Tao, Y.; Wang, Q.; Zhang, Y. Genetic Fuzzy c-mean clustering-based decomposition for low power FSM synthesis. In Proceedings
of the IEEE Congress on Evolutionary Computation (CEC), San Sebastian, Spain, 5–8 June 2017; pp. 642–648.
18. Tao, Y.Y.; Zhang, L.J.; Wang, Q.Y.; Chen, R.; Zhang, Y.Z. A multi-population evolution strategy and its application in low
area/power FSM synthesis. Nat. Comput. 2019, 18, 139–161. [CrossRef]
19. Li, S.; Choi, K. A high performance low power implementation scheme for FSM. In Proceedings of the International SoC Design
Conference (ISOCC), Jeju, Korea, 3–6 November 2014; pp. 190–191.
20. Riahi Alam, M.; Salehi Nasab, M.E.; Fakhraie, S.M. Power Efficient High-Level Synthesis by Centralized and Fine-Grained Clock
Gating. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2015, 34, 1954–1963. [CrossRef]
21. Nag, A.; Das, S.; Pradhan, S.N. Low-power FSM synthesis based on automated power and clock gating technique. J. Circuits Syst.
Comput. 2019, 28, 1920003. [CrossRef]
Appl. Sci. 2022, 12, 8134 19 of 19
22. Sait, S.M.; Oughali, F.C.; Arafeh, A.M. FSM State-Encoding for Area and Power Minimization Using Simulated Evolution
Algorithm. J. Appl. Res. Technol. 2012, 10, 845–858. [CrossRef]
23. Wang, L.-Y.; Chu, Z.-F.; Xia, Y.-S. Low Power State Assignment Algorithm for FSMs Considering Peak Current Optimization.
J. Comput. Sci. Technol. 2013, 28, 1054–1062. [CrossRef]
24. Kubica, M.; Opara, A.; Kania, D. Logic Synthesis Strategy Oriented to Low Power Optimization. Appl. Sci. 2021, 11, 8797.
[CrossRef]
25. Kajstura, K.; Kania, D. Low Power Synthesis of Finite State Machines State Assignment Decomposition Algorithm. J. Circuits Syst.
Comput. 2018, 27, 1850041. [CrossRef]
26. Xia, Y.; Almaini, A.E.A. Genetic algorithm based state assignment for power and area optimization. IEE Proc. Comput. Digit. Tech.
2002, 149, 128–133. [CrossRef]
27. Chaudhury, S.; KrishnaTejaSistla, K.T.; Chattopadhyay, S. Genetic algorithm based FSM synthesis with area-power trade-offs.
Integr. VLSI J. 2009, 42, 376–384. [CrossRef]
28. Chattopadhyay, S.; Yadav, P.; Singh, R.K. Multiplexer targeted finite state machine encoding for area and power minimization. In
Proceedings of the IEEE India Annual Conference, Kharagpur, India, 20–22 December 2004; pp. 12–16.
29. Aiman, M.; Sadiq, S.M.; Nawaz, K.F. Finite state machine state assignment for area and power minimization. In Proceedings of
the IEEE International Symposium on Circuits and Systems (ISCAS), Island of Kos, Greece, 21–24 May 2006; pp. 5303–5306.
30. Kubica, M.; Kania, D. Area-oriented technology mapping for LUT-based logic blocks. Int. J. Appl. Math. Comput. Sci. 2017, 27,
207–222. [CrossRef]
31. Barkalov, A.; Titarenko, L.; Mielcarek, K. Improving characteristic of LUT based Mealey FSMs. Int. J. Appl. Math. Comput. Sci.
2020, 30, 745–759.
32. Barkalov, A.; Titarenko, L.; Chmielewski, S. Improving Characteristics of LUT-Based Moore FSMs. IEEE Access 2020, 8,
155306–155318. [CrossRef]
33. Barkalov, A.; Titarenko, L.; Chmielewski, S. Mixed encoding of collections of output variables for LUT-based mealy FSMs.
J. Circuits Syst. Comput. 2019, 28, 1950131. [CrossRef]
34. Klimowicz, A. Area Targeted Minimization Method of Finite State Machines for FPGA Devices. In Computer Information Systems
and Industrial Management. CISIM 2018; Saeed, K., Homenda, W., Eds.; Lecture Notes in Computer Science 2018; Springer: Cham,
Switzerland, 2018; Volume 11127, pp. 370–379.
35. Klimowicz, A.; Grzes, T. Combined State Merging and Splitting Procedure for Low Power Implementations of Finite State
Machines. In Advances in Systems Engineering. ICSEng 2021; Borzemski, L., Selvaraj, H., Światek, ˛ J., Eds.; Lecture Notes in
Networks and Systems 2022; Springer: Cham, Switzerland, 2022; Volume 364, pp. 190–199.
36. Zakrevskij, A.D. Logic Synthesis of Cascade Circuits; Izdatel’stvo Nauka: Moscow, Russia, 1981. (In Russian)
37. Klimowicz, A. Combined State Splitting and Merging for Implementation of Fast Finite State Machines in FPGA. In Computer
Information Systems and Industrial Management. CISIM 2020; Saeed, K., Dvorský, J., Eds.; Lecture Notes in Computer Science;
Springer: Cham, Switzerland, 2020; Volume 12133, pp. 65–76.
38. Zadeh, L.A. Optimality and non-scalar-valued performance criteria. IEEE Trans. Automat. Control 1963, AC-8, 59–60. [CrossRef]
39. Klimowicz, A.S.; Solov’ev, V.V. Minimization of incompletely specified mealy finite-state machines by merging two internal states.
J. Comput. Syst. Sci. Int. 2013, 52, 400–409. [CrossRef]
40. Salauyou, V. Synthesis of High-Speed Finite State Machines in FPGAs by State Splitting. In Computer Information Systems
and Industrial Management. CISIM 2016; Saeed, K., Homenda, W., Eds.; Lecture Notes in Computer Science; Springer:
Berlin/Heidelberg, Germany, 2016; Volume 9842, pp. 741–751.
41. Yang, S. Logic Synthesis and Optimization Benchmarks User Guide. Version 3.0; Technical Report; Microelectronics Center of North
Carolina: Research Triangle Park, NC, USA, 1991.
42. Lin, B.; Newton, R.A. Synthesis of multiple level logic from symbolic high-level description languages. In Proceedings of the
International Conference on VLSI, Cambridge, MA, USA, 2–4 October 1989; pp. 187–196.
43. Grzes, T.N.; Solov’ev, V.V. Sequential algorithm for low-power encoding internal states of finite state machines. J. Comput. Syst.
Sci. Int. 2014, 53, 92–99. [CrossRef]