# Reducing Hardware in LUT-Based Mealy FSMs with Encoded Collections of Outputs

^{1}

^{2}

^{3}

^{4}

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

## 2. Basics of Mealy FSM Design with LUTs

## 3. Related Works

## 4. Main Idea of Proposed Method

- Constructing a state transition table using the initial STG.
- Dividing outputs by classes $S{O}_{oh}$ and $S{O}_{mb}$.
- Creating and encoding of collections of outputs $C{O}_{q}\subseteq S{O}_{mb}$.
- Creating SBF (25) representing CPO2.
- Constructing the partition PS with a minimum value of K.
- Encoding of FSM states ${s}_{g}\in SS$ by two-part codes $TP\left({s}_{g}\right)$.
- Creating tables of blocks CPF1–CPFK.
- Creating tables for blocks CPO1 and CM.
- Implementing the LUT-based circuit of ${P}_{2F}$ FSM.

## 5. Example of Synthesis

## 6. Experimental Results

- If some of the functions ${f}_{n}\in SOV\cup SM$ satisfy the condition (5), then these functions should be broken down using various FD methods. This increases the number of partial functions. In turn, this increases the numbers of LUTs and their levels in the resulting FSM circuit. In this case, using our approach can help to avoid implementing multi-level circuits.
- If (12) is violated, then the block CPO1 cannot be implemented by a single-level LUT-based circuit. This has the same consequences, as noted above. Therefore, it is necessary to represent some outputs in the unitary form.
- If the condition (18) holds, then it is possible to use shared LUTs in the circuit of CPO2. Obviously, this reduces the number of LUTs in CPO2 compared with $|S{O}_{mb}^{2}|$.
- If the condition (27) holds, then each function generated by CPO1 is represented by a single LUT. In this case, there are exactly $|S{O}_{oh}|+{R}_{CO}$ LUTs in the circuit of CPO1.

## 7. Conclusions

## Author Contributions

## Funding

## Data Availability Statement

## Conflicts of Interest

## Abbreviations

CLB | configurable logic block |

CO | collection of outputs |

DST | direct structure table |

FD | functional decomposition |

FPGA | field-programmable gate array |

FSM | finite state machine |

IMF | input memory function |

LUT | look-up table |

MB | maximum binary |

OH | one-hot |

RG | state code register |

SBF | systems of Boolean functions |

SD | structural decomposition |

STG | state transition graph |

STT | state transition table |

## References

