• No results found

Design issues of arithmetic structures in adiabatic logic

N/A
N/A
Protected

Academic year: 2020

Share "Design issues of arithmetic structures in adiabatic logic"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Adv. Radio Sci., 5, 291–295, 2007 www.adv-radio-sci.net/5/291/2007/ © Author(s) 2007. This work is licensed under a Creative Commons License.

Advances in

Radio Science

Design issues of arithmetic structures in adiabatic logic

Ph. Teichmann, J. Fischer, F. Chouard, and D. Schmitt-Landsiedel

Institute for Technical Electronics, Technical University Munich, Munich, Germany

Abstract. Since adiabatic logic uses a supply that incorpo-rates both supply voltage and clock signal in one line, adia-batic logic systems have a built-in micro-pipelined architec-ture. Considering this fact, different design constraints have to be observed compared to static CMOS designs. Complex arithmetic building blocks, like multipliers, mainly consist of adders. Therefore, a comparison of adder structures is per-formed. Based on these results, multipliers and complex sys-tems can be built. A Discrete Cosine Transformation (DCT) is taken as example for an arithmetic system. Comparing an adiabatic logic implementation of a DCT to its static CMOS counterpart, a significant saving factor of more than 10 can be achieved with the adiabatic system.

1 Introduction

Adiabatic logic circuits are known for offering an energy dis-sipation less than theE=1

2CV 2

DD limit in static CMOS cir-cuits. The Positive Feedback Adiabatic Logic (PFAL) (Vetuli et al., 1996) family has proven to be a reasonable choice for todays VLSI integration (Amirante, 2004; Fischer, 2006) as it is ultra low-power and robust against parameter variations. A chain of PFAL gates is operated via a four-phase clock which acts as power supply and clocking line for the gates, and it is therefore called power-clock. As consequence, cas-caded gates form a micropipeline which is an inherent prop-erty of adiabatic logic. This fact has to be observed if com-plex systems are investigated.

Arithmetic structures are basic building blocks in a vari-ety of digital signal processing tasks. E. g. adders are used to build more complex arithmetic functions like multipliers, filters, CORDICs etc. Many proposals for adders focusing on different design goals like power, area and performance have been presented for static CMOS circuits (Koren, 2002; Zimmermann, 1997; Beaumont-Smith and Lim, 2001). But PFAL’s inherent properties make it desirable to analyze the Correspondence to: Ph. Teichmann

(teichmann@tum.de)

known arithmetic structures with respect to their applicabil-ity in adiabatic logic.

This work will first introduce the idea of adiabatic logic and the micropipeline in Sect. 2 followed by the results gained from the considerations on adders and multipliers in Sect. 3 followed by a case study of a DCT in Sect. 4. The results are concluded in Sect. 5.

2 Brief introduction of adiabatic logic

In static CMOS the fundamental limit for the energy dissipa-tion per switching event ofE=1

2CV 2

DDcan only be lowered by reducing the capacitanceC or by scaling of the supply voltageVDD. To overcome this limit adiabatic circuits have been proposed, that trade frequency for energy. By lower-ing the operatlower-ing frequency, theoretically an asymptotic con-vergence to zero dissipation can be reached. The energy dissipation in a PFAL adiabatic logic gate is described by E=RC

T CV 2

DD, whereRis the path resistance,Cis the capac-itance at the output,T is the rise/fall time of the power-clock signal. A low threshold voltageVt hon the one hand reduces the path resistanceRdue to an improved gate overdrive volt-age, on the other hand it increases the leakage currents which limit the energy dissipation in the mid- and low-frequency range. PFAL circuits show a minimum in energy dissipa-tion at the crossing point of the adiabatic losses (∝ f) and the leakage losses (∝ 1

f). For a 130 nm CMOS process this minimum is retrieved around 100 MHz.

The PFAL logic family uses a four-phase power-clock sig-nal, that acts as the supply voltage and the clocking signal (see Fig. 1), and inherently imposes the circuits beeing op-erated in a pipelined fashion. The pipeline style gives a first conception how a system in adiabatic logic should be im-plemented, as overhead due to synchronization degrades the savings gained through the application of adiabatic logic, fur-thermore pipelining leads to a rise in latency.

(2)

292 Ph. Teichmann et al.: Arithmetic structures in adiabatic logic 2 Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic

Fig. 1. Two preceeding phasesΦiandΦ(i+1)of an adiabatic four-phase power-clock are shown. WhenΦiis in its stable high phase, the data is evaluated in the succeeding stage, indicated by the arrow.

furthermore pipelining leads to a rise in latency.

3 Binary Adder Structures

The inherent properties of adiabatic logic must be taken into account in the design of adiabatic arithmetic structures. Large overheads in structures result in suboptimal designs. One advantage of PFAL is its dual-rail signal representation, so a signal is inverted without additional gates. Subtractors are easily obtained from adders, by swapping the signal rails of the subtrahend and feeding a logic one into the carry-in signal of the adder. The results for the adders gained in this section are valid for the subtractors as well.

Basically two groups of adders exist, namely the carry-propagate and the parallel-prefix adders [Sklansky (1960)], [Kogge and Stone (1973)], [Ladner and Fischer (1980)], [Brent and Kung (1982)] and [Han and Carlson (1987)]. The ripple-carry adder (RCA) is the simplest implementation of a carry-propagate adder, usingNfull-adder (FA) cells in static CMOS, whereN is the input width of the data words. But for adiabatic logic, the rippling of the carry signal leads to an overhead of synchronizing buffer stages ofO(N2), mak-ing the ripple-carry structure in adiabatic logic (Figure 2) an inproper choice if we talk about high bit width N. Addi-tionally, the adiabatic ripple-carry adder (RCA) utilizesN/4 clock cycles, leading to a relatively fast rising latency. Only for several suqsequent addition operations, the RCA can be used in a nested way, as pictured in Figure 3, can be applied efficiently, as the absolute overhead of synchronizing buffers per arithmetic operations remains almost constant. Espe-cially for butterfly structures, as used in the Discrete Cosine Transformation (DCT) in Section 4, the nested RCA is ad-vantageous.

