Design of Robust Fault-Tolerant Finite-State Machines for Unmanned Aerial Vehicles
Abstract
1. Introduction
- At the inputs: an invalid input vector X;
- In the state register Rs or in the feedback loop: an invalid code state of the present state;
- In the logic λ: generation of an invalid code next for the next state;
- In the logic δ or at the FSM outputs: generation of an invalid output vector Y.
- Structural models of FTFSMs for detecting specific faults, a generalized FTFSM structure, and a CED circuit structure;
- A method for synthesizing FTFSMs, which includes an algorithm for operating a CED circuit and an algorithm for synthesizing a generalized FTFSM structure;
- Experimental studies demonstrating the effectiveness of the proposed approach when FTFSM states are encoded using one-hot and binary codes;
- A technique for calculating the probability of fault detection when implementing an FTFSM in an FPGA using one-hot and binary state encoding;
- Recommendations for the practical application of the proposed approach to designing robust FTFSMs.
2. Related Works
- In the input vector X;
- In the output vector Y;
- In the state register Rs;
- In the present- and next-state codes state and next.
3. Designing FTFSMs
3.1. Structural Models of FTFSMs
3.2. Synthesis of FTFSMs
| Algorithm 1: Functioning of the CED circuit |
| INPUT: xij, yij, K, K(si), K(sj), T. OUTPUT: enable. Definition of sets: X(si), Y(sj), S(si). if xij ∈ X(si) then vi = 1; else vi = 0; if yij ∈ Y(si) then vo = 1; else vo = 0; if K(si) ∈ K then vs = 1; else vs = 0; if K(sj) ∈ K then vn = 1; else vn = 0; if (si, sj) ∈ T then vt = 1; else vt = 0; enable = vi & vo & vs & vn & vt; Return enable. |
| Algorithm 2: Synthesis of FTFSMs |
|
3.3. Example of Designing the FTFSM
4. Experimental Research
4.1. Area of FTFSMs
4.2. Performance of FTFSMs
5. Fault Detection Probability When Implementing FTFSMs in FPGAs
| Algorithm 3: Calculating the probability of fault detection for FTFSMs in an FPGA |
| INPUT: The FTFSM. OUTPUT: pd.
|
6. Conclusions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Appendix A
References
- Zhou, K.; Ren, Z. A new controller architecture for high performance, robust, and fault-tolerant control. IEEE Trans. Autom. Control 2001, 6, 1613–1618. [Google Scholar] [CrossRef]
- Yu, A.; Kolotylo, I.; Hashim, H.A.; Eltoukhy, A.E. Electronic warfare cyberattacks, countermeasures and modern defensive strategies of UAV avionics: A survey. IEEE Access 2025, 13, 68660–68681. [Google Scholar] [CrossRef]
- Hamming, R.W. Error detecting and error correcting codes. Bell Syst. Tech. J. 1950, 29, 147–160. [Google Scholar] [CrossRef]
- Bradley, D.; Tyrrell, A. A hardware immune system for benchmark state machine error detection. In Proceedings of the 2002 Congress on Evolutionary Computation, Honolulu, HI, USA, 12–17 May 2002. [Google Scholar] [CrossRef]
- Hadjicostis, C.N. Probabilistic detection of FSM single state-transition faults based on state occupancy measurements. IEEE Trans. Autom. Control 2005, 50, 2078–2083. [Google Scholar] [CrossRef]
- Rokas, K.; Makris, Y.; Gizopoulos, D. Low cost convolutional code based concurrent error detection in FSMs. In Proceedings of the 18th IEEE Symposium on Defect and Fault Tolerance in VLSI Systems, Boston, MA, USA, 5 November 2003. [Google Scholar] [CrossRef]
- Drineas, P.; Makris, Y. SPaRe: Selective partial replication for concurrent fault-detection in FSMs. IEEE Trans. Instrum. Meas. 2003, 52, 1729–1737. [Google Scholar] [CrossRef]
- Iyengar, V.S.; Kinney, L.L. Concurrent fault detection in microprogrammed control units. IEEE Trans. Comput. 1985, 100, 810–821. [Google Scholar] [CrossRef]
- Leveugle, R.; Saucier, G. Optimized synthesis of concurrently checked controllers. IEEE Trans. Comput. 1990, 39, 419–425. [Google Scholar] [CrossRef]
- Zeng, C.; Saxena, N.; McCluskey, E.J. Finite state machine synthesis with concurrent error detection. In Proceedings of the International Test Conference, Atlantic City, NJ, USA, 30 September 1999; pp. 672–679. [Google Scholar] [CrossRef]
- Das, D.; Touba, N.A. Synthesis of circuits with low-cost concurrent error detection based on Bose-Lin codes. J. Electron. Test. 1999, 15, 145–155. [Google Scholar] [CrossRef]
- Salauyou, V. Fault detection of Moore finite state machines by structural models. In Proceedings of the International Conference on Computer Information Systems and Industrial Management, Tokyo, Japan, 22–24 September 2023. [Google Scholar] [CrossRef]
- Solov’ev, V.V. Structural models for failure detection of Moore finite-state machines. J. Comput. Syst. Sci. Int. 2023, 62, 977–990. [Google Scholar] [CrossRef]
- Salauyou, V. Structural models of Mealy finite state machines detecting faults in control systems. Radioelectron. Comput. Syst. 2023, 3, 173–186. [Google Scholar] [CrossRef]
- Lyons, R.E.; Vanderkulk, W. The use of triple-modular redundancy to improve computer reliability. IBM J. Res. Dev. 1962, 6, 200–209. [Google Scholar] [CrossRef]
- Samudrala, P.K.; Ramos, J.; Katkoori, S. Selective triple modular redundancy (STMR) based single-event upset (SEU) tolerant synthesis for FPGAs. IEEE Trans. Nucl. Sci. 2004, 51, 2957–2969. [Google Scholar] [CrossRef]
- Kastensmidt, F.L.; Sterpone, L.; Carro, L.; Reorda, M.S. On the optimal design of triple modular redundancy logic for SRAM-based FPGAs. In Proceedings of the Design, Automation and Test in Europe, Munich, Germany, 7–11 March 2005. [Google Scholar] [CrossRef]
- Sterpone, L.; Violante, M. A new reliability-oriented place and route algorithm for SRAM-based FPGAs. IEEE Trans. Comput. 2006, 55, 732–744. [Google Scholar] [CrossRef]
- Tiwari, A.; Tomko, K.A. Enhanced reliability of finite-state machines in FPGA through efficient fault detection and correction. IEEE Trans. Reliab. 2005, 54, 459–467. [Google Scholar] [CrossRef]
- Cassel, M.; Lima, F. Evaluating one-hot encoding finite state machines for SEU reliability in SRAM-based FPGAs. In Proceedings of the 12th IEEE International On-Line Testing Symposium (IOLTS’06), Lake Como, Italy, 10–12 July 2006. [Google Scholar] [CrossRef]
- Teifel, J. Self-voting dual-modular-redundancy circuits for single-event-transient mitigation. IEEE Trans. Nucl. Sci. 2009, 55, 3435–3439. [Google Scholar] [CrossRef]
- Meyer, J.F. Fault tolerant sequential machines. IEEE Trans. Comput. 1971, C-20, 1167–1177. [Google Scholar] [CrossRef]
- Tohma, Y.; Ohyama, Y.; Sakai, R. Realization of fail-safe sequential machines by using a k-out-of-n code. IEEE Trans. Comput. 1971, 100, 1270–1275. [Google Scholar] [CrossRef]
- Chuang, H.Y.H.; Das, S. Design of fail-safe sequential machines using separable codes. IEEE Trans. Comput. 1978, 100, 249–252. [Google Scholar] [CrossRef]
- Burke, G.R.; Taft, S. Fault Tolerant State Machines; Jet Propulsion Laboratory, National Aeronautics and Space Administration: Pasadena, CA, USA, 2004; pp. 1–10. [Google Scholar]
- Leveugle, R.; Rochet, R.; Saucier, G.; Martinez, L.; Pitot, C. A synthesis tool for fault-tolerant finite state machines. In Proceedings of the Twenty-Third International Symposium on Fault-Tolerant Computing, Toulouse, France, 22–24 June 1993. [Google Scholar] [CrossRef]
- Sentovich, M.E. SIS: A system for sequential circuit synthesis. In Memorandom no. UCB/ERL M92/41; University of California: Berkeley, CA, USA, 1992; Available online: https://courses.e-ce.uth.gr/ECE431/papers/SIS_paper.pdf (accessed on 15 March 2026).
- Salauyou, V. Description styles of fault-tolerant finite state machines for unmanned aerial vehicles. Radioelectron. Comput. Syst. 2024, 1, 196–206. [Google Scholar] [CrossRef]
- Jha, N.K.; Wang, S.J. Design and synthesis of self-checking VLSI circuits. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 1993, 12, 878–887. [Google Scholar] [CrossRef]
- Niranjan, S.; Frenzel, J.F. A comparison of fault-tolerant state machine architectures for space-borne electronics. IEEE Trans. Reliab. 1996, 45, 109–113. [Google Scholar] [CrossRef]
- Bradley, D.W.; Tyrrell, A.M. Immunotronics-novel finite-state-machine architectures with built-in self-test using self-nonself differentiation. IEEE Trans. Evol. Comput. 2002, 6, 227–238. [Google Scholar] [CrossRef]
- El-Maleh, A.H.; Al-Qahtani, A.S. A finite state machine based fault tolerance technique for sequential circuits. Microelectron. Reliab. 2014, 54, 654–661. [Google Scholar] [CrossRef]
- Salauyou, V. Styles for describing reliable finite state machines in Verilog HDL. In Proceedings of the International Conference on Dependability of Computer Systems, Wroclaw, Poland, 1–5 June 2024. [Google Scholar] [CrossRef]
- Salauyou, V. Technique for constructing structural models of fault-tolerant Moore finite state machines. In Proceedings of the International Conference on Dependability and Complex Systems, Wroclaw, Poland, 1–3 July 2025; pp. 199–208. [Google Scholar] [CrossRef]
- Yang, S. Logic Synthesis and Optimization Benchmarks User Guide; Version 3.0; Microelectronics Center of North Carolina (MCNC): Research Triangle Park, NC, USA, 1991; Available online: https://ddd.fit.cvut.cz/www/prj/Benchmarks/LGSynth91.pdf (accessed on 15 March 2026).
- Cummings, C.E.; Chambers, H. Finite State Machine (FSM) Design & Synthesis Using SystemVerilog–Part I. In Proceedings of the Synopsys Users Group (SNUG), San Jose, CA, USA, 1 February 2019; Available online: https://paradigm-works.com/hubfs/49408364/technical-library/Sunburst/CummingsSNUG2019SV_FSM1_rev1_0.pdf (accessed on 15 March 2026).
- Salauyou, V. Area and Performance Estimates of Finite State Machines in Reconfigurable Systems. Appl. Sci. 2024, 14, 11833. [Google Scholar] [CrossRef]