- Baillieul, J.; Samad, T. (Eds.) Encyclopedia of Systems and Control; Springer: London, UK, 2015. [Google Scholar] [CrossRef] [Green Version]
- Barkalov, A.; Titarenko, L.; Mazurkiewicz, M. Foundations of Embedded Systems; Studies in Systems, Decision and Control; Springer International Publishing: Cham, Switzerland, 2019; Volume 195. [Google Scholar]
- Trimberger, S. Field-Programmable Gate Array Technology; Springer: New York, NY, USA, 2012. [Google Scholar]
- Kubica, M.; Opara, A.; Kania, D. Technology Mapping for LUT-Based FPGA; Springer: Dordrecht, The Netherlands, 2021. [Google Scholar] [CrossRef]
- Altera. Available online: http://www.altera.com (accessed on 31 August 2022).
- Xilinx. Available online: http://www.xilinx.com (accessed on 31 August 2022).
- Gazi, O.; Arli, A.C. State Machines Using VHDL: FPGA Implementation of Serial Communication and Display Protocols; Springer: Berlin, Germany, 2021. [Google Scholar] [CrossRef]
- Vivado. Available online: https://www.xilinx.com/products/design-tools/vivado.html (accessed on 31 August 2022).
- Trimberg, S. Three ages of FPGA: A Retrospective on the First Thirty Years of FPGA Technology. IEEE Proc.
**2015**, 103, 318–331. [Google Scholar] [CrossRef] - Ruiz-Rosero, J.; Ramirez-Gonzalez, G.; Khanna, R. Field Programmable Gate Array Applications—A Scientometric Review. Computation
**2019**, 7, 63. [Google Scholar] [CrossRef] [Green Version] - Barkalov, A.; Titarenko, L.; Krzywicki, K. Structural Decomposition in FSM Design: Roots, Evolution, Current State—A Review. Electronics
**2021**, 10, 1174. [Google Scholar] [CrossRef] - Kuon, I.; Tessier, R.; Rose, J. FPGA Architecture: Survey and Shallenges—Found Trends. Electr. Des. Autom.
**2008**, 2, 135–253. [Google Scholar] - Islam, M.M.; Hossain, M.; Shahjalal, M.; Hasan, M.K.; Jang, Y.M. Area-Time Efficient Hardware Implementation of Modular Multiplication for Elliptic Curve Cryptography. IEEE Access
**2020**, 8, 73898–73906. [Google Scholar] [CrossRef] - Kubica, M.; Kania, D.; Kulisz, J. A Technology Mapping of FSMs Based on a Graph of Excitations and Outputs. IEEE Access
**2019**, 7, 16123–16131. [Google Scholar] [CrossRef] - De Micheli, G. Synthesis and Optimization of Digital Circuits; McGraw–Hill: New York, NY, USA, 1994. [Google Scholar]
- Baranov, S. Logic and System Design of Digital Systems; TUT Press: Tallinn, Estonia, 2008. [Google Scholar]
- Chapman, K. Multiplexer Design Techniques for Datapath Performance with Minimized Routing Resources; Xilinx All Programmable: 2014; pp. 1–32. Available online: https://www.eeweb.com/wp-content/uploads/articles-app-notes-files-multiplexer-design-techniques-for-datapath-performance-1348763550.pdf (accessed on 31 August 2022).
- LGSynth93. International Workshop on Logic Synthesis Benchmark Suite (LGSynth93). Available online: https://people.engr.ncsu.edu/brglez/CBL/benchmarks/LGSynth93/LGSynth93.tar (accessed on 31 August 2022).
- Rawski, M.; Selvaraj, H.; Luba, T.; Szotkowski, P. Application of symbolic functional decomposition concept in FSM implementation targeting FPGA devices. In Proceedings of the Sixth International Conference on Computational Intelligence and Multimedia Applications (ICCIMA’05), Las Vegas, NV, USA, 16–18 August 2005; pp. 153–158. [Google Scholar] [CrossRef]
- Jóźwiak, L.; Chojnacki, A. Effective and efficient FPGA synthesis through functional decomposition based on information relationship measures. In Proceedings of the Euromicro Symposium on Digital Systems Design, Warsaw, Poland, 4–6 September 2001; pp. 30–37. [Google Scholar] [CrossRef]
- Kubica, M.; Kania, D. Area-oriented technology mapping for LUT-based logic blocks. Int. J. Appl. Math. Comput. Sci.
**2017**, 27, 207–222. [Google Scholar] [CrossRef] [Green Version] - Zgheib, G.; Ouaiss, I. Enhanced Technology Mapping for FPGAs with Exploration of Cell Configurations. J. Circuits Syst. Comput.
**2015**, 24, 1550039. [Google Scholar] [CrossRef] - Feng, W.; Greene, J.; Mishchenko, A. Improving FPGA Performance with a S44 LUT Structure. In FPGA’18, Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, CA, USA, 25–27 February 2018; Association for Computing Machinery: New York, NY, USA, 2018; pp. 61–66. [Google Scholar] [CrossRef]
- Barkalov, A.; Titarenko, L.; Mielcarek, K. Hardware reduction for LUT-based Mealy FSMs. Int. J. Appl. Math. Comput. Sci.
**2018**, 28, 595–607. [Google Scholar] [CrossRef] [Green Version] - Sentowich, E.; Singh, K.; Lavango., L.; Moon, C.; Murgai, R.; Saldanha, A.; Savoj, H.; Stephan, P.R.; Bryton, R.; Sangiovanni-Vincentelli, A. SIS: A System for Sequential Circuit Synthesis; Technical Report; University of California: Berkely, CA, USA, 1992. [Google Scholar]
- Skliarova, I.; Sklyarov, V.; Sudnitson, A. Design of FPGA-Based Circuits Using Hierarchical Finite State Machines; TUT Press: Tallinn, Estonia, 2012. [Google Scholar]
- Sklyarov, V. Synthesis and Implementation of RAM-based Finite State Machines in FPGAs. In Field-Programmable Logic and Applications: The Roadmap to Reconfigurable Computing; Hartenstein, R.W., Grünbacher, H., Eds.; Springer: Berlin/Heidelberg, Germany, 2000; pp. 718–727. [Google Scholar] [CrossRef]
- Nahiyan, A.; Farahmandi, F.; Mishra, P.; Forte, D.; Tehranipoor, M. Security-Aware FSM Design Flow for Identifying and Mitigating Vulnerabilities to Fault Attacks. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst.
**2019**, 38, 1003–1016. [Google Scholar] [CrossRef] - Jimenez, J.; Trojman, L.; Procel, L.M. Power and Area Reduction of MD5 based on Cryptoprocessor Using novel approach of Internal Counters on the Finite State Machine. In Proceedings of the 2019 IEEE Fourth Ecuador Technical Chapters Meeting (ETCM), Guayaquil, Ecuador, 11–15 November 2019; pp. 1–4. [Google Scholar] [CrossRef]
- Barkalov, A.; Titarenko, L.; Krzywicki, K.; Saburova, S. Improving Characteristics of LUT-Based Mealy FSMs with Twofold State Assignment. Electronics
**2021**, 10, 901. [Google Scholar] [CrossRef] - Solov’ev, V. Implementation of finite-state machines based on programmable logic ICs with the help of the merged model of Mealy and Moore machines. J. Commun. Technol. Electron.
**2013**, 58, 172–177. [Google Scholar] [CrossRef] - Park, J.; Yoo, H. Area-Efficient Differential Fault Tolerance Encoding for Finite State Machines. Electronics
**2020**, 9, 1110. [Google Scholar] [CrossRef] - Kubica, M.; Kania, D. Technology Mapping of FSM Oriented to LUT-Based FPGA. Appl. Sci.
**2020**, 10, 3926. [Google Scholar] [CrossRef] - Klimowicz, A.; Salauyou, V. State Merging and Splitting Strategies for Finite State Machines Implemented in FPGA. Appl. Sci.
**2022**, 12, 8134. [Google Scholar] [CrossRef] - Solov’ev, V.V. Synthesis of Fast Finite State Machines on Programmable Logic Integrated Circuits by Splitting Internal States. Int. J. Comput. Syst. Sci.
**2022**, 61, 360–371. [Google Scholar] [CrossRef] - Barkalov, A.; Titarenko, L.; Mielcarek, K.; Chmielewski, S. Logic Synthesis for FPGA-Based Control Units—Structural Decomposition in Logic Design; Lecture Notes in Electrical Engineering; Springer: Berlin, Germany, 2020; Volume 636. [Google Scholar] [CrossRef]
- Achasova, S. Synthesis Algorithms for Automata with PLAs; M: Soviet Radio: Moscow, Russia, 1987. [Google Scholar]
- Quartus II. Available online: https://www.intel.com/content/www/us/en/programmable/downloads/software/quartus-ii-we/121.html (accessed on 31 August 2022).
- Kubica, M.; Opara, A.; Kania, D. Logic Synthesis for FPGAs Based on Cutting of BDD. Microprocess. Microsyst.
**2017**, 52, 173–187. [Google Scholar] [CrossRef] - Xilinx. VC709 Evaluation Board for the Virtex-7 FPGA. Available online: https://www.xilinx.com/support/documentation/boards_and_kits/vc709/ug887-vc709-eval-board-v7-fpga.pdf (accessed on 31 August 2022).
- Xilinx. Vivado Design Suite User Guide: Synthesis; UG901 (v2019.1). Available online: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_1/ug901-vivado-synthesis.pdf (accessed on 31 August 2022).

