Research on Finite State Machine and Its Real Life Time Applications

Authors

  • Kirti Verma
  • Sateesh Kourav
  • Mukul Jangid
  • Uma Sahu
  • Neeraj Shivhare

Keywords:

Algorithm, Finite State Machine, Logic Circuit, Programming Language, Software engineering

Abstract

In computer science, finite-state machines are widely used to characterize application behaviour control theory, hardware digital system design, software engineering, compilers, network protocols, and computational linguistics. Finite state machines can illustrate a system in which certain inputs induce defined state changes. Finite state machines are used to test the formation of algorithmic patterns on the under-test circuit. A finite state machine is a system that has a finite number of states and can only be in one of them at any one moment. FSMs are used to model and control application and system behaviour. They are especially effective for modeling systems that have distinct states and transitions between them. They can, for example, be used to simulate the behaviour of a vending machine, with the states representing the various states of the machine. FSMs are critical in hardware design for regulating the functioning of digital circuitry. They aid in the design of sequential logic circuits like counters, controllers, and state machines. In software engineering, FSMs may be used to design and construct systems with distinct modes or states. A traffic light controller, for example, can be implemented in a software program utilizing an FSM to handle the various states of the traffic lights. Compilers frequently employ FSMs during the lexical analysis and parsing stages to discover and analyze programming language components. Lexical analysers utilize FSMs to scan source code and find tokens, whereas parsers use FSMs to generate the syntax tree. FSMs are used to manage communication between networked devices during network protocol design and implementation. These protocols often feature well-defined states and transitions based on the messages sent. FSMs are used in natural language processing and computational linguistics to model language structures, perform morphological analysis, and detect patterns in text or speech. FSMs are used to build algorithmic test patterns in hardware testing. A Mealy finite state machine (FSM) model can be used to explain sequential blocks in digital systems. The logic component count, frequency of operation, and power consumption of the FSM must all be kept to a minimum. The study presents a novel design method for maximizing LUT counts in Mealy FSMs using LUTs. In the testing, traditional benchmarks were used. The results of the experiments show that, when compared to current approaches for single-level FSM synthesis, the proposed solution reduces LUT counts by 12% to 59% on average. Furthermore, by 9% to 20%, our strategy beats the previous two-level FSM synthesis strategies. This enhancement is followed by a little decrease in FSM performance.

Published

2023-12-19

Issue

Section

Articles