Other approaches try to reduce the critical path, i.e. the path of the rippling carry, to gain speed in static CMOS designs, respectively to reduce the latency in adiabatic logic. As we are talking about synchronous, pipelined designs, approaches like the carry-bypass adder cannot be applied to adiabatic logic. The carry-select scheme splits the input words into

Fig. 2. AN = 4ripple-carry adder in adiabatic logic. Notice the overhead due to the synchronization buffers. Each input bit ofA andBhas to be buffered, leading to two buffers per bit position. The dashed box shows a clock domain of the power clockΦi.

Fig. 3. For a nested RCA (here with two suqsequent addition op-erations) structure, the relative overhead due to synchronization is reduced. Please note, that inputsCalso have to be delayed via input buffers.

sums for both input carry alternatives. The incoming carry from the preceeding group selects the appropriate output via a multiplexer. Such a design trades area, respectiveley en-ergy, against speed in static CMOS and latency in adiabatic logic respectively. Additionally an overhead from the mul-tiplexers arises for such an adder. If we take the RCA from Figure 2 and split the adder in two groups of 2 bits, the de-sign uses 3 blocks consisting of 2 full-adder cells and three buffers each, one 6:3 multiplexer and buffers that synchro-nize the output bits of the lower block to the outputs of the multiplexer. In Figure 4 for the arrangement with a multi-plexer of logic depth equal to1it can be seen, that this de-sign uses more full-adders than the RCA in Figure 2, but less buffers. If the RCA and the carry-select adders are compared for high bit widthNit can be seen that the RCA suffers from a higher energy consumption. This estimation does not ac-count for the energy dissipation caused in the multiplexer. But as onlyN/2XOR gates are used for the multiplexer, the

Fig. 1. Two preceeding phases8iand8(i+1)of an adiabatic four-phase power-clock are shown. When8iis in its stable high phase, the data is evaluated in the succeeding stage, indicated by the arrow.

3 Binary adder structures

The inherent properties of adiabatic logic must be taken into account in the design of adiabatic arithmetic structures. Large overheads in structures result in suboptimal designs.

One advantage of PFAL is its dual-rail signal representa-tion, so a signal is inverted without additional gates. Subtrac-tors are easily obtained from adders, by swapping the signal rails of the subtrahend and feeding a logic one into the carry-in signal of the adder. The results for the adders gacarry-ined carry-in this section are valid for the subtractors as well.

Basically two groups of adders exist, namely the carry-propagate and the parallel-prefix adders (Sklansky, 1960), (Kogge and Stone, 1973), (Ladner and Fischer, 1980), (Brent and Kung, 1982) and (Han and Carlson, 1987). The ripple-carry adder (RCA) is the simplest implementation of a ripple- carry-propagate adder, using N full-adder (FA) cells in static CMOS, whereN is the input width of the data words. But for adiabatic logic, the rippling of the carry signal leads to an overhead of synchronizing buffer

stages ofO(N2), making the ripple-carry structure in adi-abatic logic (Fig. 2) an inproper choice if we talk about high bit widthN. Additionally, the adiabatic ripple-carry adder (RCA) utilizesN/4 clock cycles, leading to a relatively fast rising latency. Only for several suqsequent addition oper-ations, the RCA can be used in a nested way, as pictured in Fig. 3, can be applied efficiently, as the absolute over-head of synchronizing buffers per arithmetic operations re-mains almost constant. Especially for butterfly structures, as used in the Discrete Cosine Transformation (DCT) in Sect. 4, the nested RCA is advantageous. Other approaches try to reduce the critical path, i.e. the path of the rippling carry, to gain speed in static CMOS designs, respectively to reduce the latency in adiabatic logic. As we are talk-ing about synchronous, pipelined designs, approaches like the carry-bypass adder cannot be applied to adiabatic logic. The carry-select scheme splits the input words into smaller groups, i.e. 2 of sizeN/2 each and pre-calculates the sums

2 Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic

Fig. 1. Two preceeding phasesΦiandΦ(i+1)of an adiabatic four-phase power-clock are shown. WhenΦiis in its stable high phase, the data is evaluated in the succeeding stage, indicated by the arrow.

furthermore pipelining leads to a rise in latency.

3 Binary Adder Structures

The inherent properties of adiabatic logic must be taken into account in the design of adiabatic arithmetic structures. Large overheads in structures result in suboptimal designs. One advantage of PFAL is its dual-rail signal representation, so a signal is inverted without additional gates. Subtractors are easily obtained from adders, by swapping the signal rails of the subtrahend and feeding a logic one into the carry-in signal of the adder. The results for the adders gained in this section are valid for the subtractors as well.

Basically two groups of adders exist, namely the carry-propagate and the parallel-prefix adders [Sklansky (1960)], [Kogge and Stone (1973)], [Ladner and Fischer (1980)], [Brent and Kung (1982)] and [Han and Carlson (1987)]. The ripple-carry adder (RCA) is the simplest implementation of a carry-propagate adder, usingNfull-adder (FA) cells in static CMOS, whereN is the input width of the data words. But for adiabatic logic, the rippling of the carry signal leads to an overhead of synchronizing buffer stages ofO(N2), mak-ing the ripple-carry structure in adiabatic logic (Figure 2) an inproper choice if we talk about high bit width N. Addi-tionally, the adiabatic ripple-carry adder (RCA) utilizesN/4 clock cycles, leading to a relatively fast rising latency. Only for several suqsequent addition operations, the RCA can be used in a nested way, as pictured in Figure 3, can be applied efficiently, as the absolute overhead of synchronizing buffers per arithmetic operations remains almost constant. Espe-cially for butterfly structures, as used in the Discrete Cosine Transformation (DCT) in Section 4, the nested RCA is ad-vantageous.