$SS=\{{s}_{1},\dots ,{s}_{G}\}$ | The set of FSM states. |

$SI=\{{i}_{1},\dots ,{i}_{U}\}$ | The set of FSM inputs. |

$SO=\{{o}_{1},\dots ,{o}_{W}\}$ | The set of FSM outputs. |

G | The number of states. |

U | The number of inputs. |

W | The number of outputs. |

R | The number of state variables. |

$SSV=\{{v}_{1},\dots ,{v}_{R}\}$ | The set of state variables. |

$SM=\{{D}_{1},\dots ,{D}_{R}\}$ | The set of input memory functions. |

$SCO=\{C{O}_{1},\dots ,C{O}_{Q}\}$ | The set of collections of outputs. |

$K\left(C{O}_{q}\right)$ | The code of collection of outputs. |

${I}_{LUT}$ | The number of LUT inputs. |

$A\left({f}_{n}\right)$ | The number of arguments for a Boolean function ${f}_{n}$. |

${R}_{CO}$ | The number of variables for encoding of collections of outputs. |

$SOV=\{{b}_{1},\dots ,{b}_{RCO}\}$ | The set of variables encoding the collections of outputs. |

$PS=\{C{P}^{1},\dots ,C{P}^{K}\}$ | The set of classes of compatible states. |

