Next Article in Journal
Optimal Design of Voltage Equalization Ring for the 1100 kV DC Voltage Proportional Standard Device Based on the Nation Standard Device Neural Network and Grey Wolf Optimization Algorithm
Next Article in Special Issue
Predicting Bus Travel Time in Cheonan City through Deep Learning Utilizing Digital Tachograph Data
Previous Article in Journal
LCSNet: Light-Weighted Convolution-Based Segmentation Method with Separable Multi-Directional Convolution Module for Concrete Crack Segmentation in Drones
Previous Article in Special Issue
Jointly Active/Passive Beamforming Optimization for Intelligent-Reflecting Surface-Assisted Cognitive-IoT Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Energy Efficient CLB Design Based on Adiabatic Logic for IoT Applications

VLSI Emerging Design and Nano Things Security Lab (VEDANTS-Lab), Department of Electrical Engineering and Computer Science, University of Tennessee, Knoxville, TN 37996, USA
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(7), 1309; https://doi.org/10.3390/electronics13071309
Submission received: 26 February 2024 / Revised: 22 March 2024 / Accepted: 29 March 2024 / Published: 31 March 2024

Abstract

:
Many IoT applications require high computational performance and flexibility, and FPGA is a promising candidate. However, increased computation power results in higher energy dissipation, and energy efficiency is one of the key concerns for IoT applications. In this paper, we explore adiabatic logic for designing an energy efficient configurable logic block (CLB) and compare it to the CMOS counterpart. The simulation results show that the proposed adiabatic-logic-based look-up table (LUT) has significant energy savings for the frequency range of 1 MHz to 40 MHz, and the least energy savings is at 40 MHz, which is 92.94% energy reduction compared to its CMOS counterpart. Further, the three proposed adiabatic-logic-based memory cells are 14T, 16T, and 12T designs with at least 88.2%, 84.2%, and 87.2% energy savings. Also, we evaluated the performance of the proposed CLBs using an adiabatic-logic-based LUT (AL-LUT) interfacing with adiabatic-logic-based memory cells. The proposed design shows significant energy reduction compared to a CMOS LUT interface with SRAM cells for different frequencies; the energy savings are at least 91.6% for AL-LUT 14T, 89.7% for AL-LUT 16T, and 91.3% AL-LUT 12T.

1. Introduction

The Internet of Things (IoT) is an emerging paradigm in which connected devices exchange data among themselves over networks for complex IoT tasks. It is deeply integrated into our daily activities, from smart home applications employing cameras and lighting systems to sophisticated healthcare solutions leveraging wearables and sensors [1,2,3,4]. A wide range of IoT applications raise the need for flexible and high-performance implementation. Field-programmable gate arrays (FPGAs) are a promising solution that provides great computing power and flexibility. An FPGA consists of configurable logic blocks (CLB), routing blocks, and I/O ports, which allows designers to tailor functionality to specific application needs. Furthermore, an FPGA provides numerous I/O ports that meet the communication requirements of different IoT applications. Also, the infinite reconfigurability of FPGAs provides great flexibility and short time-to-market [5,6,7,8,9,10].
Even with the many benefits of FPGAs, the energy efficiency of FPGA-based IoT applications continues to be one of the major concerns. It is made worse by the limited resources of IoT devices [11,12]. Many existing research studies present micro-architectural approaches to improve the energy efficiency of FPGAs, so it is beneficial to investigate energy efficient techniques at the circuit or system level [13,14]. Adiabatic logic is one such technique for designing energy efficient circuits. Adiabatic-logic-based circuits can effectively reduce the dynamic energy dissipation and recycle the charges from the load capacitance. Many adiabatic logic families, such as efficient charge recovery logic (ECRL) and positive feedback adiabatic logic (PFAL), show significant energy saving at low frequency ranges [15,16,17,18]. The low frequency required for IoT applications makes adiabatic logic a promising candidate for hardware implementation of IoT applications and low-frequency FPGAs [19,20].
Since the main component of an FPGA is the CLB, we investigate the effectiveness and feasibility of applying adiabatic logic to improve the energy efficiency of CLBs. Our proposed designs include an adiabatic-logic-based look-up table (AL-LUT) and adiabatic-logic-based memory cells for constructing the CLB. We present a comprehensive analysis conducted through the Cadence Spectre simulator to evaluate the viability of these designs. Additionally, we demonstrate the feasibility of designing energy efficient CLBs using adiabatic logic. The primary contributions of this study are outlined as follows:
  • We propose three adiabatic-logic-based memory cells, which are a 14T design, 16T design, and 12T design.
  • We propose an adiabatic-logic-based LUT that can interface different memories such as SRAM cells and adiabatic-logic-based memory cells.
  • We present case studies using an adiabatic-logic-based LUT and adiabatic-logic-based memory cells to build a CLB.
  • We conduct a comparative analysis of the proposed designs against their CMOS counterpart.
  • We also demonstrate that the proposed designs are significantly energy efficient.
  • We finally conclude that designing a CLB with adiabatic logic is a viable solution for energy-constrained IoT applications.
This article is organized as follows: Section 2 explains the essential information of FPGA and adiabatic logic. Section 3 describes our proposed adiabatic-logic-based LUT and adiabatic-logic-based memory cells. Section 4 includes the simulation results and discussion, and Section 5 concludes the article.

2. Background

This section provides a brief background of SRAM-based FPGAs and adiabatic logic. Here, we explain the architecture of SRAM-based FPGAs and the structure of a CLB. Further, we present the functionality principles of the LUT and memory cells, which are the building blocks of the CLB. Finally, we discuss the adiabatic logic’s energy reduction, charge recycling mechanism, and power clock scheme.

2.1. SRAM-Based Field-Programmable Gate Array (FPGA)

