2 VLSI Design
A P = A
( a )
|
|
A |
P = A |
A |
P = A |
A
B
|
P = A
Q = A ⊕ B
( b )
|
B
C
|
Q = B
R = AB ⊕ C
( c )
|
B
C
|
Q = A B ⊕ AC
R = AB ⊕ AC
( d )
|
Figure 1 : Commonly used reversible gates . ( a ) NOT gate , ( b ) CNOT or Feynman gate , ( c ) Toffoli gate , and ( d ) controlled swap or Fredkin gate .
a promising choice for low-power emerging computing technologies .
Reversible logic synthesis attempts have mostly focused on reversible combinational logic synthesis . Some of the most important but nonexhaustive work in this area is [ 14 – 23 ]. However , very few works have investigated reversible sequential logic synthesis . The major problem behind this lack of work is the prevailing thought that feedback is not possible in reversible logic and therefore reversible sequential circuits are not possible . However , in 1980 , Toffoli [ 24 ] argued that if the feedback is provided through a delay element , then the feedback information will be available as the input to the reversible combinational circuit in the next clock cycle and thus a reversible sequential circuit is possible . Moreover , Thapliyal et al . [ 25 ] showed that reversible sequential circuits can be implemented using quantum dot cellular automata ( QCA ) technology by providing appropriate feedback timing by managing the clock of the QCA wire providing the feedback .
This paper presents a further improvement of our earlier work in designing a sequential circuit using direct feedback instead of flip-flops [ 26 ]. In addition , to our knowledge no other work has offered any technique for online testing of sequential circuits . Thus we also propose the first method of testing for single line faults in sequential circuits .
The rest of the paper is organized as follows . In Section 2 , we discuss background for our proposed design method and related topics . We discuss related work on design of sequential circuits and online testing methods for combinational circuits in Section 3 . In Section 4 , we present our proposed method of designing sequential circuits . We show design examples in Section 5 . In Section 6 , we introduce our proposed method of online testing for single line faults in sequential circuits . We also present results for several benchmark circuits . Finally , in Section 8 , we conclude the paper .
2 . Background
mapping F : { 0 , 1 } n 2.1 . Reversible Logic . A reversible function is a bijective
{ 0 , 1 n} , where n is the number of
input variables . A reversible gate ( or a circuit ) implements a reversible function ; that is , it maps the input combination to the output combination in a bijective manner . Thus a reversible gate ( or a circuit ) has the same number of inputs and outputs . In addition every input combination produces a unique output combination in a reversible circuit , and therefore for every output combination , the corresponding input combination can be uniquely determined .
A reversible circuit is constructed using reversible gates . The commonly used reversible gates are shown in Figure 1 .
Figure 1 ( a ) shows the symbol of a NOT gate . It complements
the input at the output ; that is , P = A . Figure 1 ( b ) shows the symbol of a controlled-NOT ( CNOT ) or Feynman gate . The input A is called the control input and its value is passed unchanged to the output ; that is , P = A. The input is called t he target input . The target output has the value Q = A ⊕ B. Figure 1 ( c ) shows the symbol B of a three-input Toffoli gate ( sometimes referred to as a controlled-controlled-NOT gate or CCNOT gate ). The inputs A and B are called the inputs control and their values are passed unchanged to the outputs ; that is , P = A and Q = B . Theinput C is called the target and the input target output has the value R = AB ⊕ C . Toffoli may have more than three inputs , in gates which case they may be referred to as multiple-controlled Toffoli gates . In an ninput inputs and the last input ( say xn ) is the target input .
Toffoli gate , the first ( n−1 )
) are the control The inputs value ( say of x the , x target , . . . , x1 output 2 is x x ⋅⋅ ⋅ x ⊕ x . Figure n−1 1 ( d ) 1 2 shows the symbol of a controlled swap gate n−1 , or Fredkin n gate . Input A is the control input and inputs B and C are targets . When the control input value is A = 0, then the target inputs B and C are passed unchanged to the outputs ; that is , Q = and B R = C
. When the control input value target is inputs A = are 1 , then swapped the at the outputs ; that is , Q = C and R = B . The outputs Q and R can be expressedas Q = AB⊕AC
an d R = A B⊕A C.
When A = 0 , then Q = 0 ⋅B⊕0⋅C = B
R = 0 ⋅B
⊕ 0 ⋅ C = C. Wh . en A = 1 , then Q = 1 ⋅ B ⊕ 1 ⋅ C = and
Quantum
R = 1 ⋅ B cost ⊕ 1 and ⋅ C the = B number of ancilla inputs are widely
C
used as metrics for comparing reversible circuits . Quantum cost refers to the number of primitive quantum gates required to realize the circuit , while ancilla inputs are the constantinitialized working inputs , in addition to the function inputs , that are required for the functionality of the circuit .
NOT and CNOT gates are technology realizable primitive gates , and their quantum costs are assumed to be one . Toffoli and controlled swap gates are macro-level gates and must be realized through a combination of primitive quantum gates .
The three-input Toffoli gate and the controlled swap gate can thus their quantum cost is five each .
be realized using five primitive quantum gates [ 27 , 28 ] and
Realization of multiple-controlled Toffoli gates from primitive quantum gates is presented in [ 29 ], where quantum costs for up to 16-input Toffoli gates are reported . The quantum costs for 4-input , 5-input , and 6-input Toffoli gates are 14 , 20 , and 32 , respectively .
In [ 30 ], extended Toffoli gates ( ETG ) are proposed , which have two target outputs . ETGs are very useful in online testing of reversible combinational circuits . In Figure 2 ( a ), the extended Feynman gate ( EFG ) and its logic level implementation are shown . The quantum cost of the