$PC\left({s}_{g}\right)$ | The partial code of a state. |

${R}_{S}$ | The number of variables encoding states inside the classes of compatible states. |

K | The number of classes of compatible states. |

${R}_{C}$ | The number of variables encoding classes of compatible states. |

$TP\left({s}_{g}\right)$ | The two-part code of a state. |

${R}_{TP}$ | The number of bits in the two-part state codes. |

$\mathit{CS}$ | $\mathit{ST}$ | $\mathit{In}$ | $\mathit{Out}$ | h |
---|---|---|---|---|

${s}_{1}$ | ${s}_{2}$ | ${i}_{1}$ | ${o}_{1}{o}_{2}$ | 1 |

${s}_{1}$ | $\overline{{i}_{1}}{i}_{2}$ | ${o}_{2}{o}_{3}$ | 2 | |

${s}_{3}$ | $\overline{{i}_{1}}\phantom{\rule{4pt}{0ex}}\overline{{i}_{2}}$ | ${o}_{2}{o}_{4}$ | 3 | |

${s}_{2}$ | ${s}_{1}$ | ${i}_{1}$ | ${o}_{4}$ | 4 |

${s}_{3}$ | $\overline{{i}_{1}}$ | ${o}_{2}{o}_{3}$ | 5 | |

${s}_{3}$ | ${s}_{1}$ | 1 | ${o}_{3}{o}_{4}$ | 6 |

s | $\mathit{ST}$ | $\mathit{In}$ | $\mathit{Out}$ | h |
---|---|---|---|---|

${s}_{1}$ | ${s}_{2}$ | ${i}_{1}$ | ${o}_{3}{o}_{5}{o}_{6}{o}_{9}$ | 1 |

${s}_{3}$ | $\overline{{i}_{1}}{i}_{3}$ | ${o}_{1}{o}_{6}$ | 2 | |

${s}_{5}$ | $\overline{{i}_{1}}\phantom{\rule{4pt}{0ex}}\overline{{i}_{3}}$ | ${o}_{6}$ | 3 | |

${s}_{2}$ | ${s}_{2}$ | ${i}_{2}$ | ${o}_{1}{o}_{2}{o}_{3}$ | 4 |

${s}_{3}$ | $\overline{{i}_{2}}{i}_{5}$ | ${o}_{3}{o}_{4}{o}_{6}$ | 5 | |

${s}_{6}$ | $\overline{{i}_{2}}\phantom{\rule{4pt}{0ex}}\overline{{i}_{5}}$ | ${o}_{2}{o}_{7}$ | 6 | |