SRAM-based FPGAs have gained much attention in the commercial and academic domains. They stand out due to their flexibility and capability to be dynamically reconfigured, which enable designers to implement custom logic functions and algorithms suited to specific applications, unlike application-specific integrated circuits (ASICs), which have fixed functionality. These features of FPGAs allow designers to develop and test their prototype designs and reduce the time-to-market period [5,21]. Figure 1 presents the structure of an SRAM-based FPGA, where the blue blocks are the CLB, the yellow blocks are the switch block, the green blocks are the I/O port, and the parallel lines are the interconnect [22]. Switch blocks and interconnects are used in an SRAM-based FPGA to pass the signals between different CLBs. The other fundamental building block of the FPGA is the CLB. The CLB mainly consists of three parts: (1) look-up table (LUT), (2) flip flops, and (3) SRAM cells [21,23].
The LUT consists of a tree-like multiplexer and an array of SRAM cells. Figure 2 shows the basic structure of the LUT and SRAM cell in an FPGA [23,24]. When the designer programs the SRAM-based FPGA, SRAM cells store the configuration data of the logic function and routing data of the connections between CLBs. Once inputs are applied to the LUT, the LUT decodes the inputs to select the corresponding SRAM cell. The value in the SRAM cell is amplified as the output of the LUT.

2.2. Adiabatic Logic

Adiabatic logic refers to a specialized technique in digital circuit design that seeks to minimize energy consumption. Adiabatic-logic-based circuits use a slowly rising and falling power clock, which is sinusoidal in this study due to its less complex design and routing. This feature allows the adiabatic-logic-based circuit to minimize the energy loss due to the voltage differences between two nodes and recover the charges from the load capacitors [15]. Figure 3 illustrates the charging and discharging model for the adiabatic-logic-based circuit in each phase. Typically, the adiabatic-logic-based circuit works in two phases: (i) In the evaluation phase, the power clock rises from the ground ( G N D ) to full swing ( V d d ) and charges up one of the output nodes through the logic tree F or F ¯ ; (ii) the power clock falls from V d d to G N D in the recovery phase. Due to the voltage difference, the current flows from the output node to the power clock, leading to charge recovery. Those recovered charges are reused in the next evaluation. The energy dissipation is shown as follows:
E n e r g y , E = R C T C V d d 2
where V d d is the full swing of the power clock, C is the load capacitance, R is the transistor’s parasitic resistance, and T is the charging/discharging time of the load capacitor. Compared to conventional CMOS, the adiabatic-logic-based circuit consumes less energy when T > > 2 R C .

3. Proposed Adiabatic-Logic-Based Design

To investigate the benefits of applying adiabatic logic to a CLB, we design an adiabatic-logic-based LUT. Then, we explore the adiabatic-logic-based memory cells for additional energy reduction. We also build a CLB using adiabatic-logic-based LUT with SRAM cells or adiabatic-logic-based memory cells. Finally, two case studies are conducted to evaluate the performance of the proposed designs. All the proposed designs are simulated and compared to their CMOS counterpart.

3.1. Adiabatic-Logic-Based Look-Up-Table (LUT) for Configurable Logic Block (CLB)

Unlike CMOS LUT, an adiabatic-logic-based LUT (AL-LUT) works with a power clock that varies from full swing ( V d d ) to ground ( G N D ). Once the AL-LUT decodes the input and selects the SRAM cell with a logic value ‘1’ ( V d d ), it will lead to a short circuit as the power clock is at G N D . To avoid a short circuit between the power clock and SRAM cells, we use SRAM cells to drive the NMOS in a tree-like multiplexer. This allows the tree-like multiplexer to function in the proper adiabatic logic manner. Our previous design in [25], which is an adiabatic-logic-based sense amplifier (AL-SA), has been used to properly sense and amplify the value in the SRAM cell. Therefore, the proposed AL-LUT consists of a 5-bit tree-like multiplexer and an AL-SA, as shown in Figure 4. The 5-bit tree-like multiplexer has four select bits ( I 0 - I 3 and I 0 ¯ - I 3 ¯ ), and the fifth bit is the configurable bit from the SRAM cells. The function block F and its complementary F ¯ have been used on the side of the AL-SA. AL-LUT decodes the inputs, and the power clock charges one of the output nodes of the AL-SA through F or F ¯ . Later, the AL-SA further pulls up the node as the power clock rises to V d d . The waveform of a 16:1 AL-LUT is illustrated in Figure 5, and the detailed evaluation operation is as follows:
  • Pre-evaluation: At time = t 0 , a sense enable ( S E ) signal is applied to the access transistors ( N 3 and N 4 ) of the AL-SA. N 3 and N 4 connect the AL-SA with the logic trees F and F ¯ . Since all inputs are valid, one of the logic trees is ON, which connects one of the output nodes of the AL-SA to the power clock.
  • Evaluation: Between time t 0 and t 1 , the voltage of the power clock ( V p c ) begins rising, and S E remains at logic value ‘1’ until time = t 1 . Assuming the logic tree F is ON, the power clock pulls the O u t node up as it rises. The increased voltage of the O u t node turns N 1 ON, which results in the O u t ¯ node at the G N D . However, V p c is below the threshold voltage of the PMOS ( V t h p ), and P 2 remains inactive.
  • Amplifying: At time = t 1 , the S E signal is set to logic value ‘0’. N 3 and N 4 are OFF, disconnecting the output nodes of the AL-SA from the logic tree F and F ¯ . After time = t 1 , P 2 is ON, which causes AL-SA to pull the O u t node up to V p c , while N 1 pulls the O u t ¯ node down to G N D .
After the power clock reaches V d d , AL-LUT starts recovering the charges from the load capacitors. The load capacitance charges are recovered through P 2 to the power clock during this phase. The details of the recovery process are as follows:
  • Recovering: At time = t 2 , V p c falls from V d d . Hence, V p c is lower than the voltage of the O u t node. Due to the potential difference, the current flows from the O u t node to the power clock through P 2 .
  • Idle: At time = t 3 , V p c reaches V t h p ; this results in turning OFF P 2 . Therefore, the discharge process of the adiabatic-logic-based LUT is stopped, and the voltage of the O u t node remains at V t h p . The AL-LUT ends the charge recovery process after V P C falls below V t h p .

