1. Exclusive Shift-in and Shift-out Mechanism
In order to reduce test power consumption, an exclusive shift-in and shift-out mechanism
is introduced which can significantly reduce the average number of transitions during
the scan test. As depicted in Fig. 1(a), in a conventional scan test, the test stimuli of the current scan test pattern (i.e.,
s1~s6) and captured test results of the prior scan test pattern (i.e., r1~r6) are
simultaneously loaded and unloaded to and from the scan flip-flops. On the other hand,
the proposed scan test exclusively performs the shift-out and shift-in processes,
as depicted in Fig. 1(b). To avoid overwriting the logic states of the scan flip-flops using the shift-in
process before observing the captured test results, the shift-out process precedes
the shift-in process. The proposed exclusive scan test can be summarized as follows:
1) A tester loads the test stimuli of the 1st scan test pattern into scan chains via
external test channels (i.e., input and output (I/O) pads) using a shift-in process.
2) The test results from the functional paths corresponding to the loaded test stimuli
are captured in the scan flip-flops.
3) The tester unloads the captured test results from scan chains through external
test channels (i.e., shift-out). At the same time, the tester compares the unloaded
test response with the expected response. To avoid unnecessary transitions by input
value to the scan chain during shift-out process, the scan flip-flops, which unloads
the valid test results, are initiated.
4) The tester loads the test stimuli of the next scan test patterns into scan chains.
Fig. 1. Timing diagrams of (a) the shift process of the conventional scan test, (b)
the exclusive shift-in and shift-out mechanism of the proposed scan test.
Fig. 2. Example of (a) the shift process of the conventional scan test, (b) the exclusive
shift-in and shift-out process of the proposed scan test.
Steps 2) to 4) are repeatedly performed until the last scan test operation is completed.
Fig. 2(a) and (b) present examples of the conventional shift process and proposed exclusive
shift-in and shift-out mechanism, respectively. In this example, a design has 8 scan
flip-flops. ‘H’ and ‘L’ indicate high and low logic levels of the captured data to
be unloaded, respectively. And ‘1’ and ‘0’ indicate high and low logic levels of the
test pattern to be loaded. Each arrow indicates either a 0${\rightarrow}$1 or 1${\rightarrow}$0
transition on a scan flip-flop. The example intuitively shows that the exclusive shift-in
and shift-out mechanism results in a smaller number of transitions than the conventional
scan test. During shift process of the conventional scan test, the next pattern bits
are loaded into the scan chain simultaneously as the captured bits are unloaded. Thus,
transitions occur across the entire chain of scan flip-flops. The exclusive shift-in
and shift-out mechanism suppresses the transitions in the scan flip-flops by initializing
those scan flip-flops. Therefore, the proposed scan test can significantly reduce
the average number of transitions. However, this test requires twice the test time
of the conventional scan test due to the exclusive shift-in and shift-out procedure.
2. Half-split Scan Chains with Test Channel Sharing
As depicted in the previous section, the test time doubles with the proposed technique
due to the exclusive shift-in and shift-out processes of the test stimuli and their
results. However, this problem is resolved because there are twice as many pins available
for shift-in and shift-out processes, unlike the conventional test architecture (i.e.
separate scan-in and scan-out port). The question then becomes how to divide the scan
chains between the twice number of pins available now. Intuitively, dividing the scan
chains in half would be the best solution which results in twice as many bi-directional
pins and scan chains. Therefore, we divided the scan chains into two scan chains of
equal length as depicted in Fig. 3.
With this division of scan chains, three facts can be observed. (1) The test time
which may have been doubled remains the same as conventional scan test. (2) By using
exclusive shift-in and shift-out method with the half-split scan chains, the same
number of clock cycles is required for the proposed technique as the conventional
test. (3) As a result, the number of transitions of proposed scan test is reduced,
resulting in less scan test power.
Fig. 3. Half-split scan chain architecture with test channel sharing.
Another problem that comes with lengthy scan chains is the supply voltage drop, which
is also known as IR drop. Because of this voltage drop, the reliability of test cannot
be guaranteed. T. Yoshida et. al. (23) has shown that by splitting the scan chain length in half and applying the clock
with the different duty cycle can significantly reduce the voltage drop problem. It
is implied that voltage drop problem can also be resolved by reducing the concurrent
switching activity. Likewise, the splitting of scan chains in half results in the
reduced switching, thus the voltage drop problem can be solved.
The number of transitions during the conventional scan test, T$_{scan}$, can be calculated
using Eq. (1) , where T$_{load}$(k) and T$_{unload}$(k) indicate the number of transitions required
to load and unload the k$^{\mathrm{th}}$ test stimuli and result, respectively. T$_{bound}$(k)
denotes the number of transitions occurring at the boundary of the k$^{th}$ test result
and test stimuli, when the first bit of the k$^{th}$ test stimuli is loaded into the
scan chain. Likewise, the number of transitions during the proposed scan test, T’$_{scan}$,
can be calculated with Eq. (2) .
The parameters T$_{load}$(k), T$_{unload}$(k), and T$_{bound}$(k) are calculated using
Eqs. (3)-(5), where P$_{k}$(i) and R$_{k}$(i) indicate the logic value of the i$^{th}$ bit in
the kth test stimuli and the kth test result, respectively. Likewise, the values T’$_{load}$(k),
T’$_{unload}$(k), and T’$_{bound}$(k) are calculated with Eqs. (6)-(8).
The difference in the number of transitions between the conventional scan test and
the proposed scan test can be calculated by subtracting T’$_{scan}$ from T$_{scan}$,
as shown in Eq. (9) .
Observations 1, 2, and 3 and theorem 1 below verify that the half-split scan chain
architecture of the proposed scan test always results in fewer or the same number
of transitions as the conventional scan test.
Observation 1. If any neighboring two bits in the first half of the kth test results
have different logic values, the half-split scan chain architecture results in at
least (n/2) fewer transitions than the conventional scan test for the shift-out process,
where n is the length of a scan chain.
Proof. Suppose $R_{k}\left(j\right)=x,R_{k}\left(j+1\right)=\overline{x}$
where $1<j<\left(\frac{n}{2}- 1\right)$.
This implies that $\sum _{i=1}^{\frac{n}{2}- 1}(R_{k}(i)\oplus R_{k}\left(i+1\right))\geq
1$.
Then,
\begin{equation*}
T_{\textit{unload}}\left(k\right)- T'_{\textit{unload}}\left(k\right)=\frac{n}{2}\times
\sum _{i=1}^{\frac{n}{2}}\left(R_{k}\left(i\right)\oplus R_{k}\left(i+1\right)\right)
\end{equation*}
Therefore, $T_{\textit{unload}}\left(k\right)- T'_{\textit{unload}}\left(k\right)\geq
\frac{n}{2}$.
Observation 2. If any neighboring two bits in the second half of the k$^{th}$ stimuli
have different logic values, the half-split scan chain architecture results in at
least (n/2) fewer transitions than the conventional scan test for shift-in.
Proof. Suppose $P_{k}\left(j\right)=x,P_{k}\left(j+1\right)=\overline{x}$
where $\left(\frac{n}{2}+1\right)<j<\left(n- 1\right)$.
This implies that $\sum _{\frac{n}{2}+1}^{n- 1}(P_{k}(i)\oplus P_{k}\left(i+1\right))\geq
1$.
Then,
$T_{load}\left(k\right)- T'_{load}\left(k\right)=\sum _{i=\frac{n}{2}}^{n- 1}\left(\frac{n}{2}\times
\left(P_{k}\left(i\right)\oplus P_{k}\left(i+1\right)\right)\right)$,
so $T_{load}\left(k\right)- T'_{load}\left(k\right)\geq \left(\frac{n}{2}\right)$.
Suppose $T'_{\textit{bound}}\left(k\right)- T_{\textit{bound}}\left(k\right)>0.$
Now
\begin{equation*}
T'_{\textit{bound}}\left(k\right)- T_{\textit{bound}}\left(k\right)=- n\times \left(P_{k}\left(n\right)\oplus
R_{k}\left(1\right)\right)+
\end{equation*}
\begin{equation*}
\frac{n}{2}\times \left(P_{k}\left(\frac{n}{2}\right)\oplus R_{k}\left(1\right)\right)+\frac{n}{2}\times
\left(P_{k}\left(n\right)\oplus R_{k}\left(\frac{n}{2}+1\right)\right)
\end{equation*}
Observation 3. If the half-split scan chain results in more transitions than the conventional
scan test at the boundary of the k$^{th}$ test results and test stimuli, the first
half of the k$^{th}$ test results or the second half of the k$^{th}$ test stimuli
has two neighboring bits with different logic values.
Proof. Suppose $T'_{\textit{bound}}\left(k\right)- T_{\textit{bound}}\left(k\right)>0.$
Now $T'_{\textit{bound}}\left(k\right)- T_{\textit{bound}}\left(k\right)=- n\times
\left(P_{k}\left(n\right)\oplus R_{k}\left(1\right)\right)+$
$\frac{n}{2}\times \left(P_{k}\left(\frac{n}{2}\right)\oplus R_{k}\left(1\right)\right)+\frac{n}{2}\times
\left(P_{k}\left(n\right)\oplus R_{k}\left(\frac{n}{2}+1\right)\right)$.
To satisfy the initial assumption,
$~ ~ P_{k}\left(\frac{n}{2}\right)\oplus R_{k}\left(1\right)=1$ or $P_{k}\left(n\right)\oplus
R_{k}\left(\frac{n}{2}+1\right)\left(\frac{n}{2}+1\right)=1$.
where $P_{k}\left(n\right)\oplus R_{k}\left(1\right)=0$.
Assume $P_{k}\left(\frac{n}{2}\right)=x$ and $R_{k}\left(1\right)=\overline{x}$, then
$P_{k}\left(n\right)=\overline{x~ }$.
This implies that $\sum _{i=\frac{n}{2}}^{n}(P_{k}(i)\oplus P_{k}\left(i+1\right))\geq
1$,
the second half of the k$^{th}$ test stimuli has neighboring two bits with different
logic values.
Assume$P_{k}\left(n\right)=x$ and $R_{k}\left(\frac{n}{2}+1\right)=\overline{x}$,
then $R_{k}\left(1\right)=x$
It implies that $\sum _{i=1}^{\frac{n}{2}}(R_{k}(i)\oplus R_{k}\left(i+1\right))\geq
1$,
So, the first half of the k$^{th}$ test result has neighbored two bits with different
logic values.
Theorem 1. The half-split scan chain architecture of the proposed scan test always
results in fewer or the same number of transitions as the conventional scan test.
Proof. Suppose the proposed scan test results in more transitions than the conventional
scan test.
This implies $T'_{scan}- T_{scan}>0$.
Then, $T'_{\textit{bound}}\left(k\right)- T_{\textit{bound}}\left(k\right)>0$
Fig. 4. Typical scan flip-flop (scan cell) attached to combinational logic.
Fig. 5. Scan chains along with their fanouts for (a) an unordered original scan chain,
(b) a reordered scan chain with respect to their fanouts.
because $T'_{load}\left(k\right)- T_{load}\left(k\right)=- \frac{n}{2}\times \sum
_{i=\frac{n}{2}}^{n- 1}\left(P_{k}\left(i\right)\oplus P_{k}\left(i+1\right)\right)<0$
and
\begin{equation*}
T'_{\textit{unload}}\left(k\right)- T_{\textit{unload}}\left(k\right)=- \frac{n}{2}\times
\sum _{i=1}^{\frac{n}{2}}\left(R_{k}\left(i\right)\oplus R_{k}\left(i+1\right)\right)<0
\end{equation*}
Assume that $T'_{\textit{bound}}\left(k\right)- T_{\textit{bound}}\left(k\right)=\frac{n}{2}$
Then, either $T'_{load}\left(k\right)- T_{load}\left(k\right)\leq - \frac{n}{2}$ or
$T'_{\textit{unload}}\left(k\right)- T_{\textit{unload}}\left(k\right)\leq - \frac{n}{2}$
is found by observations 1, 2, and 3. So, $T'_{scan}- T_{scan}\leq 0$. This contradicts
the initial assumption.
Assume $T'_{\textit{bound}}\left(k\right)- T_{\textit{bound}}\left(k\right)=n$
Then, $T'_{load}\left(k\right)- T_{load}\left(k\right)\leq - \frac{n}{2}$ and $T'_{\textit{unload}}\left(k\right)-
$ $T_{\textit{unload}}\left(k\right)\leq - \frac{n}{2}$ is found by observations 1,
2, 3.
So, $T'_{scan}- T_{scan}\leq 0$.
This contradicts the initial assumption. Therefore, the proposed exclusive scan test
cannot have more transitions than the conventional method.