${s}_{3}$ | ${s}_{5}$ | ${i}_{3}$ | ${o}_{4}{o}_{6}$ | 7 |

${s}_{6}$ | $\overline{{i}_{3}}$ | ${o}_{3}{o}_{9}$ | 8 | |

${s}_{4}$ | ${s}_{3}$ | ${i}_{1}$ | ${o}_{1}{o}_{4}{o}_{6}$ | 9 |

${s}_{5}$ | $\overline{{i}_{1}}$ | ${o}_{1}$ | 10 | |

${s}_{5}$ | ${s}_{7}$ | 1 | ${o}_{6}$ | 11 |

${s}_{6}$ | ${s}_{6}$ | ${i}_{3}{i}_{4}$ | ${o}_{1}{o}_{4}$ | 12 |

${s}_{4}$ | ${i}_{3}\overline{{i}_{4}}$ | ${o}_{1}{o}_{4}{o}_{8}$ | 13 | |

${s}_{1}$ | $\overline{{i}_{3}}$ | ${o}_{2}{o}_{3}$ | 14 | |

${s}_{7}$ | ${s}_{8}$ | ${i}_{5}{i}_{6}$ | ${o}_{2}{o}_{4}{o}_{6}$ | 15 |

${s}_{1}$ | ${i}_{5}\overline{{i}_{6}}$ | – | 16 | |

${s}_{4}$ | $\overline{{i}_{5}}$ | ${o}_{1}{o}_{7}$ | 17 | |

${s}_{8}$ | ${s}_{8}$ | ${i}_{2}$ | ${o}_{2}{o}_{3}{o}_{6}$ | 18 |

${s}_{4}$ | $\overline{{i}_{2}}{i}_{6}$ | ${o}_{2}{o}_{7}$ | 19 | |

${s}_{7}$ | $\overline{{i}_{2}}\phantom{\rule{4pt}{0ex}}\overline{{i}_{6}}$ | ${o}_{3}{o}_{9}$ | 20 |

Initial | Transformed | ||
---|---|---|---|

CO | q | CO | q |

${o}_{3}{o}_{5}{o}_{6}{o}_{9}$ | 2 | ${o}_{3}{o}_{5}{o}_{9}$ | 1 |

${o}_{1}{o}_{6}$ | 3 | ${o}_{1}$ | 2 |

${o}_{6}$ | 4 | – | 3 |

${o}_{1}{o}_{2}{o}_{3}$ | 5 | ${o}_{1}{o}_{2}{o}_{3}$ | 4 |

${o}_{3}{o}_{4}{o}_{6}$ | 6 | ${o}_{3}{o}_{4}$ | 5 |

${o}_{2}{o}_{7}$ | 7 | ${o}_{2}{o}_{7}$ | 6 |

${o}_{4}{o}_{8}$ | 8 | ${o}_{4}{o}_{8}$ | 7 |

${o}_{3}{o}_{9}$ | 9 | ${o}_{3}{o}_{9}$ | 8 |

${o}_{1}{o}_{4}{o}_{6}$ | 10 | ${o}_{1}{o}_{4}$ | 9 |

${o}_{1}$ | 11 | ${o}_{1}$ | 2 |

${o}_{1}{o}_{4}$ | 12 | ${o}_{1}{o}_{4}$ | 9 |

${o}_{1}{o}_{4}{o}_{8}$ | 13 | ${o}_{1}{o}_{4}{o}_{8}$ | 10 |

${o}_{2}{o}_{3}$ | 14 | ${o}_{2}{o}_{3}$ | 11 |

${o}_{2}{o}_{4}{o}_{6}$ | 15 | ${o}_{2}{o}_{4}$ | 12 |

${o}_{1}{o}_{7}$ | 16 | ${o}_{1}{o}_{7}$ | 13 |

${o}_{2}{o}_{3}{o}_{6}$ | 17 | ${o}_{2}{o}_{3}$ | 11 |