3.2. Proposed Adiabatic-Logic-Based Memory Cell

To further reduce energy dissipation, we explored using an adiabatic-logic-based memory cell to replace the SRAM cell in the FPGA. Figure 6 shows the basic block of the proposed adiabatic-logic-based memory cell, which has two operation modes: hold mode and write mode. The circuit mode depends on the inputs of N 3 and N 4 . If the inputs of N 3 and N 4 are at logic value ‘0’, the circuit is in hold mode. If the logic values of the inputs of N 3 and N 4 are complementary, the circuit is in write mode. In write mode, based on the values of the inputs of N 3 and N 4 , one of these NMOSs is ON and connects its corresponding output to the power clock ( P C ), and the data will be latched in the core circuit. After each write or hold operation, the output node with logic value ‘1’ is discharged through the PMOS ( P 1 or P 2 ). However, the PMOS transistors can not discharge to logic value ‘0’ in a full-swing manner since they will be OFF for the gate to source voltages below V t h p . Accordingly, there will be some residual charge in one of the output nodes of the core circuit. We assume the O u t node has logic value ‘0’ and the O u t ¯ node has logic value ‘1’ in the first clock cycle (from t0 to t1). Therefore, P 2 cannot completely discharge the O u t ¯ node, and some residual charge remains at this node. In the next clock cycle, if the circuit is in hold mode, the power clock starts rising from the G N D toward V d d , and P 2 turns ON faster than P 1 due to those residual charges. Accordingly, the core circuit sets the O u t ¯ node as logic value ‘1’ and the O u t node as logic value ‘0’. Figure 7 shows the waveform of the basic block of the proposed adiabatic-logic-based memory cell. In this figure, the logic values of ‘0’ and ‘1’ are written into the memory cell’s O u t and O u t ¯ nodes, respectively. In the next two clock cycles, no new input is applied to the circuit, and the circuit is in hold mode, which leads to repeated outputs.
It is noteworthy that Figure 6 is a basic block, and the actual proposed adiabatic-logic-based memory cell designs will be presented in the following section.
Since adiabatic logic works in a pipeline fashion, we can cascade the adiabatic-logic-based memory cell to build a 16-bit memory cell with a two-phase sinusoidal power clock scheme. However, cascading the adiabatic-logic-based memory cells will result in a synchronization issue. For the adiabatic-logic-based circuit, the output is only valid during a certain period of the clock cycle: typically when the power clock is at logic value ‘1’ or V d d . Again, the 16-bit memory cell requires two power clocks for proper operation, which leads to invalid output from half of the memory cells. However, AL-LUT requires all valid outputs from the memory cell during the evaluation phase. Therefore, 16:1 AL-LUT cannot generate proper outputs when interfacing with a 16-bit adiabatic-logic-based memory cell. Figure 8a shows a 16:1 AL-LUT interfacing with a 16-bit adiabatic-logic-based memory cell ( P C 0 is power clock 0 and P C 1 is power clock 1 at a 180-degree phase shift). AL-LUT is connected to P C 0 , and the 16-bit adiabatic-logic-based memory cell is connected to both power clocks ( P C 0 and P C 1 ). Here, the odd cells ( D 1 , D 3 , D 5 , …, D 15 ) are connected to P C 0 , and the even cells ( D 0 , D 2 , D 4 , …, D 14 ) are connected to P C 1 . When the AL-LUT performs the evaluation, P C 0 starts rising from G N D , and P C 1 is at V d d . Therefore, the even cells have valid outputs, and the odd cells do not have valid outputs since the odd cells are in the evaluation phase. These invalid outputs from the odd cells result in false evaluation of the AL-LUT.
To resolve this synchronization issue, we need to duplicate the adiabatic-logic-based memory cell to provide valid outputs for the AL-LUT. As shown in Figure 8b, we include another adiabatic-logic-based memory cell to form the new 1-bit memory cell. Hence, the new 1-bit memory cell has two copies of the data (where one copy is stored in the even cell, and the other is stored in the odd cell). Since the AL-LUT is connected to P C 0 and the odd cell in the new 1-bit memory cell is connected to P C 1 , the odd cell can provide valid output to the AL-LUT. Therefore, we can cascade the new 1-bit memory cell to build the 16-bit adiabatic-logic-based memory cell for the 16:1 AL-LUT.
During the writing process of the 16-bit adiabatic-logic-based memory cell, all data are written to the first memory cell ( D 15 ), and it propagates the data through the rest of the memory cells. After the last data are written to D 15 , the writing process ends, and no inputs will be applied to the 16-bit adiabatic-logic-based memory cell. However, the data in D 15 will continue propagating through the rest of the memory cells, resulting in all the memory cells having the same data as D 15 . Hence, we propose three adiabatic-logic-based memory cells to stop the propagating after the last data are written.

3.2.1. Proposed 14T Adiabatic-Logic-Based Memory Cell

The proposed 14T adiabatic-logic-based memory cell is illustrated in Figure 9a. It consists of M C 1 for storing the data and M C 2 [18] for supplying output to the AL-LUT. M C 1 has two pairs of NMOS ( N 5 , N 7 and N 6 , N 8 ) for controlling the writing process. N 5 and N 6 stop the propagation after the writing process is completed, and N 7 and N 8 are used to prevent the input nodes of N 9 and N 10 from floating in hold mode.
The writing process begins when the Enable (EN) signal is applied to the enable transistors ( N 5 and N 6 ) of M C 1 while the Hold signal is at logic value ‘0’. The enable transistors pass the inputs ( I n and I n ¯ ) to the input transistors ( N 9 and N 10 ). Assuming I n is at logic value ‘1’ and I n ¯ is at logic value ‘0’, these set M C 1 ’s O u t node as logic value ‘1’ and O u t ¯ node as logic value ‘0’. Therefore, M C 1 stores the data, which completes the writing process. Meanwhile, the EN is set to logic value ‘0’ to turn N 5 and N 6 OFF, and Hold is set to logic value ‘1’ to turn ON N 7 and N 8 . N 7 and N 8 pull the input nodes of N 9 and N 10 to G N D , ensuring the correct functionality of the 14T memory cell. Further, the outputs from M C 1 lead M C 2 to set its O u t node as logic value ‘1’ and O u t ¯ node as logic value ‘0’ when P C 1 starts rising from G N D . M C 2 provides the valid output to AL-LUT when P C 1 reaches V d d . It is noteworthy that M C 2 also acts as a buffer, and unlike its CMOS counterpart, the proposed 14T memory cell does not need a buffer circuit as an interface with the LUTs.