Other approaches try to reduce the critical path, i.e. the path of the rippling carry, to gain speed in static CMOS designs, respectively to reduce the latency in adiabatic logic. As we are talking about synchronous, pipelined designs, approaches like the carry-bypass adder cannot be applied to adiabatic logic. The carry-select scheme splits the input words into

Fig. 2. AN = 4ripple-carry adder in adiabatic logic. Notice the overhead due to the synchronization buffers. Each input bit ofA andBhas to be buffered, leading to two buffers per bit position. The dashed box shows a clock domain of the power clockΦi.

Fig. 3. For a nested RCA (here with two suqsequent addition op-erations) structure, the relative overhead due to synchronization is reduced. Please note, that inputsCalso have to be delayed via input buffers.

sums for both input carry alternatives. The incoming carry from the preceeding group selects the appropriate output via a multiplexer. Such a design trades area, respectiveley en-ergy, against speed in static CMOS and latency in adiabatic logic respectively. Additionally an overhead from the mul-tiplexers arises for such an adder. If we take the RCA from Figure 2 and split the adder in two groups of 2 bits, the de-sign uses 3 blocks consisting of 2 full-adder cells and three buffers each, one 6:3 multiplexer and buffers that synchro-nize the output bits of the lower block to the outputs of the multiplexer. In Figure 4 for the arrangement with a multi-plexer of logic depth equal to1it can be seen, that this de-sign uses more full-adders than the RCA in Figure 2, but less buffers. If the RCA and the carry-select adders are compared for high bit widthNit can be seen that the RCA suffers from a higher energy consumption. This estimation does not ac-count for the energy dissipation caused in the multiplexer. But as onlyN/2XOR gates are used for the multiplexer, the

Fig. 2. AN=4 ripple-carry adder in adiabatic logic. Notice the overhead due to the synchronization buffers. Each input bit ofA andB has to be buffered, leading to two buffers per bit position. The dashed box shows a clock domain of the power clock8i.

2 Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic

Fig. 1. Two preceeding phasesΦiandΦ(i+1)of an adiabatic four-phase power-clock are shown. WhenΦiis in its stable high phase, the data is evaluated in the succeeding stage, indicated by the arrow.

furthermore pipelining leads to a rise in latency.

3 Binary Adder Structures

The inherent properties of adiabatic logic must be taken into account in the design of adiabatic arithmetic structures. Large overheads in structures result in suboptimal designs. One advantage of PFAL is its dual-rail signal representation, so a signal is inverted without additional gates. Subtractors are easily obtained from adders, by swapping the signal rails of the subtrahend and feeding a logic one into the carry-in signal of the adder. The results for the adders gained in this section are valid for the subtractors as well.

Basically two groups of adders exist, namely the carry-propagate and the parallel-prefix adders [Sklansky (1960)], [Kogge and Stone (1973)], [Ladner and Fischer (1980)], [Brent and Kung (1982)] and [Han and Carlson (1987)]. The ripple-carry adder (RCA) is the simplest implementation of a carry-propagate adder, usingNfull-adder (FA) cells in static CMOS, whereN is the input width of the data words. But for adiabatic logic, the rippling of the carry signal leads to an overhead of synchronizing buffer stages ofO(N2), mak-ing the ripple-carry structure in adiabatic logic (Figure 2) an inproper choice if we talk about high bit width N. Addi-tionally, the adiabatic ripple-carry adder (RCA) utilizesN/4 clock cycles, leading to a relatively fast rising latency. Only for several suqsequent addition operations, the RCA can be used in a nested way, as pictured in Figure 3, can be applied efficiently, as the absolute overhead of synchronizing buffers per arithmetic operations remains almost constant. Espe-cially for butterfly structures, as used in the Discrete Cosine Transformation (DCT) in Section 4, the nested RCA is ad-vantageous.

Other approaches try to reduce the critical path, i.e. the path of the rippling carry, to gain speed in static CMOS designs, respectively to reduce the latency in adiabatic logic. As we are talking about synchronous, pipelined designs, approaches like the carry-bypass adder cannot be applied to adiabatic logic. The carry-select scheme splits the input words into smaller groups, i.e.2of sizeN/2each and pre-calculates the

Fig. 2. AN = 4ripple-carry adder in adiabatic logic. Notice the overhead due to the synchronization buffers. Each input bit ofA

andBhas to be buffered, leading to two buffers per bit position. The dashed box shows a clock domain of the power clockΦi.

Fig. 3. For a nested RCA (here with two suqsequent addition

op-erations) structure, the relative overhead due to synchronization is reduced. Please note, that inputsCalso have to be delayed via input buffers.

sums for both input carry alternatives. The incoming carry from the preceeding group selects the appropriate output via a multiplexer. Such a design trades area, respectiveley en-ergy, against speed in static CMOS and latency in adiabatic logic respectively. Additionally an overhead from the mul-tiplexers arises for such an adder. If we take the RCA from Figure 2 and split the adder in two groups of 2 bits, the de-sign uses 3 blocks consisting of 2 full-adder cells and three buffers each, one 6:3 multiplexer and buffers that synchro-nize the output bits of the lower block to the outputs of the multiplexer. In Figure 4 for the arrangement with a multi-plexer of logic depth equal to1it can be seen, that this de-sign uses more full-adders than the RCA in Figure 2, but less buffers. If the RCA and the carry-select adders are compared for high bit widthNit can be seen that the RCA suffers from a higher energy consumption. This estimation does not ac-count for the energy dissipation caused in the multiplexer. But as onlyN/2XOR gates are used for the multiplexer, the energy consumed by the multiplexer is negligible.

