Professional Documents
Culture Documents
284 E226
284 E226
1, February, 2011
1793-8163
A B C P Q R
0 0 0 0 0 0 Fig. 5 3*3 Feynman Double gate
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 0 1 1 1
1 1 1 1 1 0
Fig. 3(b) Truth table of Toffoli gate Fig. 6 3*3 New Fault Tolerant gate
2
International Journal of Computer and Electrical Engineering, Vol.3, No.1, February, 2011
1793-8163
Fig. 10 Fault tolerant reversible full adder circuit includes two 4*4 MIG
The total (worst case) delay T fixed of an N bit carry skip
gates adder with fixed block size B is the sum of the ripple carry
delay through the first carry skip adder block, the carry skip
The block diagram of the fault tolerant reversible full
delays through the intermediate blocks and the ripple carry
adder can be depicted as follows:
delay through the last block, or
⎛N ⎞
( )
T fixed = (B + 3) + ⎜ − 2 ⎟ ⎡log 2B ⎤ + 4 + (B + 3) (3)
⎝B ⎠
B
However, the assumption ⎡log 2 ⎤ ≈
B
is valid for the
2
small block sizes B applicable to carry skip adder designs.
Fig. 11 Block diagram of fault tolerant full adder
Thus, (3) can be rewritten as
The most straightforward realization of a final stage adder
for two N-bit operands is ripple carry adder (RCA). The RCA
requires N full adders (FAs). The carry out of the ith FA is
3
International Journal of Computer and Electrical Engineering, Vol.3, No.1, February, 2011
1793-8163
Fig. 12 Reversible logic implementation of fault tolerant n-bit ripple carry adder [17]
Fig. 13 Reversible logic implementation of fault tolerant 4-bit carry skip adder [17]
Fig. 14 Proposed fault tolerant reversible 4-bit carry skip adder, CSL using NFTs
Fig. 15 Proposed fault tolerant reversible 4-bit carry skip adder, CSL using FRGs
4
International Journal of Computer and Electrical Engineering, Vol.3, No.1, February, 2011
1793-8163
N 4N 15t 3 N N
T fixed = B + + −2 (4) Tvar iable = − + + (12)
2 B 4 2 t 2
Minimizing T fixed with respect to block size B gives The optimal number of blocks is found with
4N ∂T 15 N 2
1− = 0 or Bopt = 4 N (5) = − 2 = 0 or t opt = N (13)
B2 ∂t 4 t 15
Substituting (5) into (4) gives
Therefore, the optimal block size carry skip adder has
N delay
T fixed = +4 N −2 (6)
2 N 3
The calculation of T fixed for the carry skip adder shown in
Tvar iable = + 15 N − (14)
2 2
Fig. 15 is same. The only difference between these two
designs is in the CSL implementations. The CSA in Fig. 15 VI. RESULT AND DISCUSSION
uses FRGs instead of NFTs to implement B-input AND gate. The presented carry skip adder circuits can be evaluated in
terms of hardware complexity, gate count, constant inputs
V. VARIABLE BLOCK CARRY SKIP ADDER and garbage outputs produced. Let
Varying the size of the carry skip blocks can reduce the α = A two input EXOR gate calculation
total worst case delay, since carries generated or absorbed in β = A two input AND gate calculation
the adder center have shorter data paths [15]. Without loss of δ= A NOT gate calculation
generality, the first and last carry skip blocks are b bits wide, T = Total logical calculation
and the carry skip adder is divided into t blocks, where t is The total logical calculation of the CSA presented in [15]
even. Let’s assume that carry skip block sizes are: and [17] are T= 48α+96β+24δ and T=40α+28β+12δ
t t respectively. On the contrary, the total logical calculation of
b b +1 " b + − 1 b + − 1 " b + 1 b (7) the presented CSAs in this study are T=37α+29β+12δ (Fig.
2 2
14) and T=34 α+32β+5δ (Fig 15). The presented CSAs
Summing the number of bits in the blocks, equating to N,
and rearranging gives require only 13 reversible gates whereas the CSA designs in
[15] and [17] require 14 and 24 reversible gates respectively.
N t 1
b= − + (8) The presented designs also significantly reduce the required
t 4 2 number of constant inputs and garbage outputs. It should
T
The total (worst case) delay var iable of an N bit carry skip
also be noted that the area consumptions of the presented
designs are minimum compared to the designs found in the
adder with the variable block size is the sums of the ripple
literature [15] [17]. Evaluation of the proposed designs can
carry delay through the first carry skip adder block, the carry
be comprehended easily with the help of the comparative
skip delays through the intermediate blocks and the ripple
results given in Table I.
carry delay through the last block. Assuming the variable
block sizes in (7), the total delay is: The optimum number of block size, Bopt , of the presented
t
b + −1 CSAs is 8 for N=16. On the contrary, the number of blocks
( )
2
Tvar iable = 2(b + 3) + 2 ∑ ⎡log ⎤ + 4
k
2
(9) for the designs in [15] and [17] are fractional and therefore
k =b +1
impractical (Block size must be integer). Fig. 16 shows the
adder size and the corresponding delay for different CSA
k
⎡
Again assuming log 2 ≈
k
⎤ 2
and rearranging gives implementations including those presented in this study. For
N ≥ 16, the proposed CSAs show better performance than the
t
b + −1 existing counterparts.
2
Tvar iable = 2b − 2 + 4t + ∑k
k =b +1
(10)
VII. CONCLUSION
Using the identity This paper presents the efficient approaches for designing
Y
Y (Y + 1) − X ( X − 1) variable block skip logic using parity preserving reversible
∑K =
k=X 2 gates that are minimized in terms of hardware complexity,
gate count, constant inputs and garbage outputs. Technology
To simplify (10) yields
independent evaluation demonstrates its superiority with the
⎛ t ⎞⎛ t⎞
⎜ b + − 1⎟⎜ b + ⎟ − (b )(b + 1) existing designs. The two new measures area consumption
2 ⎠⎝ 2⎠
Tvar iable = 2b − 2 + 4t + ⎝ (11) (AC) and path delay (PD) has been taken into consideration
2 to evaluate all designs including those presented in this
t 2 15t bt paper.
= + + +b−2
8 4 2
Inserting (8) into (11) and collecting terms gives
5
International Journal of Computer and Electrical Engineering, Vol.3, No.1, February, 2011
1793-8163
6
International Journal of Computer and Electrical Engineering, Vol.3, No.1, February, 2011
1793-8163
Fig. 16 Adder Size vs. Delay for different CSA implementations: Adder Size is placed on horizontal axis and delay is placed on vertical axis