# Technology Mapping of FSM Oriented to LUT-Based FPGA
## 6 Results
In the last two rows, appropriately marked total numbers of blocks were given. Firstly, (last but one row) the table shows total numbers of LUTs, which were used to carry out a transition and an output block. In addition, below, (the last row) the table presents the number of all the blocks used and needed to carry out FSM using the synthesis strategy. The DECOMP system is the tool in which decomposition algorithms based on the Ashenhurst-Curtis model were implemented. Synthesis process, based on decomposition, was carried out for the Spartan 3 [52]. LUTs, included in these FPGAs, may be configured to the forms of either _LUT_5/1_ or _LUT_4/2_, as shown in Figure 13a. The results for the DECOMP system are included in two tables, depending on the number of inner states of described automatons. The results obtained for DECOMP are shown in Tables 3 and 4. Figure 13: The ability of the configuration logic blocks in FPGA (field-programmable gate array) devices: (**a**) Spartan-3, (**b**) Artix-7, (**c**) Cyclone-10. \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c} \hline \hline  & & & & & \multicolumn{4}{c}{**Separate**} & \multicolumn{4}{c}{**Shared**} & \multicolumn{4}{c}{**Separate im.-**} \\  & & & & \multicolumn{4}{c}{**Implementation**} & \multicolumn{4}{c}{**Implementation**} & \multicolumn{4}{c}{**Shared im. **} \\ \hline \hline  & \multicolumn{4}{c}{**Benchmarks**} & \multicolumn{4}{c}{\(\delta\)} & \multicolumn{4}{c}{\(\lambda\)} & \multicolumn{4}{c}{\(\delta+\lambda\)} \\ \hline
**Name** & **In** & **Out** & **P** & **States** & **Blocks** & **Levels** & **Blocks** & **Levels** & **Blocks** & **Levels** & **Blocks** & **Levels** \\ \hline bbara & 4 & 2 & 60 & 10 & 9 & 3 & 3 & 2 & 11 & 3 & 1 & 0 \\ bbsse & 7 & 7 & 56 & 16 & 26  
While analyzing the results, taking into account the number of inner states, it can be seen that for FSMs that have a low number of inner states (\(<\)10), the obtained reduction of the number of blocks is higher. It is especially noticeable in the case of ABC that handles better with big FSMs. Both in the case of ABC and DECOMP systems, you can find cases for which common carrying out of a combinational part of FSM brings significant profits (ex6, opus, sse, ttk for the ABC system and dk17, sse, ttk for DECOMP). Unfortunately, in both systems, we can distinguish cases for which this approach gives much worse results in terms of number of blocks (keyb for ABC and ex4 for DECOMP). According to the authors, the problem may lie in the minimization of logic functions, which, associated with inadequately selected coding of internal states of FSM, means that the implementation of separate blocks \(\delta\) and \(\lambda\) gives better results. Comparing the number of logic levels, their number is usually the same, independent of the method of carrying out a combinational part of FSM. However, it can be seen that there are single benchmarks for which the joint implementation of both blocks gives slightly worse results. In the case of the ABC system, there is only one such case (dk15), while in the case of the DECOMP system, the number of such benchmarks is higher (dk14, dk17, s8, ex4, opus). It should be emphasized that the synthesis strategy in the DECOMP system is focused on reducing the number of LUTs, which can sometimes lead to an increase in the number of levels. It can be assumed that the larger the system is, the more this problem will get worse (the increase in the number of levels, while limiting the number of blocks). The circuit corresponding to the function \(\delta\) + \(\lambda\) is usually larger than the individual circuits corresponding to the function \(\delta\) and the function \(\lambda\). Therefore, it should be assumed that in some cases, the \(\delta+\lambda\) circuit is large enough to be observed. The ABC system is free of this disadvantage, which results from the way the technology mapping is implemented (resulting from the division of the AIG network). Unfortunately, in some cases, this makes it impossible to limit the number of blocks used.