Constructing Online Testable Circuits
Constructing Online Testable Circuits
Constructing Online Testable Circuits
Abstract—With the advent of nanometer technology, circuits packing of billions of transistors on very small die areas.
are more prone to transient faults that can occur during its With increasing device densities, the operating voltages and
operation. Of the different types of transient faults reported in the dimensions of the devices continue to shrink. Currently, the
literature, the single-event upset (SEU) is prominent. Traditional
techniques such as triple-modular redundancy (TMR) consume manufactured devices employ nanometer technology. These
large area and power. Reversible logic has been gaining interest devices operate by storing very less electric charges when
in the recent past due to its less heat dissipation characteristics. compared with the previous technologies. This has resulted in
This paper proposes the following: 1) a novel universal reversible these devices being highly susceptible to being affected by the
logic gate (URG) and a set of basic sequential elements that could striking of higher charged particles in the external environments
be used for building reversible sequential circuits, with 25% less
garbage than the best reported in the literature; (2) a reversible in which they are operating. The striking of externally charged
gate that can mimic the functionality of a lookup table (LUT) particles normally causes a glitch in the combinational part of
that can be used to construct a reversible field-programmable the circuit. This glitch, when it occurs closer to a clock edge,
gate array (FPGA); and (3) automatic conversion of any given may propagate and get stored in a flip-flop, thereby changing
reversible circuit into an online testable circuit that can detect the state of the circuit. This causes an error, which is called the
online any single-bit errors, including soft errors in the logic
blocks, using theoretically proved minimum garbage, which is soft error. The soft error does not damage the circuit and can
significantly lesser than the best reported in the literature. be corrected by resetting the state of the circuit. Unlike manu-
facturing defects, the soft errors cannot be detected using con-
Index Terms—Flip-flop, garbage, low power dissipation, online
testing and digital circuits, reversible logic and gates. ventional design-for-testability (DFT) techniques [1], although
there are techniques reported in the literature, for example, the
I. I NTRODUCTION built-in soft-error resilience design paradigm [2], that reuses
the existing on-chip DFT resources to reduce the soft-error
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
102 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 59, NO. 1, JANUARY 2010
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
MAHAMMAD AND VEEZHINATHAN: CONSTRUCTING ONLINE TESTABLE CIRCUITS USING REVERSIBLE LOGIC 103
C. Reversible LUTs
A k-input LUT is a programmable logic element that can
k
be configured to realize any one of the 22 distinct k-input
Boolean functions. Typically, these are realized using 2k × 1
memory, which can store the truth table of any of the k-input
Boolean function. The 16 distinct two-input Boolean functions
Fig. 2. URG.
can uniquely be represented by the integers 0–15. For example,
the AND function f (p, q) = p&q, whose truth table is (0, 0,
0, 1), can be represented by the integer 1. Of the 16 distinct
two-input functions, the two constant functions (0, 0, 0, 0)
and (1, 1, 1, 1), which are represented by the integers 0 and
15, respectively, do not need a logic element for realization.
This section proposes a reversible gate LU T G represented
by the tuple (((a, b, c) → (O2 , O1 , O0 )), (1, 5, 3, 0, 4, 2, 7, 6)).
Fig. 3. Reversible positive-level-triggered T flip-flop. The mapping is shown in Fig. 6(a). It is interesting to note that
LU T G can be used to realize all the 14 nonconstant and distinct
two-input Boolean functions. Fig. 6(b) illustrates the procedure
to use LU T G for realizing the 14 distinct two-input Boolean
functions. For example, it is seen from the third row of Fig. 6(b)
that, by setting the inputs (a, b, c) of LU T G to (p, 0, q), the
AND function p&q represented by the integer 1 can be realized
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
104 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 59, NO. 1, JANUARY 2010
TABLE I
COMPARISON OF THE PROPOSED SEQUENTIAL DESIGNS WITH THE EXISTING DESIGNS
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
MAHAMMAD AND VEEZHINATHAN: CONSTRUCTING ONLINE TESTABLE CIRCUITS USING REVERSIBLE LOGIC 105
R, and [Pia , Pib ] are the additional input bits added to R and Proof: Three observations can easily be seen.
X while constructing the gates DRa and DRb , respectively. 1) [Poa1 , Pob1 , . . . , Poan , Pobn , 0] maps to [Poa1 , Pob1 , . . . ,
Similarly, the output vector is defined as [O, Poa , Pob ], where O Poan , Pobn , T ] and [Poa1 , Pob1 , . . . , Poan , Pobn , 1] maps
is the output vector of gate R, and [Poa , Pob ] are the additional to [Poa1 , Pob1 , . . . , Poan , Pobn , ∼ T ], where T =
output bits added to R and X while constructing the gates DRa [((Poa1 ⊕ Pob1 )+(Poa2 ⊕Pob2 )+ · · · +(Poan ⊕Pobn ))⊕
and DRb , respectively. e]. Hence, T C is reversible.
Lemma 2: T RC(R) is reversible. 2) From the step 1 of Algorithm 1, it is seen that Pia =
Proof: The fact that DRa and DRb are reversible and the Pib in the T RC. If there is a single-bit logical error
construction of T RC(R) imply the lemma. in, e.g., the ith T RC, then by Lemma 3, its Poai will
Lemma 3: T RC(R) has two fault detection properties. be complementary to Pobi . Therefore, Poai ⊕ Pobi = 1.
1) Setting Pia = Pib , then the output of T RC(R) is erro- Hence, T = 1.
neous if the parity bits Poa and Pob are complementary. 3) The role of the function T in the T C is to test if the
2) Setting Pia = ∼Pib , then the output of T RC(R) is erro- output parity bits of any of the n T RCs differ. Thus, T is
neous if the parity bits Poa and Pob are same. a Boolean function with 2n inputs, which is realized as an
OR of n two-input EXOR functions. It is straightforward
Proof: From the construction of T RC(R), note that to see that T evaluates to 0 if and only if all the n
Poa = Pia ⊕ O1 · · · ⊕ On and Pob = Pib ⊕ O1 · · · ⊕ On . The two-input EXOR functions evaluate to 0. There are two
proof for Case 1 is as follows: Given Pia = Pib and if Poa = possible inputs that set a two-input EXOR function to
Pob , then one of the outputs of DRa or DRb is faulty. The proof 0. This implies that there are 2n possible inputs that
for Case 2 follows in similar lines. set T to 0, and the remaining 22n − 2n inputs set T
to 1. For an n-input k-output function f , the minimum
number of garbage bits required to make it reversible is
A. Construction of an Online Testable Circuit log2 M , where M is the maximum number of times
Algorithm 1 details the proposed approach for converting any an output pattern is repeated in the truth table of f [33].
reversible circuit to an online testable reversible circuit. For the function T , M = 22n − 2n , where n is the num-
ber of T RCs in C T . Therefore, log2 M = log2 (22n −
Algorithm 1: Construction of an Online Testable Circuit. 2n ) > log2 (22n /2) = (2n − 1), for n > 1. Therefore,
Input: Reversible Circuit C log2 M ≥ 2n. Hence, the minimum garbage that must
Output: An online testable reversible circuit C T be produced in the T C that implements T is 2n.
1 Construct C S by replacing every reversible gate R in C
by T RC(R). While constructing T RC(R) for each R,
set the parity input bits Pia = Pib . By Lemma 2, C S is B. Construction of Hierarchical Online Testing Circuitry
reversible. The complexity (number of inputs) of the T C gate linearly
2 Let n be the number of reversible gates in C. Construct increases with n. The proposed hierarchical testing methodol-
a (2n + 1) × (2n + 1) test cell (T C), as shown in ogy is to have a T C for every module (circuit of reasonably
Fig. 10(b), as follows: Let Poak and Pobk be the output small size) of the chip. This section proposes a simple reversible
parity bits of the kth T RC of C S . gate, which is called the multimodular T C (M M T C), that
• The first 2n inputs of the T C are the output parity will take as inputs the T bits of the T Cs and output an error
bits from each of the n T RCs of C S , i.e., Poai
= (set one of its outputs to 1) if any one of the input T bits
Poai and Pobi = Pobi , 1 ≤ i ≤ n. is set to 1. Assume that there are k TCs. The M M T C is a
• The last input bit of the T C, which is denoted by e, (k + 1) × (k + 1) reversible gate, which is defined in the list
is set to either logic 0 or logic 1. that follows.
• The first 2n inputs of the T C are transferred to the
Inputs: T1 , T2 , . . . , Tk and e, where e can be either 0 or 1.
output without any change, i.e., Qoai = Poai
and
Outputs: T1 , T2 , . . . , Tk , where M M T = (T1 + T2 + · · · +
Qobi = Pobi , 1 ≤ i ≤ n [refer to Fig. 10(b)].
Tn ) ⊕ e.
• The last output bit T of the T C is defined as fol-
lows: T = [((Poa1 ⊕ Pob1 )+(Poa2 ⊕ Pob2 )+ · · ·+ Lemma 4: The cell M M T C has three properties.
(Poan ⊕ Pobn )) ⊕ e]. 1) It is reversible.
3 Cascade C S and T C, as stated in step 2, to obtain C T . 2) M M T C detects any single-bit error in C1 , C2 , . . . , Ck ,
where Ci is an online testable reversible module ∀i.
Theorem 1: The cell T C constructed in Algorithm 1 has 3) Function M M T is implemented with minimum possible
three properties. garbage.
1) It is reversible. Proof: Three observations can easily be seen.
2) If there is a single-bit error in the output of any T RC in 1) [T1 , T2 , . . . , Tk , 0] maps to [T1 , T2 , . . . , Tk , M M T ] and
C T , then T = 1, provided e = 0. [T1 , T2 , . . . , Tk , 1] maps to [T1 , T2 , . . . , Tk , ∼M M T ],
3) Function T is implemented with minimum possible where M M T = (T1 + T2 + T3 + · · · + Tk ) ⊕ e. Hence,
garbage. M M T C is reversible.
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
106 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 59, NO. 1, JANUARY 2010
TABLE II
TRUTH TABLE FOR THE DECODER CIRCUIT
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
MAHAMMAD AND VEEZHINATHAN: CONSTRUCTING ONLINE TESTABLE CIRCUITS USING REVERSIBLE LOGIC 107
TABLE III
SIMULATION RESULTS FOR THE URG SHOWN IN FIG. 2
TABLE IV
SIMULATION RESULTS FOR THE TWO-TO-FOUR DECODER
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
108 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 59, NO. 1, JANUARY 2010
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.
MAHAMMAD AND VEEZHINATHAN: CONSTRUCTING ONLINE TESTABLE CIRCUITS USING REVERSIBLE LOGIC 109
[19] J. Lim, D. G. Kim, and S. I. Chae, “Reversible energy recovery logic [32] S. K. S. Hari, S. Shroff, S. N. Mahammad, and V. Kamakoti, “Efficient
circuits and its 8-phase clocked power generator for ultra-low-energy building blocks for reversible sequential circuit design,” in Proc. 49th
applications,” IEICE Trans. Electron., vol. E82-C, no. 4, pp. 646–653, IEEE Int. Midwest Symp. Circuits Syst., 2006, pp. 437–441.
Apr. 1999. [33] D. Maslov and G. W. Dueck, “Reversible cascades with minimal
[20] J. Lim, D. G. Kim, and S. I. Chae, “nMOS reversible energy recovery logic garbage,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst.,
for ultra-low-energy applications,” IEEE J. Solid-State Circuits, vol. 35, vol. 23, no. 11, pp. 1497–1509, Nov. 2004.
no. 6, pp. 865–875, Jun. 2000. [34] J. Lim, D.-G. Kim, and S.-I. Chae, “A 16-bit carry-lookahead adder us-
[21] P. Picton, “Optoelectronic multi-valued conservative logic,” Int. J. Opt. ing reversible energy recovery logic for ultra-low-energy systems,” IEEE
Comput., vol. 2, pp. 19–29, 1991. J. Solid-State Circuits, vol. 34, no. 6, pp. 898–903, Jun. 1999.
[22] S. Bandyopadhyay, “Nanoelectric implementations of reversible and [35] Y. Ye and K. Roy, “Energy recovery circuits using reversible and partially
quantum logic,” in Proc. Supperlattices Microstruct., 1998, vol. 23, reversible logic,” IEEE Trans. Circuits Syst. I, Fundam. Theory Appl.,
pp. 445–464. vol. 43, no. 9, pp. 769–778, Sep. 1996.
[23] H. Thapliyal and A. Vinod, “Design of reversible sequential elements with
feasibility of transistor implementation,” in Proc. IEEE ISCAS, May 2007,
pp. 625–628.
[24] D. Maslov and G. W. Dueck, “Garbage in reversible design of multiple Sk. Noor Mahammad is currently working toward
the Ph.D. degree with the Department of Computer
output functions,” in Proc. 6th Int. Symp. Represent. Methodology Future
Science and Engineering, Indian Institute of Tech-
Comput. Technol., Mar. 2003, pp. 162–170.
nology Madras, Chennai, India.
[25] H. Thapliyal and H. R. Arabnia, Reversible Programmable Logic
His areas of interests include VLSI design, re-
Array (RPLA) Using Fredkin and Feynman Gates for Industrial
configurable computing, and fault-tolerant systems
Electronics and Applications, 2006. vol.arXiv:cs/0609029v1[cs.AR].
design.
[Online]. Available: http://aps.arxiv.org/abs/cs/0609029v1
[26] K. N. Patel, J. P. Hayes, and I. L. Markov, “Fault testing for reversible
circuits,” in Proc. 21st IEEE VLSI Test Symp., Apr. 2003, pp. 410–416.
[27] J. P. Hayes, I. Polian, and B. Becker, “Testing for missing-gate
faults in reversible circuits,” in Proc. 13th Asian Test Symp., Nov. 2004,
pp. 100–105.
[28] D. P. Vasudevan, P. K. Lala, and J. P. Parkerson, “A novel approach for
on-line testable reversible logic circuit design,” in Proc. 13th Asian Test Kamakoti Veezhinathan received the Ph.D. degree
Symp., Oct. 2004, pp. 325–330. in computer science and engineering from the Indian
[29] D. P. Vasudevan, P. K. Lala, and J. P. Parkerson, “Online testable reversible Institute of Technology Madras, Chennai, India, in
logic circuit design using NAND blocks,” in Proc. 19th IEEE Int. Symp. 1995.
He is currently a Professor with the Department of
Defect Fault Tolerance VLSI Syst., Oct. 2004, pp. 324–331.
Computer Science and Engineering, Indian Institute
[30] D. P. Vasudevan, P. K. Lala, J. Di, and J. P. Parkerson, “Reversible logic
design with online testability,” IEEE Trans. Instrum. Meas., vol. 55, no. 2, of Technology Madras. His areas of interests in-
clude computer architecture, reconfigurable comput-
pp. 406–414, Apr. 2006.
ing, high-performance computing, and fault-tolerant
[31] S. D. Brown and Z. Vranesic, Fundamentals of Digital Logic With VHDL
systems design.
Design. New York: McGraw-Hill, 2004.
Authorized licensed use limited to: Sri Venkateswara College of Engineering. Downloaded on July 14,2010 at 03:47:52 UTC from IEEE Xplore. Restrictions apply.