| si | X(si) | Y(si) | S(si) |
|---|---|---|---|
| s0 | {−0, −1} | {000, 001} | {s1} |
| s1 | {01, 10} | {011, 010} | {s0, s2} |
| s2 | {00, 11} | {111, 100} | {s0, s1} |
| FSM | Ltb | Lto | Ltmrb | Lfb | Lfo | Lfb/Ltb | Lfo/Lto | Ltmrb/Lfb |
|---|---|---|---|---|---|---|---|---|
| bbara | 28 | 30 | 66 | 29 | 48 | 1.036 | 1.600 | 2.276 |
| bbsse | 60 | 42 | 127 | 16 | 69 | 0.267 | 1.643 | 7.938 |
| bbtas | 9 | 9 | 38 | 6 | 11 | 0.667 | 1.222 | 6.333 |
| beecount | 32 | 42 | 64 | 21 | 40 | 0.656 | 0.952 | 3.048 |
| cse | 103 | 111 | 146 | 17 | 92 | 0.165 | 0.829 | 8.588 |
| dk14 | 43 | 44 | 86 | 37 | 41 | 0.860 | 0.932 | 2.324 |
| dk15 | 16 | 33 | 44 | 16 | 40 | 1.000 | 1.212 | 2.750 |
| dk16 | 85 | 65 | 122 | 99 | 76 | 1.165 | 1.169 | 1.232 |
| dk17 | 14 | 25 | 40 | 13 | 24 | 0.929 | 0.960 | 3.077 |
| dk27 | 7 | 10 | 38 | 5 | 9 | 0.714 | 0.900 | 7.600 |
| dk512 | 16 | 21 | 60 | 16 | 19 | 1.000 | 0.905 | 3.750 |
| ex1 | 147 | 135 | 247 | 248 | 189 | 1.687 | 1.400 | 0.996 |
| ex2 | 92 | 78 | 93 | 34 | 64 | 0.370 | 0.821 | 2.735 |
| ex3 | 44 | 42 | 58 | 8 | 25 | 0.182 | 0.595 | 7.250 |
| ex4 | 62 | 57 | 102 | 31 | 38 | 0.500 | 0.667 | 3.290 |
| ex5 | 34 | 34 | 55 | 21 | 32 | 0.618 | 0.941 | 2.619 |
| ex6 | 71 | 63 | 119 | 44 | 63 | 0.620 | 1.000 | 2.705 |
| ex7 | 45 | 41 | 59 | 20 | 39 | 0.444 | 0.951 | 2.950 |
| lion | 11 | 17 | 21 | 5 | 11 | 0.455 | 0.647 | 4.200 |
| lion9 | 57 | 57 | 58 | 17 | 44 | 0.298 | 0.772 | 3.412 |
| mc | 6 | 11 | 32 | 8 | 16 | 1.333 | 1.455 | 4.000 |
| planet | 224 | 121 | 335 | 249 | 85 | 1.112 | 0.702 | 1.345 |
| pma | 162 | 147 | 176 | 220 | 146 | 1.358 | 0.993 | 0.800 |
| s1 | 168 | 118 | 199 | 154 | 125 | 0.917 | 1.059 | 1.292 |
| s1488 | 223 | 157 | 386 | 310 | 235 | 1.390 | 1.497 | 1.245 |
| s1494 | 231 | 159 | 386 | 305 | 242 | 1.320 | 1.522 | 1.266 |
| s208 | 14 | 49 | 104 | 43 | 74 | 3.071 | 1.510 | 2.419 |
| s27 | 10 | 23 | 36 | 5 | 32 | 0.500 | 1.391 | 7.200 |
| s298 | 795 | 616 | 889 | 1047 | 933 | 1.317 | 1.515 | 0.849 |
| s386 | 63 | 43 | 129 | 96 | 74 | 1.524 | 1.721 | 1.344 |
| s420 | 14 | 35 | 150 | 29 | 55 | 2.071 | 1.571 | 5.172 |
| s510 | 118 | 70 | 153 | 109 | 69 | 0.924 | 0.986 | 1.404 |
| s820 | 133 | 87 | 269 | 217 | 158 | 1.632 | 1.816 | 1.240 |
| s832 | 132 | 83 | 278 | 223 | 162 | 1.689 | 1.952 | 1.247 |
| sand | 257 | 238 | 262 | 311 | 237 | 1.210 | 0.996 | 0.842 |
| shiftreg | 3 | 9 | 16 | 4 | 9 | 1.333 | 1.000 | 4.000 |
| sse | 77 | 70 | 127 | 16 | 73 | 0.208 | 1.043 | 7.938 |
| styr | 229 | 212 | 262 | 251 | 185 | 1.096 | 0.873 | 1.044 |
| tav | 9 | 10 | 32 | 9 | 13 | 1.000 | 1.300 | 3.556 |
| tbk | 303 | 295 | 125 | 377 | 350 | 1.244 | 1.186 | 0.332 |
| tma | 172 | 157 | 146 | 138 | 97 | 0.802 | 0.618 | 1.058 |
| train11 | 52 | 48 | 65 | 36 | 45 | 0.692 | 0.938 | 1.806 |
| train4 | 13 | 19 | 22 | 5 | 11 | 0.385 | 0.579 | 4.400 |
| Av | 101.95 | 86.81 | 144.698 | 113.14 | 102.33 | 0.971 | 1.124 | 3.137 |
| Min | 3 | 9 | 16 | 4 | 9 | 0.165 | 0.579 | 0.332 |
| Max | 795 | 616 | 889 | 1047 | 933 | 3.071 | 1.952 | 8.588 |
| FSM | Ftb | Fto | Ffb | Ffo | Ftmrb | Ftb/Ffb | Fto/Ffo | Ffb/Ftmrb |
|---|---|---|---|---|---|---|---|---|
| bbara | 448 | 510 | 441 | 258 | 288 | 1.016 | 1.977 | 1.531 |
| bbsse | 333 | 471 | 437 | 207 | 151 | 0.762 | 2.275 | 2.894 |
| bbtas | 679 | 835 | 926 | 469 | 236 | 0.733 | 1.780 | 3.924 |
| beecount | 658 | 200 | 479 | 289 | 181 | 1.374 | 0.692 | 2.646 |
| cse | 155 | 144 | 498 | 218 | 189 | 0.311 | 0.661 | 2.635 |
| dk14 | 480 | 506 | 460 | 448 | 241 | 1.043 | 1.129 | 1.909 |
| dk15 | 722 | 586 | 694 | 383 | 304 | 1.040 | 1.530 | 2.283 |
| dk16 | 380 | 522 | 266 | 215 | 238 | 1.429 | 2.428 | 1.118 |
| dk17 | 649 | 636 | 641 | 449 | 278 | 1.012 | 1.416 | 2.306 |
| dk27 | 722 | 733 | 927 | 923 | 252 | 0.779 | 0.794 | 3.679 |
| dk512 | 578 | 724 | 600 | 724 | 215 | 0.963 | 1.000 | 2.791 |
| ex1 | 240 | 305 | 153 | 157 | 128 | 1.569 | 1.943 | 1.195 |
| ex2 | 219 | 224 | 371 | 216 | 238 | 0.590 | 1.037 | 1.559 |
| ex3 | 233 | 240 | 546 | 460 | 229 | 0.427 | 0.522 | 2.384 |
| ex4 | 213 | 221 | 438 | 269 | 229 | 0.486 | 0.822 | 1.913 |
| ex5 | 240 | 245 | 499 | 283 | 207 | 0.481 | 0.866 | 2.411 |
| ex6 | 226 | 218 | 403 | 238 | 175 | 0.561 | 0.916 | 2.303 |
| ex7 | 221 | 214 | 436 | 252 | 261 | 0.507 | 0.849 | 1.670 |
| lion | 677 | 489 | 917 | 556 | 705 | 0.738 | 0.879 | 1.301 |
| lion9 | 209 | 180 | 625 | 281 | 143 | 0.334 | 0.641 | 4.371 |
| mc | 830 | 905 | 791 | 414 | 327 | 1.049 | 2.186 | 2.419 |
| planet | 238 | 722 | 128 | 213 | 192 | 1.859 | 3.390 | 0.667 |
| pma | 111 | 106 | 189 | 192 | 133 | 0.587 | 0.552 | 1.421 |
| s1 | 249 | 423 | 161 | 170 | 191 | 1.547 | 2.488 | 0.843 |
| s1488 | 221 | 433 | 151 | 145 | 201 | 1.464 | 2.986 | 0.751 |
| s1494 | 233 | 452 | 156 | 156 | 206 | 1.494 | 2.897 | 0.757 |
| s208 | 716 | 436 | 387 | 206 | 261 | 1.850 | 2.117 | 1.483 |
| s27 | 540 | 551 | 921 | 297 | 332 | 0.586 | 1.855 | 2.774 |
| s298 | 140 | 339 | 122 | 111 | 64 | 1.148 | 3.054 | 1.906 |
| s386 | 354 | 527 | 212 | 221 | 200 | 1.670 | 2.385 | 1.060 |
| s420 | 722 | 501 | 405 | 220 | 90 | 1.783 | 2.277 | 4.500 |
| s510 | 254 | 848 | 293 | 546 | 200 | 0.867 | 1.553 | 1.465 |
| s820 | 260 | 456 | 136 | 171 | 202 | 1.912 | 2.667 | 0.673 |
| s832 | 247 | 410 | 139 | 137 | 199 | 1.777 | 2.993 | 0.698 |
| sand | 211 | 154 | 113 | 132 | 128 | 1.867 | 1.167 | 0.883 |
| shiftreg | 1319 | 1103 | 1319 | 964 | 466 | 1.000 | 1.144 | 2.830 |
| sse | 238 | 488 | 437 | 207 | 261 | 0.545 | 2.357 | 1.674 |
| styr | 203 | 168 | 128 | 134 | 158 | 1.586 | 1.254 | 0.810 |
| tav | 1279 | 1261 | 840 | 657 | 403 | 1.523 | 1.919 | 2.084 |
| tbk | 210 | 208 | 126 | 141 | 204 | 1.667 | 1.475 | 0.618 |
| tma | 119 | 142 | 225 | 263 | 229 | 0.529 | 0.540 | 0.983 |
| train11 | 230 | 363 | 429 | 294 | 208 | 0.536 | 1.235 | 2.063 |
| train4 | 262 | 207 | 923 | 400 | 290 | 0.284 | 0.518 | 3.183 |
| Av | 406.23 | 451.30 | 453.21 | 318.28 | 233.326 | 1.053 | 1.609 | 1.939 |
| Min | 111 | 106 | 113 | 111 | 64 | 0.284 | 0.518 | 0.618 |
| Max | 1319 | 1261 | 1319 | 964 | 705 | 1.912 | 3.390 | 4.500 |
| e | rank(e) | Ae | pe = Ae/AFSM | qe = 1 − pe | % | |
|---|---|---|---|---|---|---|
| VI | 11 | 4 | 0.0353544 | 0.9646456 | 0.9305411 | 93.1 |
| VO | 12 | 4 | 0.0353544 | 0.9646456 | 0.9305411 | 93.1 |
| VS, VN | 5 | 2 | 0.0176772 | 0.9823228 | 0.9649581 | 96.5 |
| VT | 10 | 3 | 0.0265158 | 0.9734842 | 0.9476715 | 94.8 |
| CED | 22 | 7 | 0.0618702 | 0.9381298 | 0.8800875 | 88.0 |
| e | rank(e) | Ae | pe = Ae/AFSM | qe = 1 − pe | % | |
|---|---|---|---|---|---|---|
| VI | 28 | 9 | 0.0879507 | 0.9120493 | 0.8318339 | 83.2 |
| VO | 12 | 4 | 0.0390892 | 0.9609108 | 0.9233496 | 92.3 |
| VS, VN | 22 | 7 | 0.0684061 | 0.9315939 | 0.8678672 | 86.8 |
| VT | 44 | 15 | 0.1465846 | 0.8534154 | 0.7283178 | 72.8 |
| CED | 56 | 19 | 0.1856738 | 0.8143262 | 0.6631272 | 66.3 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Salauyou, V. Design of Robust Fault-Tolerant Finite-State Machines for Unmanned Aerial Vehicles. Appl. Sci. 2026, 16, 4201. https://doi.org/10.3390/app16094201
Salauyou V. Design of Robust Fault-Tolerant Finite-State Machines for Unmanned Aerial Vehicles. Applied Sciences. 2026; 16(9):4201. https://doi.org/10.3390/app16094201
Chicago/Turabian StyleSalauyou, Valery. 2026. "Design of Robust Fault-Tolerant Finite-State Machines for Unmanned Aerial Vehicles" Applied Sciences 16, no. 9: 4201. https://doi.org/10.3390/app16094201
APA StyleSalauyou, V. (2026). Design of Robust Fault-Tolerant Finite-State Machines for Unmanned Aerial Vehicles. Applied Sciences, 16(9), 4201. https://doi.org/10.3390/app16094201