Fig. 3. For a nested RCA (here with two suqsequent addition op-erations) structure, the relative overhead due to synchronization is reduced. Please note, that inputsCalso have to be delayed via input buffers.

for both input carry alternatives. The incoming carry from the preceeding group selects the appropriate output via a multiplexer. Such a design trades area, respectiveley energy, against speed in static CMOS and latency in adiabatic logic respectively. Additionally an overhead from the multiplex-ers arises for such an adder. If we take the RCA from Fig. 2 and split the adder in two groups of 2 bits, the design uses 3 blocks consisting of 2 full-adder cells and three buffers each, one 6:3 multiplexer and buffers that synchronize the output bits of the lower block to the outputs of the multiplexer. In Fig. 4 for the arrangement with a multiplexer of logic depth equal to 1 it can be seen, that this design uses more full-adders than the RCA in Fig. 2, but less buffers. If the RCA and the carry-select adders are compared for high bit widthN it can be seen that the RCA suffers from a higher energy con-sumption. This estimation does not account for the energy

(3)

Ph. Teichmann et al.: Arithmetic structures in adiabatic logic 293

Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic 3

To avoid the synchronizing overhead observed for the RCA,

Fig. 4. A 4 bit RCA carry-select adder using a multiplexer with logic depth of1.

parallel-prefix schemes are investigated. The parallel-prefix adders (PPA) allow to calculate the output of them-th bit via logical combination of the inputs0tom−1. Therefore, the-oretically each output of the adder can be calculated using one complex gate. Because of practical reasons in stacking transistor devices, only a maximum of 3 or 4 inputs is com-bined at a time. In literature different schemes for the parallel prefix algorithm are reported, differing in logical depth and fanout.

Here a variety of PPA structures (Sklansky, Brent-Kung, Kogge-Stone, Han-Carlson) are estimated to see, which adder structure is desirable in adiabatic logic. E.g. the Sklan-sky structure has the lowest logical depth, but the layout is supposed to be irregular. The Han-Carlson structure ap-plies a more regular layout for the price of a higher logical depth. Additionally, the RCA structure and a serial prefix adder (SPA) are estimated in respect on their energy con-sumption. Estimations are performed by counting the num-berXiof each class of gatesi(e.g. INV, FA) and multiplying it with its corresponding mean energy valueEi. The whole system’s energy dissipationEis then calculated by

E=X i

XiEi. (1)

Gates are characterized by means of SPICE simulation; in-dustrial 130nm CMOS process parameters of low-Vth de-vices are used. The gates are simulated at a frequency of 100MHz and a supply voltage ofVDD= 1.2V.

In Figure 5 the investigated adder structures are presented. The RCA rises in energy consumption quadratically with the bit widthN. The parallel-prefix adders present the lowest energy consumption. The serial-prefix adder consumes the largest amount of energy and thus is no alternative. In the detail view in Figure 6 only the RCA and the most promis-ing PPA structures are presented. Up to 8bit input width, the

0 10 20 30 40 50 60

0 2k 4k 6k 8k 10k 12k 14k

bit width N

energy per cycle [E

buf

]

RCA SPA

PPA Sklanksy PPA Brent−Kung PPA Kogge−Stone PPA Han−Carlson

Fig. 5. Comparison of various adder structures up to 64bits. The parallel-prefix adders show the lowest energy consumption.

RCA is the best choice.

For the decision between Sklansky and Han-Carlson differ-ent properties have to be taken into consideration. As said before, the Han-Carlson structure has a more regular design, thus saving effort in layouting. Additionally the Han-Carlson adder has a fixed maximum fan-out of 2. For the Sklansky structure, the effort for layout will be higher, and the fanout rises withN/2. So the decision, which design is a suitable low-power adder structure will depend on the post-layout ex-traction, taking into account the rise of the energy consump-tion due to parasitic capacitances.

4 Discrete Cosine Transformation: A case study

In image processing the Discrete Cosine Transformation (DCT) is used to compress pictures. A DCT with minimal hardware amount is presented in [Heyne et al. (2006)]. As the DCT is a strongly parallel algorithm, that can be effi-ciently implemented using the adiabatic micropipeline, it is a good demonstrator to show the energy savings gained by us-ing adiabatic logic in comparison to static CMOS. The DCT is built of adders, subtractors and buffers as can be seen in Figure 7.

Different static CMOS implementations have been com-pared. Flip-flops are power-consuming components in a syn-chronous design in static CMOS. Different levels of pipelin-ing have been investigated and been opposed to the adiabatic logic DCT implementation. The adiabatic reference design is implemented as nested RCA structure, thus a minimum number of FA cells are used and the overhead due to syn-chronization is reduced due to nesting. For static CMOS a 2D-pipelined carry-propagate adder (CPA) has been esti-mated first. To reduce the number of flip-flops, in V1 to V3

Fig. 4. A 4 bit RCA carry-select adder using a multiplexer with logic depth of 1.

