# Basic Approaches for Reducing Power Consumption in Finite State Machine Circuits--A Review
## 6 Replacing LUTs by Embedded Memory Blocks
The process is terminated if \(y_{E}=1\). In this case, \(Fetch=0\), and it is impossible to read MIs from the control memory. In the first MCUs, the CM was implemented using read-only memory (ROM) blocks. The circuit of BA is implemented using gates and multiplexers [134]. If a microprogram includes M microinstructions, then the number of address bits is determined by (4). Obviously, the following relation holds: \(|T|=|\Phi|=R\). In the case of FPGA-based FSMs, the analog of the CM is implemented by EMBs, the analog of the addressing block is implemented using LUTs and dedicated multiplexers [46]. There is a significant difference between ROMs and EMBs. Namely, EMBs are synchronized blocks having a special control input which can be connected with the pulse _Clock_[46]. Thus, there is no need to have a separate register of addresses. The RG is hidden inside an EMB. Also, an EMB has a special control input to generate the zero code on its outputs. This input can be connected with the pulse _Start_. A typical EMB has \(S_{A}\) address inputs, \(t_{F}\) cell outputs, and three control inputs \((Clk,\ En,\ Cl)\) (Figure 24). If Clock = 1, then the outputs of a cell determined by the address inputs are loaded into the internal register of EMB. If Clear = 1, then RG = 0, and the address inputs are ignored. If Enable = 0, then the EMB operates in its standard mode. If Enable = 1, then the EMB outputs are in the third state. This means that the EMB is not connected with other existing blocks. In [46], the authors propose to use EMBs for implementing Mealy FSM circuits. They propose an approach when the input MX cuts off the \"don't care\" FSM inputs (Figure 25). In [46], the authors show that using EMBs instead of LUTs allows a reduction in the power consumption. They write that \"although memory arrays have greater power consumption when compared to individual LUTs and flip-flops, for state machine which uses several flip-flops, LUTs, and significant routing resources, the EMB-based approach  
Figure 24: Organization of an embedded memory block. Figure 25: Structural diagram of an EMB-based Mealy FSM. has lower power consumption\". In Figure 25, the pulse _Clock_ is connected with the _CIk_ input of EMB, the pulse _Start_ is connected with _CI_, and \(En=0\). The results of experiments are presented in [46]. They were obtained using the chip XC2V250-6 fg256 by Virtex-II (Xilinx) and the library of standard FSM benchmarks [82]. To calculate the main characteristics of the FSM circuits (the number of EMBs, LUT counts, and power consumption), the authors used an experimental flow based on the CAD tool SIS [36]. This flow is shown in Figure 26.  
Using an initial STG, SIS generates a net-list of an FSM in \(blif\) format. This file describes the combinational circuit represented by (5)-(6) and the FSM state register. This file is transformed into a VHDL program using the translator from \(blif\) to VHDL. The tool Simplify-pro by Simplicity executes the technology mapping. As a result, an \(edif\) file is generated. It describes LUTs, FFs, and their interconnections. To execute the placement and routing, they use the Xilinx ISE 4.2.03i design tool suite. To calculate the power dissipation, the _ncd_ file enters Xpower tool. This tool also uses the \(rcd\) (value change dump) file produced by ModelSim simulator. These files are used to estimate the power dissipation. The results of the experiments in [46] show that using EMBs leads to a significant area and power consumption improvement. The area was measured as a mutual LUT count and the number of flip-flops. Table 3 includes the results of experiments on some of the benchmarks from [82]. The power was measured for different clock frequencies. But in Table 4, we show only results obtained for 100 MHz. The column \"%\" includes the percentage of power saving due to the replacement of LUTs by EMBs. Also, in [46], the authors propose to enable the EMB input for further power saving.