3.2.2. Proposed 16T Adiabatic-Logic-Based Memory Cell

The 16T adiabatic-logic-based memory cell (Figure 9b) has two AL-SA-based memory cells ( M C 3 and M C 4 ). The AL-SA-based memory cell adopts the AL-LUT design and consists of an AL-SA with an extra pair of NMOSs ( N 5 and N 6 ). The extra pair of NMOSs are the input transistors, and N 7 and N 8 are the access transistors. The writing process of the proposed 16T memory cell is similar to that of the AL-LUT. We assume the inputs I n and I n ¯ are at logic values ‘1’ and ‘0’, respectively. S E 0 is set to logic value ‘1’ for a short amount of time and will be applied to M C 3 to enable the writing process. P C 0 charges up the O u t node in M C 3 through N 6 and N 8 , storing the data in M C 3 . It further amplifies the data after S E 0 is set to logic value ‘0’. Similarly, M C 4 evaluates and stores the data when S E 1 is applied. After S E 1 is set to logic value ‘0’, the writing process ends, and M C 4 further amplifies the data. In hold mode, S E 0 and S E 1 remain at logic value ‘0’ to avoid altering the data in M C 3 and M C 4 . Therefore, M C 3 and M C 4 generate repeated outputs while the circuit is in hold mode. Also, like the proposed 14T memory cell, the proposed 16T memory cell does not need a buffer as an interface with LUT, and M C 4 acts as a buffer, too.

3.2.3. Proposed 12T Adiabatic-Logic-Based Memory Cell

Adiabatic logic is dual-rail in nature, leading to an increase in the circuit size compared to its CMOS counterpart. Reducing the memory cell size will result in an overall area reduction when designing the CLB. Therefore, we propose a 12T adiabatic-logic-based memory cell by replacing M C 4 in the 16T memory cell with M C 2 from the 14T memory cell. Figure 9c shows the schematic of the 12T memory cell. In the 12T memory cell, M C 5 stores the data, and M C 6 supplies output to the AL-LUT.
During the write operation of the 12T memory cell, S E 0 is set to V d d for a short amount of time and is then applied to M C 5 . Based on the inputs, one side of the output nodes of M C 5 will be pulled up by P C 0 . Later, the data are latched into M C 5 , and S E 0 is set to logic value ‘0’. Further, the output will be amplified by M C 5 , which completes the writing process. When P C 0 reaches V d d , the output of M C 5 becomes valid for M C 6 . Therefore, M C 6 will generate the proper output for the AL-LUT. After writing the data into the memory cell, S E 0 remains at the logic value ‘0’ to stop propagating the data to the other memory cells. It is noteworthy that, like the other proposed memory cell in this paper, the proposed 12T memory cell does not need buffer circuitry as an interface with LUT.

4. Simulation Results and Discussion

The proposed designs and their counterpart are investigated and compared in this section. The schematic was created with TSMC 65 nm using Cadence Virtuoso and simulated using Cadence Spectre. In order to eliminate the effects of the initial conditions of the circuits, the configurations of the CLBs are written on the proposed memory cells and their CMOS counterpart. It is noteworthy that the results of this process have not been taken into account in the reported results. Further, the energy performance of all the designs is evaluated by energy per cycle for this study.

4.1. Proposed Adiabatic-Logic-Based LUT

The simulation results and comparison of the proposed adiabatic-logic-based LUT and its CMOS counterpart have been investigated. The simulation results are listed in Table 1 for the frequency range from 1 MHz to 40 MHz. The results show that the AL-LUT has significantly less energy dissipation than its CMOS counterpart. The energy consumption of the COMS LUT ranges from 196.9 fJ to 13.18 fJ, and the proposed adiabatic-logic-based LUT ranges from 13.79 fJ to 0.931 fJ. Figure 10 shows the energy saving of the proposed design compared to its CMOS counterpart for different frequencies. The proposed AL-LUT has a minimum savings of 92.94% at 40 MHz and a maximum savings of 93.67% at 12.5 MHz. Further, the energy savings are relatively consistent across the 1 to 40 MHz range.

4.2. Proposed Adiabatic-Logic-Based Memory Cells

The energy consumption of the proposed adiabatic-logic-based memory cells for 16-bit memory is presented in Table 2. The results show that all proposed adiabatic-logic-based memory cells consume significantly less energy compared to the SRAM cell. For example, the SRAM cell dissipates 37.25 fJ at 12.5 MHz. The energy consumptions of the proposed designs at this frequency are 3.872 fJ, 4.823 fJ, and 4.041 fJ for the 14T memory cell, the 16T memory cell, and the 12T memory cell, respectively. The proposed 14T memory cell has the lowest energy consumption among the three proposed designs. Figure 11 shows the energy savings of the proposed 16-bit adiabatic-logic-based memory cells. The results show the energy savings for all of the proposed memory cells. In the frequency range of 1 MHz to 40 MHz, the maximum and minimum energy savings of the three proposed designs are 90.2% and 84.2%, respectively. The best energy savings are reached at 1 MHz for all of the proposed designs. At 1 MHz, the energy savings are 90.2% for the 14T memory cell, 88.2% for the 16T memory cell, and 90.0% for the 12T memory cell.

4.3. Case Study: Combining Proposed Adiabatic-Logic-Based LUT with SRAM Cell and Proposed Adiabatic-Logic-Based Memory Cells for Building CLB