dissipation caused in the multiplexer. But as onlyN/2 XOR gates are used for the multiplexer, the energy consumed by the multiplexer is negligible. To avoid the synchronizing overhead observed for the RCA, parallel-prefix schemes are investigated. The parallel-prefix adders (PPA) allow to cal-culate the output of them-th bit via logical combination of the inputs 0 tomu−1. Therefore, theoretically each output of the adder can be calculated using one complex gate. Be-cause of practical reasons in stacking transistor devices, only a maximum of 3 or 4 inputs is combined at a time. In liter-ature different schemes for the parallel prefix algorithm are reported, differing in logical depth and fanout. Here a vari-ety of PPA structures (Sklansky, Brent-Kung, Kogge-Stone, Han-Carlson) are estimated to see, which adder structure is desirable in adiabatic logic. E.g. the Sklansky structure has the lowest logical depth, but the layout is supposed to be ir-regular. The Han-Carlson structure applies a more regular layout for the price of a higher logical depth. Additionally, the RCA structure and a serial prefix adder (SPA) are esti-mated in respect on their energy consumption. Estimations are performed by counting the numberXi of each class of gatesi(e.g. INV, FA) and multiplying it with its correspond-ing mean energy valueEi. The whole system’s energy dissi-pationEis then calculated by

E=X i

XiEi. (1)

Gates are characterized by means of SPICE simulation; in-dustrial 130nm CMOS process parameters of low-Vt h de-vices are used. The gates are simulated at a frequency of 100MHz and a supply voltage ofVDD=1.2V. In Fig. 5 the investigated adder structures are presented. The RCA rises in energy consumption quadratically with the bit widthN. The

Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic 3

To avoid the synchronizing overhead observed for the RCA,

Fig. 4. A 4 bit RCA carry-select adder using a multiplexer with logic depth of1.

parallel-prefix schemes are investigated. The parallel-prefix adders (PPA) allow to calculate the output of them-th bit via logical combination of the inputs0tom−1. Therefore, the-oretically each output of the adder can be calculated using one complex gate. Because of practical reasons in stacking transistor devices, only a maximum of 3 or 4 inputs is com-bined at a time. In literature different schemes for the parallel prefix algorithm are reported, differing in logical depth and fanout.

Here a variety of PPA structures (Sklansky, Brent-Kung, Kogge-Stone, Han-Carlson) are estimated to see, which adder structure is desirable in adiabatic logic. E.g. the Sklan-sky structure has the lowest logical depth, but the layout is supposed to be irregular. The Han-Carlson structure ap-plies a more regular layout for the price of a higher logical depth. Additionally, the RCA structure and a serial prefix adder (SPA) are estimated in respect on their energy con-sumption. Estimations are performed by counting the num-berXiof each class of gatesi(e.g. INV, FA) and multiplying it with its corresponding mean energy valueEi. The whole system’s energy dissipationEis then calculated by

E=X i

XiEi. (1)

Gates are characterized by means of SPICE simulation; in-dustrial 130nm CMOS process parameters of low-Vth de-vices are used. The gates are simulated at a frequency of 100MHz and a supply voltage ofVDD= 1.2V.

In Figure 5 the investigated adder structures are presented. The RCA rises in energy consumption quadratically with the bit widthN. The parallel-prefix adders present the lowest energy consumption. The serial-prefix adder consumes the largest amount of energy and thus is no alternative. In the detail view in Figure 6 only the RCA and the most promis-ing PPA structures are presented. Up to 8bit input width, the

0 10 20 30 40 50 60

0 2k 4k 6k 8k 10k 12k 14k

bit width N

energy per cycle [E

buf

]

RCA SPA

PPA Sklanksy PPA Brent−Kung PPA Kogge−Stone PPA Han−Carlson

Fig. 5. Comparison of various adder structures up to 64bits. The parallel-prefix adders show the lowest energy consumption.

RCA is the best choice.

For the decision between Sklansky and Han-Carlson differ-ent properties have to be taken into consideration. As said before, the Han-Carlson structure has a more regular design, thus saving effort in layouting. Additionally the Han-Carlson adder has a fixed maximum fan-out of 2. For the Sklansky structure, the effort for layout will be higher, and the fanout rises withN/2. So the decision, which design is a suitable low-power adder structure will depend on the post-layout ex-traction, taking into account the rise of the energy consump-tion due to parasitic capacitances.

4 Discrete Cosine Transformation: A case study

In image processing the Discrete Cosine Transformation (DCT) is used to compress pictures. A DCT with minimal hardware amount is presented in [Heyne et al. (2006)]. As the DCT is a strongly parallel algorithm, that can be effi-ciently implemented using the adiabatic micropipeline, it is a good demonstrator to show the energy savings gained by us-ing adiabatic logic in comparison to static CMOS. The DCT is built of adders, subtractors and buffers as can be seen in Figure 7.

Different static CMOS implementations have been com-pared. Flip-flops are power-consuming components in a syn-chronous design in static CMOS. Different levels of pipelin-ing have been investigated and been opposed to the adiabatic logic DCT implementation. The adiabatic reference design is implemented as nested RCA structure, thus a minimum number of FA cells are used and the overhead due to syn-chronization is reduced due to nesting. For static CMOS a 2D-pipelined carry-propagate adder (CPA) has been esti-mated first. To reduce the number of flip-flops, in V1 to V3

Fig. 5. Comparison of various adder structures up to 64bits. The parallel-prefix adders show the lowest energy consumption.

parallel-prefix adders present the lowest energy consump-tion. The serial-prefix adder consumes the largest amount of energy and thus is no alternative. In the detail view in Fig. 6 only the RCA and the most promising PPA structures are presented. Up to 8bit input width, the RCA is the best choice.