CS | PC(CS) | ST | FC(ST) | $\mathit{In}1$ | ${\mathit{O}}_{\mathit{oh}}^{1}$ | Out1 | M1 | h |
---|---|---|---|---|---|---|---|---|

${s}_{1}$ | 00 | ${s}_{2}$ | 100 | ${i}_{1}$ | ${o}_{6}$ | ${b}_{1}{b}_{2}$ | ${D}_{1}$ | 1 |

${s}_{3}$ | 001 | $\overline{{i}_{1}}{i}_{3}$ | ${o}_{6}$ | ${b}_{4}$ | ${D}_{3}$ | 2 | ||

${s}_{5}$ | 101 | $\overline{{i}_{1}}\phantom{\rule{4pt}{0ex}}\overline{{i}_{3}}$ | ${o}_{6}$ | – | ${D}_{1}{D}_{3}$ | 3 | ||

${s}_{3}$ | 01 | ${s}_{6}$ | 011 | ${i}_{3}$ | – | ${b}_{1}$ | ${D}_{2}{D}_{3}$ | 4 |

${s}_{5}$ | 101 | $\overline{{i}_{3}}$ | – | ${b}_{2}$ | ${D}_{1}{D}_{3}$ | 5 | ||

${s}_{4}$ | 10 | ${s}_{3}$ | 001 | ${i}_{1}$ | ${o}_{6}$ | ${b}_{1}{b}_{3}{b}_{4}$ | ${D}_{3}$ | 6 |

${s}_{5}$ | 101 | $\overline{{i}_{1}}$ | – | ${b}_{4}$ | ${D}_{1}{D}_{3}$ | 7 | ||

${s}_{6}$ | 11 | ${s}_{6}$ | 011 | ${i}_{3}{i}_{4}$ | – | ${b}_{1}{b}_{3}{b}_{4}$ | ${D}_{2}{D}_{3}$ | 8 |

${s}_{4}$ | 010 | ${i}_{3}\overline{{i}_{4}}$ | – | ${b}_{1}{b}_{4}$ | ${D}_{2}$ | 9 | ||

${s}_{1}$ | 000 | $\overline{{i}_{3}}$ | – | ${b}_{2}{b}_{3}$ | – | 10 |

CS | PC(CS) | ST | FC(ST) | $\mathit{In}2$ | ${\mathit{O}}_{\mathit{oh}}^{2}$ | Out2 | M2 | h |
---|---|---|---|---|---|---|---|---|

${s}_{2}$ | 00 | ${s}_{2}$ | 100 | ${i}_{2}$ | – | ${b}_{2}{b}_{3}{b}_{4}$ | ${D}_{1}$ | 1 |

${s}_{3}$ | 001 | $\overline{{i}_{2}}{i}_{5}$ | ${o}_{6}$ | ${b}_{1}{b}_{2}{b}_{3}$ | ${D}_{3}$ | 2 | ||

${s}_{6}$ | 011 | $\overline{{i}_{2}}\phantom{\rule{4pt}{0ex}}\overline{{i}_{5}}$ | – | ${b}_{3}$ | ${D}_{2}{D}_{3}$ | 3 | ||

${s}_{5}$ | 01 | ${s}_{7}$ | 110 | 1 | ${o}_{6}$ | – | ${D}_{1}{D}_{2}$ | 4 |

${s}_{7}$ | 10 | ${s}_{8}$ | 111 | ${i}_{5}{i}_{6}$ | – | ${b}_{1}{b}_{3}$ | ${D}_{1}{D}_{2}{D}_{3}$ | 5 |

${s}_{1}$ | 000 | ${i}_{5}\overline{{i}_{6}}$ | – | – | – | 6 | ||

${s}_{4}$ | 010 | $\overline{{i}_{5}}$ | – | ${b}_{3}{b}_{4}$ | ${D}_{2}$ | 7 | ||

${s}_{8}$ | 11 | ${s}_{8}$ | 111 | ${i}_{2}$ | ${o}_{6}$ | ${b}_{2}{b}_{3}$ | ${D}_{1}{D}_{2}{D}_{3}$ | 8 |