To better understand the performance of the proposed designs using adiabatic logic, different CLBs using an SRAM cell and the proposed memory cells combined with AL-LUT and CMOS LUT (C-LUT) are simulated. Different simulated combinations of memory cells and LUTs to build different CLBs are shown in Table 3.

4.3.1. Proposed Adiabatic-Logic-Based LUT with Different Memory Cells at Different Frequencies

The energy consumption of the different designs is listed in Table 4. Even in the case of only using AL-LUT instead of C-LUT and combining it with SRAM cells (AL-LUT with SRAM), the energy consumption is reduced compared to C-LUT with SRAM. In addition, using the proposed adiabatic memory cells alongside the AL-LUT to implement the CLB reduces energy consumption even further. For example, at 12.5 MHz, the energy consumptions of C-LUT with SRAM and AL-LUT with SRAM are 61.19 fJ and 42.46 fJ, respectively. Also, at 12.5 MHz, the AL-LUT with 14T, AL-LUT with 16T, and AL-LUT with 12T designs use 5.04 fJ, 5.992 fJ, and 5.21 fJ, respectively, which is significantly lower than the energy consumption of AL-LUT with SRAM and C-LUT with SRAM. Also, comparing the energy consumption of AL-LUT with SRAM and CLBs using AL-LUT and adiabatic-logic-based memory cells shows the crucial role of the adiabatic-logic-based memory cells in maximizing energy savings. It is also noteworthy that this significant reduction in energy consumption is achieved across all frequencies from 1 MHz to 40 MHz.
Figure 12 shows the energy savings of the proposed designs compared to C-LUT with SRAM. The energy savings of AL-LUT with SRAM varies from 17.71% to 48.29% at the frequency range of 1 MHz to 40 MHz. It achieves more energy savings as the frequency increases. However, it has significantly lower energy savings than the other proposed designs. For example, the CLB designs with AL-LUT and adiabatic-logic-based memories have relatively consistent energy savings of around 91% across the frequencies from 1 MHz to 40 MHz compared to C-LUT with SRAM. Among the proposed designs, AL-LUT with 14T has the best energy saving.

4.3.2. Proposed Adiabatic-Logic-Based LUT with Memory Cells with Different Supply Voltage

In order to investigate the effects of different supply voltage values on the proposed designs, the designs in Table 3 are simulated with different power supply voltages. Table 5 presents the energy consumption of the five designs at 12.5 MHz. All proposed designs consume significantly less energy than their CMOS counterpart in the voltage range of 1.2 V to 0.7 V. As expected, AL-LUT with SRAM has significantly less energy savings compared to the AL-LUT interfacing with the proposed adiabatic-logic-based memory cells.
Figure 13 shows the energy savings of the proposed designs compared to their CMOS counterpart with supply voltages ranging from 1.2 V to 0.7 V. At 0.7 V, the energy saving of AL-LUT with SRAM is 28.2%, which is significantly lower energy savings compared to the other proposed CLB designs. For example, also at 0.7 V, AL-LUT with 14T is 89.8%, AL-LUT with 16T is 89.4%, and AL-LUT with 12T is 90.7%. Further, the simulation results show that the energy savings of all of the proposed designs slightly decreases as the supply voltage decreases, but the difference is negligible. Hence, it can be concluded that the energy savings across the voltage range from 1.2 V to 0.7 V is almost consistent.
In order to compare the area overhead of the proposed designs and their counterpart, transistor count is used as the metric. Table 6 shows the transistor count of the 16:1 LUT designs. Since adiabatic logic is usually designed in a dual-rail fashion, it has double the transistor count compared to CMOS-based logic, as indicated by the results in Table 6 for LUT designs. On the other hand, the proposed memory cells in this paper have fewer transistors compared to their counterpart (SRAM cells in FPGAs). Accordingly, the results in Table 6 show that all proposed CLBs in this paper have fewer transistors compared to their CMOS counterpart, and AL-LUT with 16T, 14T, and 12T reduce the transistor count by 19.40%, 21.36%, and 35.32%, respectively.

5. Conclusions

In this article, we utilized adiabatic logic to improve the energy efficiency of a CLB. We proposed a 16:1 adiabatic-logic-based LUT (AL-LUT). The proposed AL-LUT shows significant energy savings compared to its CMOS counterpart. However, the overall energy savings of AL-LUT was significantly reduced when including the energy of the SRAM cell. We explored adiabatic logic and designed a memory cell for further energy savings. Three proposed adiabatic-logic-based memory cells are 14T, 16T, and 12T designs. The proposed memory cells show significant energy savings compared to their CMOS counterparts. Also, the energy savings significantly increase by using the proposed memory cells alongside the AL-LUT compared to the CMOS counterpart and the AL-LUT and SRAM cell. This comparison shows the significant impact of using adiabatic-logic-based memory cells on the energy savings of CLBs. We conducted two case studies with frequency sweep and voltage sweep to investigate the performance of AL-LUT with different memories at different frequencies and supply voltages. Both studies indicate that AL-LUT with the proposed memory cells shows significant energy reduction. Our study concludes that the proposed AL-LUT and memory cell are viable solutions to help FPGAs meet the energy requirements of IoT applications.

Author Contributions

Conceptualization, W.Y. and H.T.; Data curation, W.Y.; Formal analysis, W.Y. and M.T.N.; Funding acquisition, H.T.; Investigation, W.Y. and H.T.; Methodology, W.Y. and M.T.N.; Project administration, H.T.; Resources, H.T.; Software, W.Y. and M.T.N.; Supervision, H.T.; Validation, W.Y.; Writing—original draft, W.Y. and M.T.N.; Writing—review and editing, H.T. and M.T.N. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the National Science Foundation CAREER Award under grant 2232235.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
AL-LUTAdiabatic Logic-based Look-up Table
AL-SAAdiabatic Logic-based Sense Amplifier
ASICsApplication-Specific Integrated Circuits
CLBConfigurable Logic Block
C-LUTCMOS LUT
ENEnable
ECRLEfficient Charge Recovery Logic
FPGAField-Programmable Gate Array
G N D Ground
V d d Full Voltage Swing
LUTLook-up Table
IoTInternet of Things
P C Power Clock
P C 0 Power Clock 0
P C 1 Power Clock 1
PFALPositive Feedback Adiabatic Logic
S E Sense Enable Signal
S E 0 Sense Enable Signal 0
S E 1 Sense Enable Signal 1
SRAM cellCMOS SRAM in FPGA
V p c Voltage of the Power Clock
V t h p Threshold Voltage of the PMOS