For the decision between Sklansky and Han-Carlson dif-ferent properties have to be taken into consideration. As said before, the Han-Carlson structure has a more regular design, thus saving effort in layouting. Additionally the Han-Carlson adder has a fixed maximum fan-out of 2. For the Sklansky structure, the effort for layout will be higher, and the fanout rises withN/2. So the decision, which design is a suitable low-power adder structure will depend on the post-layout ex-traction, taking into account the rise of the energy consump-tion due to parasitic capacitances.

4 Discrete cosine transformation: a case study

In image processing the Discrete Cosine Transformation (DCT) is used to compress pictures. A DCT with minimal hardware amount is presented in (Heyne et al., 2006). As the DCT is a strongly parallel algorithm, that can be efficiently implemented using the adiabatic micropipeline, it is a good demonstrator to show the energy savings gained by using adi-abatic logic in comparison to static CMOS. The DCT is built of adders, subtractors and buffers as can be seen in Fig. 7.

Different static CMOS implementations have been com-pared. Flip-flops are power-consuming components in a syn-chronous design in static CMOS. Different levels of pipelin-ing have been investigated and been opposed to the adiabatic logic DCT implementation. The adiabatic reference design

(4)

294 Ph. Teichmann et al.: Arithmetic structures in adiabatic logic

4 Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic

0 5 10 15 20 25 30

0 0.2k 0.4k 0.6k 0.8k

bit width N

energy per cycle [E

buf

]

RCA

PPA Sklanksy PPA Han−Carlson

Fig. 6. Comparison of RCA and most promising PPA adders, Han-Carlson and Sklansky PPA, up to 32bits. The RCA exhibits the lowest energy consumption up to 8bit.

Fig. 7. Scheme of the DCT, where a Nop (No Operation) is a syn-chronizing buffer stage.

0 0.2 0.4 0.6 0.8 1

0 10 20 30 40 50

activity factor α

ESF

CPA vs. Ref CSA V1 vs. Ref CSA V2 vs. Ref CSA V3 vs. Ref

Fig. 8. Comparing the differing static CMOS DCT implementa-tions to the adiabatic DCT. For static CMOS, first a 2D-pipelined carry-propagate adder (CPA) has been implemented andV1toV3 show carry-save array (CSA) structures with different degrees of pipelining, whereV3has no pipelining at all.

a CSA has been used to avoid skewing and deskewing at the inputs, respectively at the outputs. In V1 a flip-flop is intro-duced after each CSA stage, in V2 after every second CSA stage, and in V3 no pipelining was introduced at all. Results are calculated according to

EAL=XF A,AL∗EF A,AL+XBU F,AL∗EBU F,AL(2)

ECM OS=XF A,CM OS∗EF A,CM OS (3) +XIN V,CM OS∗EIN V,CM OS

+XF F,CM OS∗EF F,CM OS

where the indexALstands for adiabatic logic,F Afor full-adder,BU F for a buffer,IN V for an inverter, andF F for a flip-flop.

Especially for static CMOS an important parameter for en-ergy dissipation is the activityα, whereas in PFAL activity has a minor impact on the dissipation. To allow a fair com-parison, activity has to be considered in the estimations via E(α) =Eα=0+α(Eα=1−Eα=0), (4) whereEα=0andEα=1are the respective mean energy dissi-pation values for activityα= 0andα= 1.

The results of the comparison are given in Figure 8. All esti-mations are based on the simulations in an industrial 130nm CMOS process, at 100MHz and with aVDD = 1.2V. The mean energy dissipation values for the used gates are sum-marized in Table 1 forα= 0andα= 1.

In Figure 8 we see that the best implementation for static CMOS is V3, that uses no pipelining. There the energy sav-ing factor

ESF = Ediss,CM OS Ediss,AL

(5)

Fig. 6. Comparison of RCA and most promising PPA adders, Han-Carlson and Sklansky PPA, up to 32bits. The RCA exhibits the lowest energy consumption up to 8bit.

4 Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic

0 5 10 15 20 25 30

0 0.2k 0.4k 0.6k 0.8k

bit width N

energy per cycle [E

buf

]

RCA

PPA Sklanksy PPA Han−Carlson

Fig. 6. Comparison of RCA and most promising PPA adders,

Han-Carlson and Sklansky PPA, up to 32bits. The RCA exhibits the lowest energy consumption up to 8bit.

Fig. 7. Scheme of the DCT, where a Nop (No Operation) is a

syn-chronizing buffer stage.

0 0.2 0.4 0.6 0.8 1

0 10 20 30 40 50

activity factor α

ESF

CPA vs. Ref CSA V1 vs. Ref CSA V2 vs. Ref CSA V3 vs. Ref

Fig. 8. Comparing the differing static CMOS DCT

implementa-tions to the adiabatic DCT. For static CMOS, first a 2D-pipelined carry-propagate adder (CPA) has been implemented andV1toV3

show carry-save array (CSA) structures with different degrees of pipelining, whereV3has no pipelining at all.

a CSA has been used to avoid skewing and deskewing at the inputs, respectively at the outputs. In V1 a flip-flop is intro-duced after each CSA stage, in V2 after every second CSA stage, and in V3 no pipelining was introduced at all. Results are calculated according to

EAL=XF A,AL∗EF A,AL+XBU F,AL∗EBU F,AL(2)

ECM OS=XF A,CM OS∗EF A,CM OS (3) +XIN V,CM OS∗EIN V,CM OS

+XF F,CM OS∗EF F,CM OS

where the indexALstands for adiabatic logic,F Afor full-adder,BU Ffor a buffer,IN V for an inverter, andF F for a flip-flop.

Especially for static CMOS an important parameter for en-ergy dissipation is the activityα, whereas in PFAL activity has a minor impact on the dissipation. To allow a fair com-parison, activity has to be considered in the estimations via E(α) =Eα=0+α(Eα=1−Eα=0), (4) whereEα=0andEα=1are the respective mean energy dissi-pation values for activityα= 0andα= 1.