${s}_{4}$ | 010 | $\overline{{i}_{2}}{i}_{6}$ | – | ${b}_{3}$ | ${D}_{2}$ | 9 | ||

${s}_{7}$ | 110 | $\overline{{i}_{2}}\phantom{\rule{4pt}{0ex}}\overline{{i}_{6}}$ | – | ${b}_{2}$ | ${D}_{1}{D}_{2}$ | 10 |

Function | $\overline{{\mathit{v}}_{1}}$ | ${\mathit{v}}_{1}$ |
---|---|---|

${o}_{6}$ | 1 | 1 |

${b}_{1}$ | 1 | 1 |

${b}_{2}$ | 1 | 1 |

${b}_{3}$ | 1 | 1 |

${b}_{4}$ | 1 | 1 |

Function | $\overline{{\mathit{v}}_{1}}$ | ${\mathit{v}}_{1}$ |
---|---|---|

${D}_{1}$ | 1 | 1 |

${D}_{2}$ | 1 | 1 |

${D}_{3}$ | 1 | 1 |

**Table 9.**Characteristics of benchmarks from LGSynth93 [18].

Benchmark | U | W | H | G | $\mathit{U}+{\mathit{R}}_{0}$ |
---|---|---|---|---|---|

bbara | 4 | 2 | 60 | 10 | 8 |

bbsse | 7 | 7 | 56 | 16 | 11 |

bbtas | 2 | 2 | 24 | 6 | 5 |

beecount | 3 | 4 | 28 | 7 | 6 |

cse | 7 | 7 | 91 | 16 | 11 |

dk14 | 3 | 5 | 56 | 7 | 6 |

dk15 | 3 | 5 | 32 | 4 | 5 |

dk16 | 2 | 3 | 108 | 27 | 7 |

dk17 | 2 | 3 | 32 | 8 | 5 |

dk27 | 1 | 2 | 14 | 7 | 4 |

dk512 | 1 | 3 | 15 | 15 | 5 |

donfile | 2 | 1 | 96 | 24 | 7 |

ex2 | 2 | 2 | 72 | 19 | 7 |

ex3 | 2 | 2 | 36 | 10 | 6 |

ex4 | 6 | 9 | 21 | 14 | 10 |

ex5 | 2 | 2 | 32 | 9 | 6 |

ex6 | 5 | 8 | 34 | 8 | 8 |

ex7 | 2 | 2 | 36 | 10 | 6 |

keyb | 7 | 7 | 170 | 19 | 12 |

lion | 2 | 1 | 11 | 4 | 4 |

lion9 | 2 | 1 | 25 | 9 | 6 |

mark1 | 5 | 16 | 22 | 15 | 9 |

mc | 3 | 5 | 10 | 4 | 5 |

modulo12 | 1 | 1 | 24 | 12 | 5 |

opus | 5 | 6 | 22 | 10 | 9 |

s27 | 4 | 1 | 34 | 6 | 7 |

s298 | 3 | 6 | 1096 | 218 | 11 |

s386 | 7 | 7 | 64 | 13 | 11 |

s8 | 4 | 1 | 20 | 5 | 7 |

shiftreg | 1 | 1 | 16 | 8 | 4 |

sse | 7 | 7 | 56 | 16 | 11 |

BFSM | ${\mathit{A}}_{1}-\mathit{MB}$ | ${\mathit{A}}_{1}-\mathit{OH}$ | ${\mathit{A}}_{1}-\mathit{JEDI}$ | ${\mathit{A}}_{2}$ | ${\mathit{A}}_{3}$ | $\mathit{U}+{\mathit{R}}_{0}$ |
---|---|---|---|---|---|---|

ex1 | 70 | 74 | 53 | 46 | 42 | 16 |

kirkman | 42 | 58 | 39 | 37 | 33 | 18 |

planet | 131 | 131 | 88 | 85 | 80 | 14 |

planet1 | 131 | 131 | 88 | 85 | 80 | 14 |

pma | 94 | 94 | 86 | 82 | 76 | 14 |

s1 | 65 | 99 | 61 | 59 | 57 | 14 |

s1488 | 124 | 131 | 108 | 99 | 89 | 15 |

s1494 | 126 | 132 | 110 | 96 | 87 | 15 |

s1a | 49 | 81 | 43 | 46 | 44 | 15 |

s510 | 48 | 48 | 32 | 33 | 28 | 27 |

s820 | 88 | 82 | 68 | 62 | 52 | 25 |

s832 | 80 | 79 | 62 | 60 | 54 | 25 |

sand | 132 | 132 | 114 | 110 | 98 | 18 |

styr | 93 | 120 | 81 | 78 | 74 | 16 |

tma | 45 | 39 | 39 | 37 | 33 | 13 |

Total | 1318 | 1431 | 1072 | 1015 | 927 | |

Percentage, % | 142.18 | 154.37 | 115.64 | 109.49 | 100.00 |

BFSM | ${\mathit{A}}_{1}-\mathbf{MB}$ | ${\mathit{A}}_{1}-\mathbf{OH}$ | ${\mathit{A}}_{1}-\mathbf{JEDI}$ | ${\mathit{A}}_{2}$ | ${\mathit{A}}_{3}$ | $\mathit{U}+{\mathit{R}}_{0}$ |
---|---|---|---|---|---|---|

ex1 | 150.94 | 139.76 | 176.87 | 192.12 | 216.42 | 16 |

kirkman | 141.38 | 154.00 | 156.68 | 177.24 | 192.23 | 18 |

planet | 132.71 | 132.71 | 187.14 | 211.42 | 226.83 | 14 |

planet1 | 132.71 | 132.71 | 187.14 | 211.42 | 226.83 | 14 |

pma | 146.18 | 146.18 | 169.83 | 193.16 | 209.41 | 14 |

s1 | 146.41 | 135.85 | 157.16 | 182.46 | 198.24 | 14 |

s1488 | 138.50 | 131.94 | 157.18 | 187.44 | 208.26 | 15 |

s1494 | 149.39 | 145.75 | 164.34 | 193.57 | 216.32 | 15 |

s1a | 153.37 | 176.40 | 169.17 | 198.31 | 220.12 | 15 |

s510 | 177.65 | 177.65 | 181.42 | 187.43 | 190.21 | 27 |

s820 | 152.00 | 153.16 | 176.58 | 181.21 | 192.36 | 25 |

s832 | 145.71 | 153.23 | 173.78 | 182.27 | 190.54 | 25 |

sand | 115.97 | 115.97 | 126.82 | 142.48 | 166.42 | 18 |

styr | 137.61 | 129.92 | 145.64 | 172.11 | 190.28 | 16 |

tma | 163.88 | 147.80 | 164.14 | 182.29 | 221.08 | 13 |

Total | 2184.41 | 2173.03 | 2493.89 | 2794.93 | 3065.55 | |

Percentage, % | 71.26 | 70.89 | 81.35 | 91.17 | 100 |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2022 by the authors. 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 (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Barkalov, A.; Titarenko, L.; Mazurkiewicz, M.
Reducing Hardware in LUT-Based Mealy FSMs with Encoded Collections of Outputs. *Electronics* **2022**, *11*, 3389.
https://doi.org/10.3390/electronics11203389

**AMA Style**

Barkalov A, Titarenko L, Mazurkiewicz M.
Reducing Hardware in LUT-Based Mealy FSMs with Encoded Collections of Outputs. *Electronics*. 2022; 11(20):3389.
https://doi.org/10.3390/electronics11203389

**Chicago/Turabian Style**

Barkalov, Alexander, Larysa Titarenko, and Małgorzata Mazurkiewicz.
2022. "Reducing Hardware in LUT-Based Mealy FSMs with Encoded Collections of Outputs" *Electronics* 11, no. 20: 3389.
https://doi.org/10.3390/electronics11203389