References

  1. Selvaraj, S.; Sundaravaradhan, S. Challenges and opportunities in IoT healthcare systems: A systematic review. SN Appl. Sci. 2020, 2, 139. [Google Scholar] [CrossRef]
  2. Risteska Stojkoska, B.L.; Trivodaliev, K.V. A review of Internet of Things for smart home: Challenges and solutions. J. Clean. Prod. 2017, 140, 1454–1464. [Google Scholar] [CrossRef]
  3. Malche, T.; Maheshwary, P. Internet of Things (IoT) for building smart home system. In Proceedings of the 2017 International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), Palladam, India, 10–11 February 2017; pp. 65–70. [Google Scholar] [CrossRef]
  4. Nasab, M.T.; Amirany, A.; Moaiyeri, M.H.; Jafari, K. Hybrid MTJ/CNTFET-Based Binary Synapse and Neuron for Process-in-Memory Architecture. IEEE Magn. Lett. 2023, 14, 4500105. [Google Scholar] [CrossRef]
  5. Elnawawy, M.; Farhan, A.; Nabulsi, A.A.; Al-Ali, A.; Sagahyroon, A. Role of FPGA in Internet of Things Applications. In Proceedings of the 2019 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT), Ajman, United Arab Emirates, 10–12 December 2019; pp. 1–6. [Google Scholar] [CrossRef]
  6. Zhang, X.; Ramachandran, A.; Zhuge, C.; He, D.; Zuo, W.; Cheng, Z.; Rupnow, K.; Chen, D. Machine learning on FPGAs to face the IoT revolution. In Proceedings of the 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Irvine, CA, USA, 13–16 November 2017; pp. 894–901. [Google Scholar] [CrossRef]
  7. Nasab, M.T.; Amirany, A.; Moaiyeri, M.H.; Jafari, K. Radiation Immune Spintronic Binary Synapse and Neuron for Process-in-Memory Architecture. IEEE Magn. Lett. 2024, 15, 4500105. [Google Scholar] [CrossRef]
  8. Liu, Y.; Briones, J.; Zhou, R.; Magotra, N. Study of secure boot with a FPGA-based IoT device. In Proceedings of the 2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS), Boston, MA, USA, 6–9 August 2017; pp. 1053–1056. [Google Scholar] [CrossRef]
  9. Garrido, M.J.; Pescador, F.; Chavarrías, M.; Lobo, P.J.; Sanz, C. A High Performance FPGA-Based Architecture for the Future Video Coding Adaptive Multiple Core Transform. IEEE Trans. Consum. Electron. 2018, 64, 53–60. [Google Scholar] [CrossRef]
  10. Charitopoulos, G.; Koidis, I.; Papadimitriou, K.; Pnevmatikatos, D. Hardware Task Scheduling for Partially Reconfigurable FPGAs. In Proceedings of the Applied Reconfigurable Computing, Bochum, Germany, 13–17 April 2015; pp. 487–498. [Google Scholar]
  11. Magyari, A.; Chen, Y. Review of State-of-the-Art FPGA Applications in IoT Networks. Sensors 2022, 22, 7496. [Google Scholar] [CrossRef] [PubMed]
  12. Umapathy, K.; Muthukumaran, D.; Chandramohan, S.; Sivakumar, M.; James, O. Low Power Methodologies for FPGA—An Overview. In Low Power Architectures for IoT Applications; Sharma, D.K., Sharma, R., Jeon, G., Polkowski, Z., Eds.; Springer Nature: Singapore, 2023; pp. 85–97. [Google Scholar]
  13. Qi, H.; Ayorinde, O.; Calhoun, B.H. An ultra-low-power FPGA for IoT applications. In Proceedings of the 2017 IEEE SOI-3D-Subthreshold Microelectronics Technology Unified Conference (S3S), Burlingame, CA, USA, 16–19 October 2017; pp. 1–3. [Google Scholar] [CrossRef]
  14. Salami, B.; Onural, E.B.; Yuksel, I.E.; Koc, F.; Ergin, O.; Cristal Kestelman, A.; Unsal, O.; Sarbazi-Azad, H.; Mutlu, O. An Experimental Study of Reduced-Voltage Operation in Modern FPGAs for Neural Network Acceleration. In Proceedings of the 2020 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Valencia, Spain, 29 June–2 July 2020; pp. 138–149. [Google Scholar] [CrossRef]
  15. Teichmann, P. Adiabatic Logic: Future Trend and System Level Perspective; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2011; Volume 34. [Google Scholar]
  16. Kumar, S.D.; Thapliyal, H.; Mohammad, A. EE-SPFAL: A Novel Energy-Efficient Secure Positive Feedback Adiabatic Logic for DPA Resistant RFID and Smart Card. IEEE Trans. Emerg. Top. Comput. 2019, 7, 281–293. [Google Scholar] [CrossRef]
  17. Vetuli, A.; Di Pascoli, S.; Reyneri, L. Positive feedback in adiabatic logic. Electron. Lett. 1996, 32, 1867–1868. [Google Scholar] [CrossRef]
  18. Moon, Y.; Jeong, D.K. An efficient charge recovery logic circuit. IEICE Trans. Electron. 1996, 79, 925–933. [Google Scholar]
  19. Yang, W.; Thapliyal, H. Low-Power and Energy-Efficient Full Adders With Approximate Adiabatic Logic for Edge Computing. In Proceedings of the 2020 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Limassol, Cyprus, 6–8 July 2020; pp. 312–315. [Google Scholar] [CrossRef]
  20. Nasab, M.T.; Thapliyal, H. Low-Power Adiabatic/MTJ LIM-Based XNOR/XOR Synapse and Neuron for Binarized Neural Networks. In Proceedings of the 2023 IEEE 23rd International Conference on Nanotechnology (NANO), Jeju City, Republic of Korea, 2–5 July 2023; pp. 649–654. [Google Scholar] [CrossRef]
  21. Gandhare, S.; Karthikeyan, B. Survey on FPGA Architecture and Recent Applications. In Proceedings of the 2019 International Conference on Vision towards Emerging Trends in Communication and Networking (ViTECoN), Vellore, India, 30–31 March 2019; pp. 1–4. [Google Scholar] [CrossRef]
  22. Amirany, A.; Jafari, K.; Moaiyeri, M.H. A Task-Schedulable Nonvolatile Spintronic Field-Programmable Gate Array. IEEE Magn. Lett. 2021, 12, 4502304. [Google Scholar] [CrossRef]
  23. Rai, S.; Nath, P.; Rupani, A.; Vishvakarma, S.K.; Kumar, A. A Survey of FPGA Logic Cell Designs in the Light of Emerging Technologies. IEEE Access 2021, 9, 91564–91574. [Google Scholar] [CrossRef]
  24. Gaillardon, P.E.; Tang, X.; Sandrini, J.; Thammasack, M.; Omam, S.R.; Sacchetto, D.; Leblebici, Y.; De Micheli, G. A ultra-low-power FPGA based on monolithically integrated RRAMs. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 14–18 March 2015; pp. 1203–1208. [Google Scholar] [CrossRef]
  25. Yang, W.; Degada, A.; Thapliyal, H. Adiabatic Logic-based STT-MRAM Design for IoT. In Proceedings of the 2022 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Paphos, Cyprus, 4–6 July 2022; pp. 235–240. [Google Scholar] [CrossRef]
  26. Chiasson, C.; Betz, V. COFFE: Fully-automated transistor sizing for FPGAs. In Proceedings of the 2013 International Conference on Field-Programmable Technology (FPT), Kyoto, Japan, 9–11 December 2013; pp. 34–41. [Google Scholar] [CrossRef]