The results of the comparison are given in Figure 8. All esti-mations are based on the simulations in an industrial 130nm CMOS process, at 100MHz and with aVDD = 1.2V. The mean energy dissipation values for the used gates are sum-marized in Table 1 forα= 0andα= 1.

In Figure 8 we see that the best implementation for static CMOS is V3, that uses no pipelining. There the energy sav-ing factor

ESF =Ediss,CM OS Ediss,AL

(5)

Fig. 7. Scheme of the DCT, where a Nop (No Operation) is a syn-chronizing buffer stage.

is implemented as nested RCA structure, thus a minimum number of FA cells are used and the overhead due to syn-chronization is reduced due to nesting. For static CMOS a 2D-pipelined carry-propagate adder (CPA) has been esti-mated first. To reduce the number of flip-flops, in V1 to V3 a CSA has been used to avoid skewing and deskewing at the inputs, respectively at the outputs. In V1 a flip-flop is intro-duced after each CSA stage, in V2 after every second CSA stage, and in V3 no pipelining was introduced at all. Results are calculated according to

EAL=XF A,AL∗EF A,AL+XBU F,AL∗EBU F,AL (2)

ECMOS =XF A,CMOS∗EF A,CMOS (3)

4

Ph. Teichmann et al.: Arithmetic Structures in Adiabatic Logic

0 5 10 15 20 25 30

0 0.2k 0.4k 0.6k 0.8k

bit width N

energy per cycle [E

buf

]

RCA

PPA Sklanksy PPA Han−Carlson

Fig. 6. Comparison of RCA and most promising PPA adders, Han-Carlson and Sklansky PPA, up to 32bits. The RCA exhibits the lowest energy consumption up to 8bit.

Fig. 7. Scheme of the DCT, where a Nop (No Operation) is a syn-chronizing buffer stage.

0

0.2

0.4

0.6

0.8

1

0

10

20

30

40

50

activity factor

α

ESF

CPA vs. Ref

CSA V1 vs. Ref

CSA V2 vs. Ref

CSA V3 vs. Ref

Fig. 8. Comparing the differing static CMOS DCT implementa-tions to the adiabatic DCT. For static CMOS, first a 2D-pipelined carry-propagate adder (CPA) has been implemented andV1toV3

show carry-save array (CSA) structures with different degrees of pipelining, whereV3has no pipelining at all.

a CSA has been used to avoid skewing and deskewing at the

inputs, respectively at the outputs. In V1 a flip-flop is

intro-duced after each CSA stage, in V2 after every second CSA

stage, and in V3 no pipelining was introduced at all. Results

are calculated according to

E

AL

=

X

F A,AL

E

F A,AL

+

X

BU F,AL

E

BU F,AL

(2)

E

CM OS

=

X

F A,CM OS

E

F A,CM OS

(3)

+

X

IN V,CM OS

E

IN V,CM OS

+

X

F F,CM OS

E

F F,CM OS

where the index

AL

stands for adiabatic logic,

F A

for

full-adder,

BU F

for a buffer,

IN V

for an inverter, and

F F

for a

flip-flop.

Especially for static CMOS an important parameter for

en-ergy dissipation is the activity

α, whereas in PFAL activity

has a minor impact on the dissipation. To allow a fair

com-parison, activity has to be considered in the estimations via

E

(

α

) =

E

α=0

+

α

(

E

α=1

E

α=0)

,

(4)

where

E

α=0

and

E

α=1

are the respective mean energy

dissi-pation values for activity

α

= 0

and

α

= 1

.

The results of the comparison are given in Figure 8. All

esti-mations are based on the simulations in an industrial 130nm

CMOS process, at 100MHz and with a

V

DD

= 1

.

2

V

. The

mean energy dissipation values for the used gates are

sum-marized in Table 1 for

α

= 0

and

α

= 1

.

In Figure 8 we see that the best implementation for static

CMOS is V3, that uses no pipelining. There the energy

sav-ing factor

ESF

=

E

diss,CM OS

(5)

Fig. 8. Comparing the differing static CMOS DCT implementa-tions to the adiabatic DCT. For static CMOS, first a 2D-pipelined carry-propagate adder (CPA) has been implemented and V1 to V3 show carry-save array (CSA) structures with different degrees of pipelining, where V3 has no pipelining at all.

+XI N V ,CMOS∗EI N V ,CMOS +XF F,CMOS∗EF F,CMOS

where the indexALstands for adiabatic logic,F Afor full-adder,BU F for a buffer,I N V for an inverter, andF Ffor a flip-flop.

Especially for static CMOS an important parameter for en-ergy dissipation is the activityα, whereas in PFAL activity has a minor impact on the dissipation. To allow a fair com-parison, activity has to be considered in the estimations via E(α)=Eα=0+α (Eα=1−Eα=0) , (4) whereEα=0andEα=1are the respective mean energy dissi-pation values for activityα=0 andα=1.

The results of the comparison are given in Fig. 8. All esti-mations are based on the simulations in an industrial 130nm CMOS process, at 100 MHz and with aVDD=1.2V. The mean energy dissipation values for the used gates are sum-marized in Table 1 forα=0 andα=1.

In Fig. 8 we see that the best implementation for static CMOS is V3, that uses no pipelining. There the energy sav-ing factor

ESF=Ediss,CMOS

Ediss,AL

(5) reaches its minimum value. Depending on the activity the ESF reaches up to a factor of 30 for the highest activity of the system. Applying a realistic activity value ofα=30% (Ye and Roy, 2001) an ESF of factor 10 can be gained. The

(5)

