A Software System For A Finite State Machine (FSM)
A Software System For A Finite State Machine (FSM)
https://doi.org/10.22214/ijraset.2022.44711
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
Abstract: A finite-state machine (FSM) is a computational mathematical model. For design and analysis, circuits and system
operations can be represented in a variety of ways. FSM is one of the methods for using a drawing to represent the operations of
many circuits and systems in electronic engineering, computer engineering, and so on. In terms of design, the finite state
machine is a very simple machine. It is made up of a set of input symbols, output symbols, and states that must be designed.
Furthermore, a function of input and output symbols with the current state to give the next state must be present. To simulate the
Finite State machine, a software simulator is implemented in this paper using the Visual Basic programming language (in terms
of design and operation).Several general examples are represented in this model. However, the software can be used to teach
students about FSM and how it works.
I. INTRODUCTION
The concept of Finite State Machine is one application of directed graph that is more useful than non directed graph. The directed
graph, denoted by "D," consists of two things: .
1) A 'V'-shaped set whose elements are known as vertices, points, or nodes.
2) Arcs are a set 'E' of ordered pairs of vertices.
A digital computer can be viewed as a machine that is in a "internal state" at any given time.
The computer "reads" an input symbol before "printing" an output symbol and changing its "state."
The output symbol is solely determined by the input symbol and the internal state of the machine, and the internal state of the
machine is solely determined by the previous state of the machine and the preceding input symbol.It is assumed that the number of
states, input symbols, and output symbols is finite.
A finite state machine can be defined and used to describe the
The technique for designing a finite state machine can now be addressed as follows:
a) Step1: Because FSM is frequently stated in terms of English-language particular to its behaviour in order to comprehend the
problem, it is critical that you interpret this explanation clearly. Try some input sequences for FSM to ensure that you
understand the conditions under which the various outputs are produced.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 797
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
b) Step2: FSM's abstract representation is obtained. Once you've grasped the problem, you'll need to put it into a format that the
FSM processes can easily handle.A state diagram is a specification in hardware description languages that represents an
algorithmic state machine.State diagrams are a graphical representation of an FSM's design.
c) Step3: It performs a state minimization step before deriving the abstract representation, which frequently results in a description
with too many states paths through the state machine that can be eliminated because their input/output behaviours are
duplicated by other functionally equivalent paths, and this is a new step that isn't required in the simpler counter design process.
d) Step4: It conducts state assignment in the opposite direction of the state, and the output was identical, so there was no need to
worry about encoding a specific state output that is derived from the bit stored in state flip-flops (plus the input).
e) Step5: To choose the types of flip-flops to implement the FSM state, which is the same as the decision made during the counter
design procedure.
In a nutshell, a Finite State Machine (FSM) is a model of behaviour made up of a finite number of states, transitions between them,
and optional actions. The transition function, which is dependent on the input symbol, manages the transitions between states
(event).
Buttons:
f) "Save current state": this option is for saving the raw data entered in the edit boxes described above. When the user presses this
button, the data is saved as raw in the matrix within the software.
g) "enter next state": this button is for entering the above-mentioned raw data.
h) "see FSM": this button displays the data that has been input and saved in the matrix. (See Fig. 4 for further information.)
i) "draw FSM": this button displays the FSM digraph based on the information supplied. (As seen in Fig. 5)
j) "draw all FSM": this button is used to show some examples that have been saved in the software for one, two, three, and five
states.
k) "Exit": this button is designed to exit from the software when the user wants to exit.
l) "Clear All": this button is deigned to clear all edit boxes and screens.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 798
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
V. CONCLUSION
1) In general, the five factors must be valid in order for FSM to represent any circuit or system. However, the input and/or output
may be absent in some circuits and systems.
2) Any type of symbol can be used for input/output and state; binary numbers can also be used.
3) The graphic tools (functions) in the programming language are used to implement software. These tools will have an immediate
impact on implementation and modification.On the other hand, the programmer should be able to use the tools with caution.
4) The number of (input, output) symbols and states is finite, but by tweaking the programme, it is possible to make it endless.
5) The programme that has been built can be utilised to teach students about FSM concepts and principles.
6) This software is easy to use and is regarded as a primary version of FSM-related integrated software.
q0 a x q0
q0 b y q0
q0 a y q1
q1 b x q0
q3 a x q1
q2 b x q2
q0 a y q2
q3 a x q4
q3 b y q2
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 799
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 800
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 801
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 802
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 803
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 804
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue VII July 2022- Available at www.ijraset.com
REFERENCES
[1] Kolman, Bernard, and C, Robert, (1984), "Discrete Mathematic Structure for Computer Science", Busby Prentice Hall Inc..
[2] Deyin, JIN , and Yuji, ITO, (October 2008 ), "Application of Finite State Machine Theory to the Simulation of Reversed Non-Linear Hysteretic
Relationships", TSINGHUA SCIENCE AND TECHNOLOGY ISSN1007-0214 08/67, Volume 13, Number S1, pp46-
52,http://qhxb.lib.tsinghua.edu.cn/myweb/english/2008/2008es1/46-52.pdf
[3] F. Wagner, (2006), "Modeling Software with Finite State Machines: APractical Approach", New York,USA:AuerbachPublications,ISBN0-8493-
8086-3.http://is.ifmo.ru/.../modelingsoftwarewithfinitestatemachinesapracticalappro ach.pdf
[4] Hendry, Dr DC, (March 9, 2006), " Finite State Machine Design", internet document, http://www.abdn.ac.uk/~eng186/eg3560/presentation12.pdf.
[5] Zolt_an Juh_asz, _Ad_am Sipos, and Zolt_an Porkol_ab, (2005), "Implementation of a Finite State Machine with Active Libraries in C++?", H-
1117 Budapest, P_azm_any P_eter s_et_any 1/C. http://aszt.inf.elte.hu/~gsd/s/cikkek/alistair/active.pdf
[6] Mano, M. Morris, (1999), "Digital Design", Second Edition, Prentice, Hall Inc.
©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 805