Figure 1. The structure of an SRAM-based FPGA.
Figure 1. The structure of an SRAM-based FPGA.
Electronics 13 01309 g001
Figure 2. The structure of the circuit: (a) CMOS LUT and (b) SRAM in FPGA, where I n is the input and I n ¯ is its complement, and D m is the configuration data (n = 1, 2 …4 and m = 1, 2 …16).
Figure 2. The structure of the circuit: (a) CMOS LUT and (b) SRAM in FPGA, where I n is the input and I n ¯ is its complement, and D m is the configuration data (n = 1, 2 …4 and m = 1, 2 …16).
Electronics 13 01309 g002
Figure 3. Adiabatic logic charging and discharging model.
Figure 3. Adiabatic logic charging and discharging model.
Electronics 13 01309 g003
Figure 4. The schematic of the proposed adiabatic-logic-based LUT. The core circuit is shown in the dashed-line box, where I n is the input and I n ¯ is its complement, and D m are the configuration data and D m ¯ are their complements (n = 1, 2 …4 and m = 1, 2 …16).
Figure 4. The schematic of the proposed adiabatic-logic-based LUT. The core circuit is shown in the dashed-line box, where I n is the input and I n ¯ is its complement, and D m are the configuration data and D m ¯ are their complements (n = 1, 2 …4 and m = 1, 2 …16).
Electronics 13 01309 g004
Figure 5. Example of the adiabatic-logic-based LUT’s operation ( I n 2 and I n 3 are constant, and PC is the power clock).
Figure 5. Example of the adiabatic-logic-based LUT’s operation ( I n 2 and I n 3 are constant, and PC is the power clock).
Electronics 13 01309 g005
Figure 6. The structure of the basic block of the proposed adiabatic-logic-based memory cell, where PC is the power clock.
Figure 6. The structure of the basic block of the proposed adiabatic-logic-based memory cell, where PC is the power clock.
Electronics 13 01309 g006
Figure 7. The waveform of the basic block of the proposed adiabatic-logic-based memory cell. When no inputs are applied to the basic block, it generates the repeated output after time = t1.
Figure 7. The waveform of the basic block of the proposed adiabatic-logic-based memory cell. When no inputs are applied to the basic block, it generates the repeated output after time = t1.
Electronics 13 01309 g007
Figure 8. Illustration of the 16:1 AL-LUT interfaced with the 16-bit adiabatic-logic-based memory cell: (a) Synchronization issue due to invalid output from the memory cell. (b) The proposed solution for solving the synchronization issue.
Figure 8. Illustration of the 16:1 AL-LUT interfaced with the 16-bit adiabatic-logic-based memory cell: (a) Synchronization issue due to invalid output from the memory cell. (b) The proposed solution for solving the synchronization issue.
Electronics 13 01309 g008
Figure 9. Proposed 1-bit adiabatic-logic-based memory cell: (a) 14T adiabatic-logic-based memory cell, (b) 16T adiabatic-logic-based memory cell, and (c) 12T adiabatic-logic-based memory cell.
Figure 9. Proposed 1-bit adiabatic-logic-based memory cell: (a) 14T adiabatic-logic-based memory cell, (b) 16T adiabatic-logic-based memory cell, and (c) 12T adiabatic-logic-based memory cell.
Electronics 13 01309 g009
Figure 10. The energy savings of the proposed adiabatic-logic-based memory design compared to the CMOS LUT at different frequencies.
Figure 10. The energy savings of the proposed adiabatic-logic-based memory design compared to the CMOS LUT at different frequencies.
Electronics 13 01309 g010
Figure 11. The energy savings of the proposed adiabatic-logic-based memory design compared to the CMOS-based SRAM at different frequencies.
Figure 11. The energy savings of the proposed adiabatic-logic-based memory design compared to the CMOS-based SRAM at different frequencies.
Electronics 13 01309 g011
Figure 12. The energy savings of the 16:1 adiabatic-logic-based LUT with different memory designs compared to the CMOS-based LUT with SRAM cells at different frequencies.
Figure 12. The energy savings of the 16:1 adiabatic-logic-based LUT with different memory designs compared to the CMOS-based LUT with SRAM cells at different frequencies.
Electronics 13 01309 g012
Figure 13. The energy savings of the 16:1 adiabatic-logic-based LUT with different memory designs compared to the CMOS-based LUT with SRAM cells using different supply voltages.
Figure 13. The energy savings of the 16:1 adiabatic-logic-based LUT with different memory designs compared to the CMOS-based LUT with SRAM cells using different supply voltages.
Electronics 13 01309 g013
Table 1. Energy performance (fJ/cycle) comparison for proposed 16:1 adiabatic-logic-based LUT design at different frequencies.
Table 1. Energy performance (fJ/cycle) comparison for proposed 16:1 adiabatic-logic-based LUT design at different frequencies.
Frequency (Hz)1 M2.5 M5 M10 M12.5 M20 M40 M
CMOS LUT [23,26]196.984.0346.4427.6923.9418.2513.18
Proposed AL-LUT13.795.6913.0321.7571.5151.1730.931
Table 2. Energy performance (fJ/cycle) comparison for proposed 16-bit adiabatic-logic-based memory cell at different frequencies.
Table 2. Energy performance (fJ/cycle) comparison for proposed 16-bit adiabatic-logic-based memory cell at different frequencies.
Frequency (Hz)1 M2.5 M5 M10 M12.5 M20 M40 M
SRAM cell [24]435175.689.1345.937.2524.2813.47
Proposed 14T Design41.917.258.9054.7153.8722.5951.587
Proposed 16T Design51.421.0110.875.8264.8233.2962.122
Proposed 12T Design43.4817.799.1934.9014.0412.7411.720
Table 3. Case study: building the CLB with the adiabatic-logic-based LUT and the different memory cells.
Table 3. Case study: building the CLB with the adiabatic-logic-based LUT and the different memory cells.
CLB DesignLook-Up TableMemory Cell
C-LUT with SRAMCMOS LUT [23,26]SRAM cells [24]
AL-LUT with SRAMProposed Adiabatic-Logic-Based LUTSRAM cells [24]
AL-LUT with 14TProposed Adiabatic-Logic-Based LUTProposed Adiabatic-Logic-Based 14T Memory Cell
AL-LUT with 16TProposed Adiabatic-Logic-Based LUTProposed Adiabatic-Logic-Based 16T Memory Cell
AL-LUT with 12TProposed Adiabatic-Logic-Based LUTProposed Adiabatic-Logic-Based 12T Memory Cell
Table 4. Energy performance (fJ/cycle) comparison for proposed 16:1 adiabatic-logic-based LUT with different memory cells at different frequencies.
Table 4. Energy performance (fJ/cycle) comparison for proposed 16:1 adiabatic-logic-based LUT with different memory cells at different frequencies.
Frequency (Hz)1 M2.5 M5 M10 M12.5 M20 M40 M
C-LUT with SRAM632259.6135.673.5961.1942.5326.65
AL-LUT with SRAM520.1208.910552.8942.4626.8113.78
AL-LUT with 14T53.0321.8511.346.0925.043.4512.196
AL-LUT with 16T62.6525.6113.317.2045.9924.1532.733
AL-LUT with 12T54.7122.3911.636.2795.213.5972.331
Table 5. Energy performance (fJ/cycle) comparison for proposed 16:1 adiabatic-logic-based LUT with different memories using different supply voltages.
Table 5. Energy performance (fJ/cycle) comparison for proposed 16:1 adiabatic-logic-based LUT with different memories using different supply voltages.
Voltage (V)1.21.11.00.90.80.7
C-LUT with SRAM61.1942.3628.9938.9312.898.196
AL-LUT with SRAM42.4629.5820.3627.249.1765.955
AL-LUT with 14T5.043.7122.7023.4211.4181.018
AL-LUT with 16T5.9924.3253.0913.7111.581.131
AL-LUT with 12T5.213.7612.6863.261.3690.973
Table 6. Transistor count of CLB using proposed 16:1 adiabatic-logic-based LUT design with different memories and its CMOS counterpart.
Table 6. Transistor count of CLB using proposed 16:1 adiabatic-logic-based LUT design with different memories and its CMOS counterpart.
16:1 Look-Up Table
DesignCMOS LUT [23,26]Proposed AL-LUT
Transistor Count3468
16-bit Memory Cell
DesignSRAM cells
in FPGA [24]
16T Memory
Cell
14T Memory
Cell
12T Memory
Cell
Transistor Count336256224192
Configurable Logic Block
CLB DesignC-LUT
with SRAM
AL-LUT
with SRAM
AL-LUT
with 16T
AL-LUT
with 14T
AL-LUT
with 12T
Transistor Count402468324292260
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.

Share and Cite

MDPI and ACS Style

Yang, W.; Tanavardi Nasab, M.; Thapliyal, H. Energy Efficient CLB Design Based on Adiabatic Logic for IoT Applications. Electronics 2024, 13, 1309. https://doi.org/10.3390/electronics13071309

AMA Style

Yang W, Tanavardi Nasab M, Thapliyal H. Energy Efficient CLB Design Based on Adiabatic Logic for IoT Applications. Electronics. 2024; 13(7):1309. https://doi.org/10.3390/electronics13071309

Chicago/Turabian Style

Yang, Wu, Milad Tanavardi Nasab, and Himanshu Thapliyal. 2024. "Energy Efficient CLB Design Based on Adiabatic Logic for IoT Applications" Electronics 13, no. 7: 1309. https://doi.org/10.3390/electronics13071309

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop