Design of Low-Power Adiabatic 32X32 Content - Asee

advertisement
Design of Low-Power Adiabatic 32X32 Content Addressable
Memory based on 2N-2N2P Circuits
Wei Quan, Advisor: Prof. Xingguo Xiong
Department of Electrical and Computer Engineering, University of Bridgeport, Bridgeport, CT 06604
Abstract
In this poster, the implementation of a low power adiabatic 32×32 Content Addressable
Memory (CAM) based on 2N-2N2P circuits is proposed. CAM memory includes
comparison logic with each bit, hence a data value can be broadcasted to all words and
compared with the values there. The proposed CAM memory implements adiabatic
computing technique in its match-lines to achieve effective energy savings. Furthermore,
a novel 2N-2N2P circuit is utilized to recover the charge of node capacitances on address
decoders, bit-lines and word-lines. Such architecture leads to significant power reduction
in its comparison operations due to the fact that the energy transferred to the capacitance
buses can be recovered from adiabatic computing. In order to compare the effectiveness
of the power savings, a 32×32 CAM based on conventional CMOS logic is also
implemented. Both circuits are designed and simulated in PSPICE. PSPICE power
simulation is used to extract the power consumption of both circuits for the same giving
input pattern sequence. Simulation results demonstrate effective power savings of the
adiabatic CAM based on 2N-2N2P circuits. Such memory architecture can be a good
choice for low power memory design.
Introduction
Adiabatic computing has attracted more and more attention in low power VLSI design.
Adiabatic circuits use "reversible logic" to conserve energy. Traditional CMOS circuits
dissipate energy during switching. However, adiabatic circuits attempt to conserve charge
by two ways: a). never turn on a transistor when there is a voltage potential between
source and drain, b). never turn off a transistor when current is flowing through it. In [1], a
low power adiabatic CAM based on 2N-2N2P circuits is reported. In this project, we
implemented a 32×32 CAM based on 2N-2N2P circuits, and simulated its power
consumption. In order for comparison, a 32×32 conventional CAM memory is also
designed and simulated.
The structure of adiabatic CAM cell is similar to that of the basic CAM. However, the
transistor which previously connects to Gnd is now connected to a clocked power, as
shown in Fig. 4. The adiabatic CAM cell consists of a cross-coupled inverter pair (N1,
P1, and N2, P2), two pairs of access transistors (NR and NRb, Nw and Nwb), as well
as three transistors for the comparison circuits. The two pairs of access transistors are
enabled by WWL (write word-line) and RWL (read word-line) for writing and
comparison operations, respectively. The power supply of CAM cells is connected to a
fixed DC voltage (VDD). The CAM array consists of multiple such cells arrayed
horizontally and vertically. The WWL and RWL of a row are connected along with the
horizontal axis, while the read bit-lines (RBL and RBL’) and the write bit-lines (search
lines) (WBL and WBL’) are connected for all cells in a column[1] . The write operation is
similar to the basic CAM. The read word line is enabled row by row. Here, the RW
lines do not connect with the comparison part. This can avoid enabling the word line n
and comparing the word line n-1 at the same time. At the beginning of the comparison
operation, the match line is set in logic low. If it’s a mismatch, the match line will be
charged to logic high by the clocked power, and the cell with match data will not affect
the match line. The match-lines are driven by the power-clock, thus considerable
energy saving can be achieved. Every time after comparing, the voltage of both drain
and source of the NMOS transistor connecting to match line will be 0. Hence adiabatic
logic can be realized.
Conventional CAM
The structure of a conventional memory cell is shown in Figure 1. It is a RAM cell with
three additional transistors for comparison operation. Figure 2 shows a block of 8×8 cell
array, and Figure 3 shows the block diagram of the whole 32×32 conventional CAM. The
search lines are distributed vertically and bring the search bit to the storage cell. The
match lines run horizontally to show whether the search bit matches the word stored in
the memory array. In the PSPICE simulation, the word lines are enabled row by row. In
the same time, the search line will give the initial storage voltage to all the memory cells.
In addition, a DC voltage source is used to pre-charge all the match lines with a NMOS
transistor to control the pre-charge time.
Figure 6. PSPICE schematic design of 32×32 adiabatic memory array
PSPICE Power Simulation
PSPICE power simulation is used to simulate the power consumption of both the
conventional CAM and adiabatic CAM with same data patterns after same reading
and writing operations. The storage-cell array is identical for both CAM designs. The
conventional CAM employs CMOS logic circuits to drive all address decoders, bit-lines
and word-lines. To reduce simulation time, PSPICE power simulation was done for a
subset of the memory that includes a 2x2 cell array block, which is a partial block of
the memory array shown in Figure 2 and 4.
Figure 7. PSPICE power simulation for conventional CAM
Figure 1. The conventional CAM cell circuit
Figure 2. A block of 8×8 cell array
After writing all the bits into the target cells, a CAM search operation begins with precharging all match-lines to 5V. Then, the search line drivers broadcast the search data into
the search lines. Each CAM cell compares its stored bit with the bit on its corresponding
search line. The cells with matching data do not affect the states on match-lines, but the
cells with a mismatch data will pull down the corresponding match-lines. As a result, the
match-lines are pulled down for any word that has at least one mismatch in that row. The
match-lines without any mismatch will keep its initial logic-high state (5V).
As we know, the comparison operations are the major source of power dissipation.
Typically, a CAM has only a small number of word matches, and most of them mismatch.
Since mismatches are dominative, most match-lines are always both pre-charged and
evaluated during every cycle. Further, the search-lines and word-lines are another large
source of power dissipation in CAM, because they have high switching activity and contain
large node capacitances. This leads to high power consumption on the match-lines,
search-lines and word-lines.
Figure 8. PSPICE power simulation for adiabatic CAM
PSPICE power simulation results for both conventional and adiabatic CAM cells are
shown in Figure 7 and 8. The clock period is set as 300ns,and totally 8 patterns are
simulated. Conventional CAM and adiabatic CAM have the same patterns and both of
them show correct waveforms at output ML in PSPICE simulation. As we can see
from the power curves, the average power consumption of the conventional CAM
without adiabatic cell is Pavg_original(T) = 5.5340×10-3W. For the circuit with adiabatic
cell, the average power consumption for the same given pattern sequence is
Pavg_adiabatic(T) =0.678795×10-3 W, as shown in Table 1. As a result, for the given input
sequence, the percentage power savings of the adiabatic CAM compared to
conventional CMOS CAM is:
Psave=[(5.534mW-0.678795mW)/5.534mW]×100%=87.73%
Table 1. Power comparison between conventional and adiabatic CAMs
Output ML
Average
Power Pavg
Simulation
time T
Energy
Dissipation
Convention
al design
Mismatch: 0,
match: 1.
5.534mW
2400ns
1.33×10-8 J
Adiabatic
design
Mismatch: 1,
match: 0.
0.676mW
2400ns
0.16×10-8 J
CAM
Figure 3. PSPICE schematic design of 32×32 conventional memory array
Adiabatic CAM with 2N-2N2P Circuits
The proposed adiabatic CAM consists of a CAM-cell with 2N-2N2P circuits to reduce its
power dissipation. The states in adiabatic CAM are opposite to the conventional CAM.
Power Saving
87.73%
This result demonstrates a significant power savings of 87.73% for the circuit with
adiabatic cell. This power saving is mainly due to following 2 reasons. First, the writing
operation and comparison operations are divided into 2 parts of circuit. While the
storage bits are written into the array row by row, in adiabatic circuit, the writing
operation for line N will not cause the comparison of line N-1 in adiabatic circuit.
Second, a clock voltage is used to charge the match-line instead of pulling it down
when the storage bit is a mismatch. This means that we do not need to pre-charge all
the march-lines in every cycle. Every time when the NMOS transistor connected to
match line is turned off, there is no voltage difference between its source and drain.
Hence the power consumption is reduced.
Conclusions and Future Work
In this poster, the design and simulation of a 32×32 low power adiabatic CAM using
2N-2N2P circuits is proposed. Simulation results demonstrate an effective power
saving of 87.73% in adiabatic CAM using 2N-2N2P circuits compared to conventional
design. In the future work, we will aim at further reducing the power consumption of the
CAM memory. For example, it is observed that generally mismatching is dominative in
memory search operation. Thus if we use logic “0” (instead of “1”) to represent the
mismatch on ML, the power consumption may be further reduced. Furthermore, we will
extend this adiabatic computing concepts to other combinational circuits (e.g. full adder,
multiplier, ALU) as well.
Reference
Figure 4. Adiabatic CAM cell (2N-2N2P)
Figure 5. A block of 8×8 adiabatic cell array
[1] Y. Wu, J. Hu, "Low-Power Content Addressable Memory Using 2N-2N2P Circuits",
Proc. of Int. Conf. on Communications, Circuits and Systems, pp. 2657 – 2661, 2006.
[2] Y. Moon, and D. K. Jeong, "A 32 x 32-b adiabatic register file with supply clock
generator", IEEE Journal of Solid-State Circuits, Vol.33, No. 5, pp. 696 -701, 1998.
Download