# Basic Approaches for Reducing Power Consumption in Finite State Machine Circuits--A Review
## 6 Replacing LUTs by Embedded Memory Blocks
If an FSM does not change its state (this is an idle state), then the pulse _Clock_ is disconnected from the synchronization input. To save power, it is necessary to add some LUT-based logic for the timing control. For Mealy FSMs, this block is synthesized using some inputs \(x_{l}\in X^{1}\), where \(X^{1}\subseteq X\), and some outputs \(y_{n}\in Y^{1}\), where \(Y^{1}\subseteq Y\). The outputs can be used for situations where a state is not changed, but outputs are changed. This situation is shown in Figure 27. \begin{table}
\begin{tabular}{l c c c c c c c} \hline \hline
**Benchmark** & \multicolumn{2}{c}{**LUT-Based FSMs**} & \multicolumn{2}{c}{**EMB-Based FSMs**} & \multicolumn{2}{c}{**\% for**} \\  & **LUT** & **FF** & **P (\(\mu\)W)** & **LUT** & **FF** & **P (\(\mu\)W)** & \\ \hline dk16 & 114 & 5 & 144.33 & 0 & 1 & 131.38 & 9.0 \\ tbb & 342 & 10 & 177.14 & 0 & 1 & 132.61 & 25.19 \\ keyb & 112 & 5 & 141.85 & 16 & 1 & 131.93 & 7.0 \\ donfile & 66 & 5 & 141.00 & 0 & 1 & 137.75 & 2.3 \\ sand & 263 & 10 & 185.08 & 20 & 2 & 162.83 & 12.2 \\ styr & 241 & 8 & 184.76 & 16 & 2 & 165.51 & 10.4 \\ ex1 & 144 & 5 & 197.50 & 15 & 3 & 190.37 & 3.6 \\ planet & 320 & 12 & 224.39 & 18 & 3 & 199.85 & 11.0 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Results of experiments [46]. Figure 26: Experimental flow used in [46]. As follows from Figure 26, the state \(a_{3}\) is not changed if there is either \(x_{1}=1\) or \(\overline{x_{1}}x_{2}=1\). But during these idle cycles, different collections of outputs are generated: \(\lambda(a_{3},x_{1})=\{y_{1},y_{2}\}\) and \(\lambda(a_{3},\overline{x_{1}}x_{2})=\{y_{3}\}\). The EMB-based Mealy FSM with the enabling _Clock_ is shown in Figure 28. The block CL represents the clock logic. This block generates the function  
\[En=f(T,X^{1},Y^{1}). \tag{17}\]  
As shown in [46], using CL allows a reduction in the power consumption compared with the Mealy FSM shown in Figure 25. But this approach is connected with the power overhead: the CL adds delay in performance and increases LUT count. Both saving power and area overhead are shown in Table 4.  
In Table 4, the column \"%\" includes power saving for the frequency equal to 100 MHz. This saving takes into account the power consumed by the block CL. As follows from Table 4, using EMBs and CL allows a saving from 4% to 26% compared with equivalent LUT-based FSMs. Of course, these numbers are valid only for these experiments' conditions. But this approach may be used if the power saving is the most important issue of a particular project. There is no need for the input register RGX for EMB-based FSMs. Due to the existence of the internal register inside EMB, the outputs \(y_{n}\in Y\) are registered. The registering outputs have the same positive effect as the registering inputs \(x_{l}\in X\). In both cases, the FSM outputs are stable. Also, using EMBs has a clear advantage over LUT-based approach. Namely, there is no need for using additional LUTs to create the input register RGX. \begin{table}
\begin{tabular}{l c c c c} \hline \hline \multirow{2}{*}{**Benchmark**} & **Power (\(\mu\)W) for** & \multirow{2}{*}{\%} & \multicolumn{2}{c}{**Area Overhead**} \\  & **100 MHz** & & **LUTs** & **Slices** \\ \hline dk16 & 127.97 & 11.33 & 4 & 2 \\ tbk & 127.86 & 26.12 & 62 & 32 \\ keyb & 129.13 & 9.00 & 4 & 3 \\ donfile & 134.44 & 4.60 & 4 & 2 \\ sand & 158.07 & 14.50 & 47 & 25 \\ styr & 159.09 & 13.89 & 17 & 10 \\ ex1 & 188.75 & 4.44 & 49 & 28 \\ planet & 190.47 & 15.20 & 9 & 13 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Saving and overhead from enabling EMB. Figure 27: Changing outputs for unchangeable state \(a_{3}\). Using EMBs makes sense only till there is no need for the cascading EMBs. Let the symbol \(S_{Amax}\) stand for the number of address inputs if \(t_{F}=1\). The cascading should be used if the following condition holds:  
\[\left|X^{1}\right|+R>S_{Amax}. \tag{18}\]  
This is quite possible than more than a single EMB is used for implementing an FSM circuit (even if (18) is violated).