Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

Minimization of Moore incompletely specified finite state

machines by merging two states


The minimization problem of an incompletely specified finite state machine (ISFSM) is an
important task in the optimization of sequential circuit design. The minimization of Moore
ISFSM often arises during designing based on new structural models of a programmable logic.
In this paper, a heuristic method for minimization of Moore ISFSM with unspecified values of
output variables is presented. The proposed method is based on merging two states. In addition
to reduction of the FSM states, the method also allows reducing the number of transitions and
input variables of FSM. A transition list is used for describing an FSM, so the method can be
used for the minimization of FSMs of very large sizes. The proposed method allows reducing the
number of internal states of the initial FSM on average by 1.36 times, and on occasion by 2.17
times. The average reduction of the number of FSM transitions is 1.91 times, and on occasion
7.97 times.

1. Introduction
A finite state machine (FSM) is a model used for the development of various
computation structures like sequential circuits, digital control systems, microprocessor control
circuits, digital communication systems, iterative networks, communication protocols, etc. For
various reasons the transitions between FSM states or FSM outputs are not completely specified.
An incompletely specified FSM (ISFSM) is one where either the next state or the output is not
specified for at least one input vector. A minimization of ISFSMs is an important task in the
optimal design of sequential circuits.
A general theory for incompletely specified machines was first developed in [1]. The
standard approach to the problem of ISFSM’s state reduction is based on a generation of sets of
compatible states (or compatibles) and the finding of a minimal closed cover. The problem of
minimization of ISFSMs is an NP-complete problem [2] and has been studied by several authors
[3-9]. In [3], prime classes are proposed and the minimization problem is solved by using an
integer linear programming approach. The exact and heuristic algorithms of FSM minimization
for using in practice are proposed in [4]. In [5], a program called STAMINA is presented; it runs
in exact and heuristic modes using explicit enumeration for the state minimization problem. An
exact state minimization technique using implicit enumeration of the compatibles is considered
in [6]. In [7], an exact state minimization algorithm based on mapping ISFSMs to tree FSMs is
presented. A heuristic called void that follows a strategy of handling the closure condition first
and satisfying the cover condition afterwards is proposed in [8]. In [9] a branch-and-bound
search technique for identification of sets of compatible states is described.
A new impulse to the development of the FSM theory was given by the modern circuitry
based on programmable logic such as Field Programmable Gate Array (FPGA), Complex
Programmable Logic Device (CPLD), and System on Programmable Chip (SOPC) [10]. The
new FSM’s structural models and methods for their synthesis were developed [11-13]; they
provide for efficient application of the architectural capabilities of modern programmable logic.
However, a necessary condition for the application of new synthesis methods is the requirement
that an FSM must be of a certain type: an automata Mealy [14] or an automata Moore [15].
Known programs of minimization of FSM internal states, for example the program STAMINA
[16], do not distinguish automaton types (Mealy or Moore). So after minimization, a Moore
automaton may be converted into a Mealy-type one. Therefore, the development of efficient
methods for minimization of large-size ISFSMs that do not change the type of the original FSM
is a topical problem. In other words, if the original FSM is a Moore one, its must remain a Moore
FSM after the minimization.
In this paper, a heuristic method for minimizing Moore ISFSMs with unspecified values
of the output variables is proposed. The presented method guarantees that after minimization an
FSM does not change its type. The method is based on an operation merging of two states. In
addition to reducing internal states, this method minimizes the number of FSM transitions and
FSM input variables. Moreover, to represent the FSM, a transition list is used, unlike the
traditional approaches that use flow and output tables. The use of the transition list instead of the
traditional flow and output tables allows applying this method for the minimization of FSMs of a
very big size. Note, the transition list is widely applied to describe FSM behavior in most
hardware description languages, such as VHDL, Verilog, AHDL, etc. A similar task for
completely specified FSMs has been considered in [17,18] (for automata Mealy) and [19,20] (for
automata Moore). The method of splitting internal states [21] is used for the transformation of
Mealy FSM to Moore FSM.
This paper is organized as follows. The preliminaries and a main strategy of the offered
approach are presented in Section 2. Problems of two states merging as well as the generation of
wait states at the state merging are considered in Section 3. A general algorithm for ISFSM
minimization is presented in Section 4 and various minimization algorithms are described here
too. Experimental researches are analyzed in Section 5. Finally, concluding remarks and future
work are discussed in Conclusions.