Ph. Teichmann et al.: Arithmetic structures in adiabatic logic 295

dissipated energy per cycle [J]

family AL CMOS

gate FA BUF FA INV FF

α=0 2.10f 0.24f 3.48a 1.59a 6.46f α=1 2.67f 0.33f 37.6f 2.66f 19.0f

Table 1. Simulated energy per cycle dissipation values for adiabatic and static CMOS gates. All estimations are performed forα=0 and α=1.

generation of the four-phase clock itself is lossy, the ESF must take into account the efficiency of the oscillator. Oscil-lators with an efficiency of 50% have been reported. There is still room for further improvements of the oscillator effi-ciency. For a system level comparison the losses on the clock net in an static CMOS system have to be considered here as well. This requires detailed information on the topologie of the clock net. Predictions for high-performance systems show that almost as much energy in the clock distribution is used as in the logic itself. At least flip-flops are used at the in-puts of the structure and the outin-puts of the structure, leading to a slight increase of the dissipation even for the adder V3 on system level. Thus the factor of 10 presented here should also be a good indication for the savings in a complete system achievable with adiabatic logic.

5 Conclusions

In this paper the inherent properties of adiabatic logic have been analyzed for arithmetic building blocks. Adder struc-tures were investigated and compared for the first time show-ing that due to the synchronization overhead of O(N2) the ripple-carry adder is only suitable for bit sizes N≤8. Parallel-prefix adders are a good choice, as the reduced depth of the adder also reduces the area and the synchronization overhead and thus the power consumption. The Han-Carlson and the Sklansky architecture show the lowest energy con-sumption of all parallel-prefix schemes. The Discrete Cosine Transformation is an arithmetic structure making use of adia-batic logic’s inherent pipelining structure. The nested ripple-carry adder scheme allows major savings against comparable designs in static CMOS. For an activity factor of 30%, sav-ings of around factor 10 can be achieved.

Adiabatic logic is therefore a circuit family that allows the implementation of ultra low-power digital signal-processing tasks.

References

Amirante, E.: Adiabatic Logic in Sub-Quartermicron CMOS Tech-nologies, vol. 13 of Selected Topics of Electronics and Mi-cromechatronics, Shaker, 2004.

Beaumont-Smith, A. and Lim, C.-C.: Parallel prefix adder design, in: 15th IEEE Symposium on Computer Arithmetic, 218–225, 2001.

Brent, R. P. and Kung, H. T.: A regular layout for parallel adders, IEEE Transactions on Computers, C-31, 260–264, 1982. Fischer, J.: Adiabatische Schaltungen und Systeme in

Deep-Submicron-CMOS-Technologien, vol. 24 of Selected Topics of Electronics and Micromechatronics, Shaker, 2006.

Han, T. and Carlson, D. A.: Fast area-efficient VLSI adders, in: Proceedings of the 8th Symp. Comp. Arithmetic, 49–56, 1987. Heyne, B., Sun, C.-C., Goetze, J., and Ruan, S.-J.: A

Computa-tionally Efficient High-Quality CORDIC based Loefller DCT, in: 14th European Signal Processing Conference (EUSIPCO), 2006. Kogge, P. M. and Stone, H. S.: A parallel algorithm for the effi-cient solution of a general class of recurrence equations, IEEE Transactions on Computers, C-22, 786–793, 1973.

Koren, I.: Computer Arithmetic Algorithms, A K Peters, second edn., 2002.

Ladner, R. E. and Fischer, M. J.: Parallel Prefix Computation, J. Assoc. Computing Machinery, 27, 831–838, 1980.

Sklansky, J.: Conditional-sum addition logic, IRE Transactions, EC-9, 226–231, 1960.

Vetuli, A., Pascoli, S. D., and Reyneri, L. M.: Positive feedback in adiabatic logic, Electronics Lett., 32, 1867–1869, 1996. Ye, Y. and Roy, K.: QSERL: Quasi-Static Energy Recovery Logic,

IEEE Journal of Solid-State Circuits, 36, 239–248, 2001. Zimmermann, R.: Binary Adder Architectures for Cell-Based VLSI

and their Synthesis, Ph.D. thesis, ETH Zurich, 1997.

Figure

Fig. 5. Comparison of various adder structures up to 64bits. Theparallel-prefix adders show the lowest energy consumption.Fig
Table 1. Simulated energy per cycle dissipation values for adiabaticand static CMOS gates

References

Related documents

In this approach the quality of data sources is esti- mated by sampling the base data sources and using the quality of these samples to assess the quality of any information

We performed a genome-wide association study of time to first tooth eruption and number of teeth at one year in 4,564 individuals from the 1966 Northern Finland Birth Cohort

Results: Group III patients had a significant longer duration and score of diabetic foot syndrome, higher anthropometric measurements, higher blood pressure and fasting lipid

Objective To examine the rates of common mental disorders (CMDs) such as depression, anxiety, posttraumatic stress disorder (PTSD), and alcohol use in an urban community health

The experimental results, obtained on publicly available data sets of 2D face, show that the proposed method is highly combative compared with other state-of-the-art

WHO: World Health Organisation; TAG: Topic Advisory Group; ICD: International Classification of Diseases; ICD-11: 11th version of ICD; iCAT: Collaborative authoring tool for ICD11;

Earth Planets Space, 59, 475?497, 2007 Stability of VLBI, SLR, DORIS, and GPS positioning M Feissel Vernier1, O de Viron2, and K Le Bail3 1Observatoire de Paris/SYRTE and

Earth Planets Space, 60, 1169?1176, 2008 Rupture process of the 2007 Chuetsu oki, Niigata, Japan, earthquake ?Waveform inversion using empirical Green?s functions? Atsushi Nozu