2. Preliminaries
An ISFSM can have incompletely specified outputs and incompletely specified
transitions between states. The incompletely specified outputs take place when a value of the
output variable does not influence on the functioning of the controlled object, for example, when
a carry voltage is not applied to the control object. The incompletely specified transitions arise
when the separate values of the input vectors never appear on the FSM inputs, for example, the
codes of hexadecimal figures A-F at work in a decimal notation.
In practice, designers usually redefine the unspecified transitions by transitions to a
present state, or to a reset state, or to an additional state, where an error signal is generated. It is
an increase of the functional reliability for the digital systems. In the offered approach, we define
the unspecified values only of the output variables and we keep the unspecified transitions
without any changes.
By L denote the number of FSM input variables of a set X = {x1,…,xL}, by N denote the
number of FSM output variables of a set Y = {y1,…,yN}, by M denote the number of FSM internal
states of a set A = {a1,…,aM}, and by R denote the minimal number of bits required to encode
internal states, where R = intlog2M.
An FSM behavior is described by the transition list. The transition list is a table with four
columns: am, as, X(am,as), and Y(am,as). Each row of the transition list corresponds to one the FSM
transitions. Column am contains the state where the transition begins (a present state), column as
contains the state where the transition ends (a next state), column X(am,as) contains the set of
values of the input variables that initiates this transition (a transition condition or a input vector),
and column Y(am,as) contains the set of values of the output variables that is generated by the
FSM at this transition (a output vector). Since in a Moore FSM output variables depend on the
present state only, the last column for Moore FSMs is often denoted as Y(am).
An ISFSM output vector is represented by ternary vector. For example, Y(am)=”01-0”,
where 0 denotes a zero value, 1 denotes a unity value, and dash (“-“) denotes a don’t care value
of correspondent output variable.
Let P(ai) be a set of the transitions from the state ai, let C(ai) be a set of the transitions to
state ai, let A(ai) be a set of the next states for the transitions from state ai, and let Z(ai) be a set of
the transition conditions from state ai, ai  A.
Let zh be any transition condition from state ai, zh  Z(ai), ai  A. The transition condition
may be described in column X(am,as) in the form of a conjunction of FSM input variables. The
transition condition can also be represented by a ternary vector. For example, zh = “1-10-0”
where the unit (1) means that the corresponding input variable is included in conjunction with
the direct form, zero (0) means that the corresponding input variable is included in conjunction
with the inversed form, and dash (“-“) means that the value of the input variable does not affect
the FSM transition. Since FSM behavior must be deterministic, all transition conditions from
every FSM state should be mutually orthogonal.
Definition 1 Two transition conditions are orthogonal if they have different significant
values (0 or 1) in at least one position.
For instance, the transition conditions z1 = “00-10-“ and z2 = “11-10-“ are orthogonal
while z1 and z3 = “000101“ are not. The ternary vector of dashes only corresponds to the FSM
unconditional transition.
Two FSM states can be merged, i.e. ai and aj replaced by one state ai_j, if they are
equivalent. An equivalency of the FSM states means that FSM behavior does not change after
these states are merged. FSM behavior does not change after the states ai and aj are merged if the
transition conditions from states ai and aj that lead to different states are orthogonal. If there are
the transitions from states ai and aj that lead to the same states, the transition conditions for such
transitions should be equal. Moreover, the output vectors that are generated in states ai and aj
should not be orthogonal. Notice, that wait states can be formed at the merging of FSM states.
The main strategy of the offered approach consists in a finding of set D of all pairs of the
FSM states for which the merging conditions are satisfied. Then for each pair of states of set D, a
trial merging is carried out. From set D, such the pair (ai,aj) is selected for merging, that it leaves
the greatest possibilities for merging of other pairs of the FSM states. The given process repeats
until it is possible to merge at least one pair of the FSM states.

3. Merging of two states and formation of wait states


Let us consider in more detail the merging of two FSM states. The necessary condition
for merging of two states ai and aj , ai, aj  A, of a Moore ISFSM is as follows:
Y(ai)  Y(aj), (1)
where the sign “  ” means negation, and the sign “  ” designates the orthogonality of the
output vectors Y(ai) and Y(aj). In other words, the output vectors that formed in states ai and aj
should not be orthogonal.
In case of merging of two states for which condition (1) is satisfied, however Y (ai) ≠ Y
(aj), in new state ai_j the output vector don’t care values of one of the state can redefined the
significant values (0 or 1) of the other state and on the contrary. For example, let Y(ai) =”010--”
and Y(aj) =”-10-0”, and let states ai and aj assume the merging, then the output vector Y(ai_j)
=”010-0” will be formatted in new state ai_j. Note that for completely specified Moore FSM, the
necessary condition for merging of two states requires that the output vectors agree exactly in
these states [20].
The sufficient condition for merging of two states ai and aj , ai, aj  A, of a Moore ISFSM
is performing the following conditions:
X(ai,as)  X(aj,at) for  as ≠ at, as  A(ai), at  A(aj) and (2)
X(ai,as) = X(aj,at) for  as = at, as  A(ai), at  A(aj).
The first relation in (2) says that the transition conditions from states ai and aj in various states
should be orthogonality. The second equality in (2) demands that the transition conditions from
states ai and aj in the same states should be identical. Various situations which arise at merging
of two states are considered in more details in [20].
Wait states can be formed as a result of merging of two states.
Definition 2 A wait state is an FSM internal state such that a transition (or several
transitions) from it leads to this state.
Obviously, if at merging of states ai and aj one of them is a wait state (or both states are
wait states), the combined state ai_j is the wait state as well. When two states ai and aj are merged,
a wait state is formed without fail if one of the states ai and aj (or both states ai and aj) belongs to
set A(ai)  A(aj).
If X(ai,ah) = X(aj,at) and ah ≠ at, the states ai and aj can be merged under the condition that
ah = ai and at = aj or (3)
ah = aj and at = ai.
In these cases, merging states ai and aj generates the wait state. The cases of wait states
formation at the merging of two states are considered in more details in [20].

4. The method for Moore ISFSM minimization


Taking into account the above-stated the general algorithm of Moore ISFSM
minimization looks as follows.
Algorithm 1 (general algorithm of Moore ISFSM minimization)
1. Perform algorithm 2 to choice a state pair (ai,aj) for merging (ai, aj  A). If such a pair is
found, go to Step 2. Otherwise, go to Step 3.
2. Perform algorithm 3 to merge the state pair (ai,aj); go to Step 1.
3. Perform algorithm 4 to minimize the number of FSM transitions.
4. Perform algorithm 5 to minimize the number of FSM input variables.
5. End.
It is obvious that a merging of some pairs of states (ai,aj) affects the possibilities of
merging for other FSM states. As a result, in the offered algorithm 2, for choosing a pair (ai,aj)
for merging, the best possibilities for merging of the other states are provided.
Algorithm 2 (choosing a state pair for merging)
1. Perform algorithm 6 to find set D of the state pairs which meet the conditions for
merging. If D = Ø, then there is not pair for merging, go to Step 7. Otherwise, setting
K := 0.
2. Elements of set D are sequentially considered.
3. For the next state pair (as,at) ((as,at)  D), a trial merging is carried out.
4. By algorithm 6 a set Dst of the state pairs is found, which supposes merging after the pair
(as,at) has been merged.
5. If |Dst‌| > K, where |A| is a set potency A, then setting K := |Dst‌|, and (ai,aj) := (as,at).
Steps 3-5 are carried out for all elements of set D.
6. The pair (ai, aj), defined in Step 5, is chosen for merging.
7. End.
In algorithm 2 for merging, such a pair (ai,aj) gets out for which the set potency of state
pairs, which suppose merging after merging the pair (ai,aj), is maximum. Thus, the chosen pair
(ai,aj) provides the best possibilities for merging of the other states.
The algorithm used to merge two states ai and aj in Step 2 of algorithm 1 is described
below.
Algorithm 3 (merging of the state pair)
1. Introduce a new state ai_j, setting: Y(ai_j) := Y(ai)  Y(aj), and A(ai_j) := A(ai)  A(aj).
2. Exclude states ai and aj from the set of FSM states and include state ai_j into it, setting: A
:= A \ {ai}; A := A \ {aj}; and A := A  {ai_j}.
3. Perform a correcting of the transition list which corresponds to Step 1 and 2 of this
algorithm.
3.1. Setting C(ai_j) = C(ai)  C(aj). To do this, replace states ai and aj by state ai_j
everywhere in column as of the transition list.
3.2. Setting P(ai_j) = P(ai)  P(aj). To do this, replace states ai and aj by state ai_j everywhere
in column am of the transition list.
3.3. If identical transitions are generated in the transition list, leave only one of them,
excluding all others.
4. End.
After merging of the FSM states, there can be a possibility to reduce the number of FSM
transitions. Suppose, for instance, one transition from state a1 under the condition x1 leads to state
a2 and the second transition from state a1 under the condition x 1 leads to state a3 and on each of
these transitions no orthogonal output vectors are formed. We assume that state a2 and a3 can be
merged. After state a2 and a3 have merged, a new state a2_3 is formed. Now, two transitions lead
from state a1 to state a2_3, one under the condition x1 and the second under the condition x 1. The
latter means that the transition from state a1 to state a2_3 is unconditional and two transitions can
be replaced by one unconditional transition. Notice that in general cases the transition conditions
from state a1 can be much more difficult.
From the above discussion, the number of FSM transitions in Step 3 of algorithm 1 is
minimized via the algorithm described below.
Algorithm 4 (minimizing the number of FSM transitions)
1. Consider the group of transitions P(ai) from some state ai (ai  A).
2. If there are more than one transition into the same state aj (aj  A(ai)), determine the set
Z(ai,aj) of the transition conditions from state ai to state aj.
3. Using the set Z(ai,aj), the Boolean function B(ai,aj) is formed to express the transition
condition from state ai to state aj. To do it, all elements of the set Z(ai,aj) are combined
via a logic OR operation:
B(ai,aj) = z1 + z2 + … + zK,
where the sign “+” designates the logical OR operator (zk  Z(ai,aj), K = | Z(ai, aj) |).
4. The shortest (with the smallest number of minterms) disjunctive normal form (DNF) of
function B(ai,aj) is determined via one of the known method, for instance [22].
5. For the shortest DNF of function B(ai,aj), the set Z*(ai,aj) of the minterms is found.
6. If
| Z*(ai,aj) | < | Z(ai,aj) |,
holds, the transitions corresponding to the conditions of the set Z(ai,aj) from the group of
transitions P(ai) are replaced by the transitions corresponding to the conditions of set
Z*(ai,aj).
7. Perform Steps 1-7 of this algorithm for all states of set A.
8. End.
At minimization of the number of FSM transitions, the situation when particular input
variables have no impact on the transition conditions can happen. Suppose, for instance, one
transition from state a1 under the condition x1 leads to state a2, and the second transition from
state a1 under the condition x 1 leads to state a2, and the variable x1 does not meet any more of
the transition conditions of the FSM. We assume that after the states a2 and a3 were merged, the
transition from state a1 to state a2_3 became unconditional, i.e., this does not depend on the values
of any input variables. The latter means that the variable x1 does not have an impact on any FSM
transition and it is unnecessary.
According to the above, minimization of the number of FSM input variables performed
in step 4 of algorithm 1 is done by the following algorithm.
Algorithm 5 (minimizing the number of FSM input variables)
1. Consider FSM input variable xi (xi  X).
2. Check whether the variable xi is in column X(am,as) of the transition list (in direct or
inversed form).
3. If column X(am,as) of the transition list does not contain the variable xi, the input variable
xi is excluded from set X of the FSM input variables. Setting X := X \ {xi}.
4. Perform Steps 1-3 of this algorithm for all FSM input variables of set X.
5. End.
Remark 1 Although algorithm 4 and 5 are used to minimize the number of transitions
and input variables in this method of Moore ISFSM minimization, they can also be applied
independently.
The algorithm for finding set D of the state pairs which meet the conditions for merging
into one state is described as follows.
Algorithm 6 (finding set D of state pairs for merging)
1. Setting D := Ø, where Ø is an empty set.
2. All state pairs (ai,aj) of set A are sequentially considered (ai ≠ aj, ai, aj  A). If all
possible state pairs (ai, aj) have been considered, go to Step 10.
3. If for the state pair (ai, aj) the condition (1) is not carried out (i.e. the necessary condition
is not carried out for merging states ai and aj), then go to Step 2 for choosing the next
state pair.
4. For the states ai and aj, the sets Z(ai) and Z(aj) are determined.
5. For the sets Z(ai) and Z(aj), all possible pairs of the transition conditions (X(ai,ah),
X(aj,at)) are sequentially considered (X(ai,ah)  Z(ai), X(aj,at)  Z(aj)). If all pairs
(X(ai,ah), X(aj,at)) of the elements of the sets Z(ai) and Z(aj) have been considered, then
the merging conditions are met for the states ai and aj, setting D := D  (ai,aj), go to Step
2.
6. The conditions (2) of the orthogonality for the transition conditions X(ai,ah) and X(aj,at)
are verified. If the transition conditions X(ai,ah) and X(aj,at) are orthogonal, go to Step 5
to consider the next pair of transition conditions (X(ai,ah), X(aj,at)).
7. If X(ai,ah) ≠ X(aj,at), then (at transitions to different states the transition conditions from
states ai and aj are not orthogonal and not identical) the conditions of merging are not
met for the states ai and aj, go to Step 2.
8. We have X(ai,ah) = X(aj,at). If as = at (i.e. the second condition in (2) is carried out), then
go to Step 5.
9. We have X(ai,ah) = X(aj,at), but ah ≠ at. Check the conditions (3) for generating a wait
state. If the conditions (3) are met, then go to Step 5; otherwise, go to Step 2.
10. End.
Example
Suppose we need to minimize the Moore ISFSM given by the graph in Fig.1, where the
transition conditions are assigned to the graph arcs and the formed output vectors are assigned to
the graph vertices. Table 1 represents the FSM transition list. The initial FSM has the following
parameters L = 3, N = 2, M = 5, R = 3, and Q = 10, where Q is the number of FSM transitions.
Notice that in states a2 and a3, the output vectors have unspecified values: in state a2 the output
vector is “-0” and in state a3 the output vector is “1-”. Moreover, for transitions from states a2
and a3 the FSM transitions are not specified for a transition condition “-11”.
In Step 1 of algorithm 2, the state pair for merging is chosen by algorithm 6. Among all
the FSM state pairs, the necessary condition (1) for the possibility of merging is carried out for
the following pairs: (a1,a2), (a1,a3), (a2,a3), and (a3,a5). However, only for the pair (a2,a3) the
sufficient condition (2) is carried out. Therefore the state pair (a2, a3) will be chosen for merging
as a result of the work of algorithm 6.
The merging of states a2 and a3 is performed by algorithm 3. As result of merging states
a2 and a3, the new state a2_3 is formed and an output vector “10” is generated in the state a2_3.
Table 2 represents the transition list after merging states a2 and a3. Notice that two transitions
lead from state a1 to state a2_3: on the condition “1—“ and on the condition “0—“. Because it is
possible to minimize the number of FSM transitions. As result of applying algorithm 4, two
conditional transitions from state a1 to state a2_3 are replaced by one unconditional transition. The
minimization of FSM transitions causes a situation when input variable x1 does not influence any
of the FSM transitions. Therefore, as a result of applying algorithm 5, this variable x1 is
eliminated from set A of the FSM input variables.
The FSM graph obtained after minimization is shown in Fig.2 and its transition list is
given in Table.3. After minimization, the FSM has the following parameters: L = 2, N = 2, M =
4, R = 2, and Q = 6. Thus, the proposed minimization method for Moore ISFSM makes it
possible not only to reduce the number of FSM states, but also reduce the number of FSM
transitions (from 10 to 6) and reduce by unity the number of FSM input variables.

5. Experimental researches
The proposed method for minimization of Moore-type ISFSM was implemented in a
program called ZUBR [23]. To verify the efficiency of the offered method, the MCNC
benchmarks [16] of FSMs are used. The experimental results are presented in Table 4, where
Name is the name of the benchmark example; L, N, M0, and P0 are, respectively, the number of
inputs, outputs, internal states, and transitions of the initial FSM; M1, and P1 are the number of
internal states, and transitions of FSM after the transformation of the type Mealy automata to the
type Moore automata [21]; M2, and P2 are the number of internal states and transitions of FSM
after applying the proposed method; M1/M2, and P1/P2 are rations of the corresponding
parameters; and mid is the arithmetic mean value.
The analysis of Table 4 shows that the application of the proposed method allows
reducing the number of internal states of the initial FSM on average by 1.36 times, and on
occasion (an example train11) by 2.17 times. Similarly, the average reduction of the number of
FSM transitions is 1.91 times, and on occasion (an example tbk) 7.97 times.

Conclusions
In this paper, a heuristic method for minimization of Moore ISFSM with unspecified
values of the output variables has been considered. The main feature of the given approach is
that it does not change the type of FSM (as the program STAMINA), i.e. after minimization the
FSM remains a Moore-type FSM. In the proposed method, the initial FSM is represented by the
transition list and the minimization of the FSM states is performed by merging of two states, so it
allows applying this method for the minimization of FSMs of a very large size. In contrast to
traditional approaches, the proposed method allows minimizing not only the number of FSM
states, but also the number of FSM transitions and input variables. The efficiency of the
proposed method was verified by the results of the experimental researches for MCNC FSM
benchmarks. This method allows reducing the number of FSM states on average by 1.36 times
(on occasion by 2.17 times) and the number of FSM transitions on average by 1.91 times (on
occasion by 7.97 times).
The application of the given method during digital system design on programmable logic
will be favorable to decreasing the cost, and lowering power, as well as to increasing the speed
for FSM realization.
The presented method can be modified for the merging possibility of a group of states
consisting of more than two states. Besides, further perfection of the presented algorithm can go
by the way of a consideration of incompletely specified values for the transition functions as
additional conditions for the merging possibility of FSM internal states.

Acknowledgments
This study was supported in part by the Bialystok University of Technology, Faculty of
Computer Science, Bialystok, Poland, grant no. S/WI/4/2008.

References
1. Paull M.C., Unger S.H. Minimizing the number of states in incompletely specified
sequential switching functions. IRE Transactions on Electronic Computers, 1959, Vol.
EC-8, No. 3, pp. 356-367.
2. Pfleeger C.P. State reduction in incompletely specified finite-state machines. IEEE
Transactions on Computers, 1973, Vol. C-22, No. 12, pp. 1099-1102.
3. Grasselli A., Luccio F. A method for minimizing the number of internal states in
incompletely specified sequential networks. IEEE Transactions on Electronic Computers,
1965, Vol. EC-14, No. 3, pp. 350-359.
4. De Micheli G. Synthesis and optimization of digital circuits. New York: McGraw Hill,
1994.
5. Rho J.-K., Hachtel G.D., Somenzi F., Jacoby R.M. Exact and heuristic algorithms for the
minimization of incompletely specified state machines. IEEE Transactions on Computer-
Aided Design of Integrated Circuits and Systems, 1994, Vol.13, No. 2, pp. 167-177.
6. Kam T., Villa T., Brayton R., Sangiovanni-Vincentelli A. Synthesis of FSMs: functional
optimization. Norwell, MA: Kluwer Academic Publishers, 1997.
7. Pena J.M., Oliveira A.L. A new algorithm for exact reduction of incompletely specified
finite state machines. IEEE Transactions on Computer-Aided Design, 1999, Vol. 18, No.
11, pp. 1619-1632.
8. Ahmad I., Das A.S. A heuristic algorithm for minimization of incompletely specified
finite state machines. Computers and Electrical Engineering, 2001, Vol. 27, pp. 159-172.
9. Gören S., Ferguson F. On state reduction of incompletely specified finite state machines.
Computers and Electrical Engineering, 2007, Vol. 33, No. 1, pp. 58-69.
10. Solov’ev V.V., Vasil’ev A.G. A programmable logic and its applications. – Minsk,
Byelorussian Science, 1998, 270 p.
11. Solovjev V., Chyzy M. Models of the finite state machines // Proc. of the Sixth Int. Conf.
on Methods and Models in Automation and Robotics (MMAR 2000), 28-31 August
2000, Miedzyzdroje, Poland, Vol 2, pp. 909-914.
12. Solovjev V. Synthesis of sequential circuits on programmable logic devices based on new
models of finite state machines // Proc. of the Euromicro Symposium on Digital System
Design (DSD’2001), 4-6 September 2001, Warsaw, Poland, pp. 170-173.
13. Solov’ev V. Digital systems design based on a programmable logic. – Moscow, Hot Line
– Telecom, 2001, 636 p.
14. Mealy G.H. A method for synthesizing sequential circuits // Bell System Technical
Journal. 1955. Vol.34. pp. 1045-1079.
15. Moore E.F. Gedanken-experiments on sequential machines // In C. Shannon and J.
McCarthy editors / Automata Studies. Princeton University Press. 1956. pp. 129-153.
16. Sentovich E.M., Singh K.J., Lavagno L., et al. SIS: A system for sequential circuit
synthesis // Memorandum No. UCB/ERL M92/41, Electronics Research Laboratory,
Department of Electrical Engineering and Computer Science, University of California,
Berkley, May 1992. – 45 p.
17. Solov’ev V.V. Minimization of Mealy finite state machines via internal state merging //
Journal of Communications Technology and Electronics, 2011, Vol. 56, No. 2, pp. 207-
213.
18. Klimovich A.S., Soloviev V.V. Minimization of Mealy finite-state machines by internal
states gluing // Journal of Computer and System Sciences International, Vol. 51, No. 2,
2012, pp. 244-255.
19. Solov’ev V.V. Minimization of Moore finite automata by internal state gluing // Journal
of Communications Technology and Electronics, 2010, Vol. 55, No. 5, pp. 584-592.
20. Klimovich A.S., Solov’ev V.V. A method for minimizing Moore finite-state machines by
merging two states // Journal of Computer and System Sciences International, Vol. 50,
No. 6, 2011, pp. 907-920.
21. Klimivich A.S., Solov’ev V.V. Transformation of a Mealy finite-state machine into a
Moore finite-state machine by splitting internal states // Journal of Computer and System
Sciences International, Vol. 49, No. 6, 2010, pp. 70-79.
22. Zakrevskij A.D. Logic synthesis of cascade circuits. – Moscow, Science, 1981. – 414 p.
23. Salauyou V., Klimowicz A., Grzes T., Bulatowa I., Dimitrowa-Grekow T. Synthesis
methods of finite state machines implemented in package ZUBR // Proc. of the Sixth
International Conference Computer-Aided Design of Discrete Devices (CAD DD’7),
November 14-15, 2007, Minsk, Republic of Belarus, pp. 53-56.
24. Yang S. Logic synthesis and optimization benchmarks user guide. Version 3.0. Technical
Report. North Carolina. Microelectronics Center of North Carolina. 1991. – 43 p.

You might also like