Low Cost Test Pattern Generation in Scan-Based BIST Schemes

This paper proposes a low-cost test pattern generator for scan-based built-in self-test (BIST) schemes. Our method generates broadcast-based multiple single input change (BMSIC) vectors to fill more scan chains. The proposed algorithm, BMSIC-TPG, is based on our previous work multiple single-input change (MSIC)-TPG. The broadcast circuit expends MSIC vectors, so that the hardware overhead of the test pattern generation circuit is reduced. Simulation results with ISCAS’89 benchmarks and a comparison with the MSIC-TPG circuit show that the proposed BMSIC-TPG reduces the circuit hardware overhead about 50% with ensuring of low power consumption and high fault coverage.


Introduction
Nowadays VLSI testing is always used to ensure the correctness and reliability of the finished chip [1], but we encountered some problems during VLSI testing.In the process of chip testing, the test power consumption is two to four times greater compared with the normal power consumption [2,3].This excessive power consumption will limit the stability of the circuit and it will also increase the cost of packaging [4].In consideration of the economics of design for testability, we need to balance the cost and interest [5].Therefore, this paper aims to find a low-cost test pattern generation method based on our previous work multiple single-input change (MSIC)-TPG [6].
The built-in self-test (BIST) method can effectively reduce the difficulty and complexity of VLSI testing.The BIST technology can be roughly divided into two categories: logic BIST (LBIST) and memory BIST (MBIST) [7,8].The test pattern generation method proposed in this paper is based on the LBIST method.The traditional LBIST technology is based on the pseudo-random test patterns generated by the linear feedback shift register (LFSR) [9].This will lead to a large test power consumption during the test.To solve this problem, a method of MSIC test pattern generation combining a pseudo-random sequence with a low-transition sequence has been proposed in paper [6].It can consider both high fault coverage and low power consumption [10,11].However, this method increases the area of circuits.To overcome the limitations, a novel low-cost BIST architecture using test pattern broadcast circuits called broadcast-based multiple single input charge (BMSIC)-TPG has been developed.This method reduces the area overhead, and it scores well in power consumption and fault coverage.
The rest of this paper is organized as follows.In Section 2, the proposed BMSIC-TPG scheme is presented.The mathematical features of the new BMSIC sequences is described in Section 3. In Section 4, the performance of the BMSIC sequences are analyzed.Conclusions are given in Section 5.

BMSIC-TPG
The BMSIC-TPG structure includes a clock control module, an original scan chain generation module, and a broadcast module [12][13][14][15], as shown in Figure 1.The square A is the clock control module, which is used to generate a slow clock (CLK1) and a fast clock (CLK2).CLK1 is used to drive LFSR to update seed vectors [16], and CLK2 is used to drive reconstructed Johnson counter to update Johnson vectors and generate the vector J [17].The square B is the original scan chain generation module, which is composed of the LFSR, the reconfigurable Johnson counter, and the exclusive OR (XOR) network [18].The LFSR is used to generate the seed vector.The reconfigurable Johnson counter is used to generate the Johnson vector, and the XOR network generates the original scan chain vector by bitwise XOR operation of the seed vector S and the vector J.The square C is the broadcast module, which will broadcast m original scan chains to 4m broadcast scan chains [14].The specific circuit is shown in Figure 3. Suppose that there are m scan chains before broadcast and M scanning chains after broadcast, and each scanning chain has l scanning cells in a full scan design.The bits of seed vector S generated by LFSR is m.The bits of the vector J generated by reconfigurable Johnson counter is L.
Through many mathematical analyses and experiments, we know the solution to optimize the configuration of BMSIC-TPG is L = l, which is called the test convention constraint.Due to test pattern generation algorithm, the test pattern generator is constrained to have L ≥ m, which is called the test generation constraint, and must be satisfied compared with the test convention constraint.The test convention constraint is an optimal to generate the test pattern under the premise of satisfying the test generation constraint.Obviously, the two constraints are satisfied if L ≥ m.The configuration is the optimal configuration if L = l.If l < m, it just satisfies the test generation constraint L ≥ m (in this article L = m).According to these constraints and the broadcast of test patterns we studied, we can find M = 4m, the bits of the seed vector is m, the bits of the Johnson vector is L(L = l), this is the premise of the follow-up contents.The above analysis result is also easy to understand.Under the premise that L ≥ m, the filling of the scan chain is realized by cyclic shifting of the updated current Johnson vector.The period of the cyclic shift is L. If L < l, the cyclic shift of the Johnson vector needs several shifting cycles, and the filling value will correspondingly appear repetitive parts.So the possibility of transition between adjacent bits of vectors generated after encoding will increase.If L = l, the cyclic shift of the Johnson vector is exactly a shift period, and the filled value is just all the bits of the Johnson vector.So this configuration can ensure low possibility of transition.If L > l, the cyclic shift of the Johnson vector is less than one shift period, and the filling value is part of the bits of Johnson vector.Thus, the possibility of transition will decrease.But this configuration will increase the area of the circuits.In this paper, the bits of seed vector and Johnson vector are always equal which is called the same scan configuration.

LFSR Structure and Johnson Counter Structure
The LFSR is composed of multiple shift registers and XOR gates connected in a certain way.The m-bit linear feedback shift register can generate (2 m − 1) different states at most [19].If the m-bit linear feedback shift register generates (2 m − 1) different states and begins to repeat periodically, the (2 m − 1) different states of the sequence is called the maximum length sequence, which is also known as the M sequence.
Because the number of transitions between adjacent bits of the test vector is positively correlated with the power consumption of the test [20], the Johnson counter can generate Johnson vectors that has low transition properties between adjacent vectors and adjacent bits of the same vector.The Johnson sequence is a single input change sequence (SIC).The vector generated by the next clock in the sequence is a one-bit change from the previous clock generation vector.Johnson sequences consist of a series of "0" and a series of "1".So we choose a Johnson counter to reduce power consumption.But a simple Johnson counter can not complete the data shift loading process.We reconstruct the Johnson counter according to the test pattern generation method.
The L-bit reconfigurable Johnson counter is shown in Figure 2. When the mode is set to one, the counter implements the counting function.Under this mode, the initialization of all flip-flops will be completed after running L clocks if the Rst signal is set to zero.If the Rst signal is set to one, the counter implements the normal counting function.When the mode is set to zero, the counter implements a shift function and feeds the last bit of the counted vector back to the first bit.The adjacent bit of each Johnson vector jumps to zero or one, so the sequence generated by the reconfigurable Johnson counter still holds the single-hop characteristic.

XOR Network
The XOR network generates the original scan chain vector by bitwise XOR operation of the seed vector S which is generated by the LFSR and the vector J which is generated by the reconfigurable Johnson counter.The LFSR generates an m-bit seed vector S = [S 0 , S 1 , S 2 , . . ., S m−1 ].The reconfigurable Johnson counter generates a L-bit vector J = [J 0 , J 1 , J 2 , . . .,

Broadcaster
A broadcaster [12][13][14] distributes test patterns from a MSIC-TPG [6] module to fill multiple scan chains in a minimally constrained manner.The specific structure is shown in Figure 3.The broadcast circuit extends the original scan chains from two to eight.S 1 and S 2 are original scan chains.B 0 and B 1 are broadcast vectors which are generated by the two-bit LFSR.The post-broadcast seed vectors S 11 , S 12 , S 13 , S 14 and S 21 , S 22 , S 23 , S 24 to be applied to the scan chains are generated by bit-XOR the original scan chains S 1 and S 2 and the broadcast vectors B 0 and B 1 .Suppose the number of original scan chains is m, so the number of seed vectors after broadcast is M and M = 4m.

The Process of BMSIC-TPG
What follows are the operation mode of the BMSIC-TPG.
1. Clock control module generates CLK1 and CLK2.CLK1 drives the LFSR to update the seed vector, and CLK2 drives the reconfigurable Johnson counter to update the J vector and enables the scan to move in.2. Original scan chain generation module is made up of the LFSR, reconfigurable Johnson counter, and XOR network.The LFSR generates the S vector.The reconfigurable Johnson counter generates the J vector.The XOR network operates the bit-XOR between the S vector and the J vector to generate the original scan chain data.3. Broadcast module is used to extend the original scan chain.

Periodicity
Since the seed vectors, broadcast vectors, and original scan chain vectors before the broadcast are all periodic and the XOR operation is a linear operation, the BMSIC test pattern is also assumed to have periodic characteristics [6].Suppose the seed vector is S = [S 0 , S 1 , S 2 , . . ., S m−1 ].The vector J is J = [J 0 , J 1 , J 2 , . . ., J L−1 ], and the broadcast vector B is B = [B 0 , B 1 ].Then at time t, S, J, and B can be expressed as: (1) According to the generation algorithm, the original input test vector consists of parts or all bits of the seed vector or multiplexing of seed vectors, which can be expressed as: In Equation ( 2), 1 ≤ h ≤ m and h is an integer.The specific value depends on the number of the original inputs N and the number of seed vectors m.At the same time, the k-th original scan chain vector can be expressed as: The vector in Equation (3) represents the J vector applied to the k-th scan chain.
Assume that the two pre-broadcast original scan chain vectors S 1 , S 2 of the broadcaster shown in Figure 3 are denoted as C q (t, x), C q+1 (t, x).The test vector of the i-th scan chain after broadcasting is V i (t, x), then the eight scan chain vectors S 11 , S 12 , S 13 , S 14 , S 21 , S 22 , S 23 , S 24 after broadcasting can be expressed as: Considering the above, the ω complete scan chain vector loaded into the circuit under test can be expressed as: Bit-XOR the ωth test pattern with the dth test pattern can be expressed as: Only if S(t ω , x) = S(t d , x), B(t ω , x) = B(t d , x), and ∑ m l=1 C l (t ω , x) = ∑ m l=1 C l (t d , x) are established at the same time, then P(ω) ⊕ P(d) = 0 is established.It is known that the period of seed vector S is T S = 2 m − 1.The period of the broadcast vector B is T B = 2 2 − 1 = 3.It is known from the literature [6] that the period of original scan chain vector S before broadcast is T MSIC = (2 m − 1)2L.So the BMSIC test pattern is also periodic, and the period is the least common multiple of the period of seed vector, the broadcast vector and the original scan chain vector.It can be expressed as: From Equation ( 7), the period of the BMSIC test pattern is related to the number of bits of the seed vector and the J vector.Under the same configuration, the T BMSIC is larger than the T MSIC [6].The greater the period of the test pattern is, the better the pseudo-randomness of the test pattern sample is, and the higher the fault coverage is.The number of bits in the seed vector S and J vectors directly affects the hardware overhead.The exponential relationship and multiple relationship of the Equation ( 7) make it possible to obtain a test pattern with large period and good pseudo-randomness with fewer vector bits, so BMSIC test patterns can reduce hardware overhead on the premise of achieving satisfactory fault coverage.

Transition
The number of transitions between adjacent bits of the test pattern is positively correlated with the power consumption of the test [20], so it can be used to quantitatively analyze the transition properties of the BMSIC test pattern.We take some test patterns under different scanning configurations as the samples and count the transition numbers for the BMSIC test generation method.We have obtained some statistical laws after our analysis.The results are shown in Table 1, and the "transition period" indicates how many test patterns the transition characteristics will repeat."Pattern transitions" indicates the total transitions of a single test pattern.We can make a conclusion from Table 1: (1) the transitions of per test pattern repeats with L for the transition period.( 2) If L = m, the transition of one pattern is zero, and the transition of L − 1 patterns is 8(m − 1).( 3) If L > m, the transition of one pattern is zero.The transition of m patterns is 8(m − 1) + 4, and the transition of (L − m − 1) patterns is 8m.The above conclusion is derived because the BMSIC test pattern needs to satisfy both the test generation constraints and the test convention constraints.The average transition between the adjacent slices of the BMSIC test pattern is calculated as Equation ( 8), which is almost equivalent to the average transition of the MSIC [4] test pattern (shown in Equation ( 9)).

Randomness
The random sequence can detect most of the faults in CUT.Therefore, this paper discusses the randomness of the "0", "1" distribution of BMSIC test patterns that have been generated to evaluate its capability to detect faults.The generated test pattern is evaluated from the scanning moving direction and the test pattern direction respectively according to the scanning test scheme and the scanning design technique.
As shown in Figure 4a, the randomness of scan moving direction is to calculate the probability of "0" or "1" of a given scan chain under each test pattern, which reflects the randomness of the same test pattern between its scan units on this scan chain.However, the randomness of scan moving direction does not reflect the randomness of the same scanning unit in the designated scan chain being filled with "0" or "1" under different test patterns, thus introducing the randomness of test pattern direction as shown in Figure 4b.The randomness of test pattern direction is to calculate the probability of "0" or "1" being filled in different test patterns for each scan unit in the specified scan chain, which reflects the difference between test patterns.We take 10,000 BMSIC test patterns and each test pattern has 32 scan chains as the samples and choose one chain to study.Then compare with LFSR and MSIC test patterns in the same configuration to reflect the performance of randomness.Other chains also has the similar result.The probability distribution of logic "0" in the scan moving direction is shown in Figure 5.It can be concluded BMSIC has a large fluctuation in randomness and has periodicity.The probability distribution of logic "0" in the test pattern direction is shown in Figure 6.It can be concluded the randomness of the test sequence arranged from good to bad is MSIC, BMSIC and LFSR, but the distributions are basically between 0.495 and 0.505, all have good randomness.So we consider the BMSIC test patterns have good fault detection capability.The above analysis shows that BMSIC test patterns are good in randomness.Although it is based on a statistical approximation, it is necessary to evaluate the fault detection capability of test pattern.Therefore, it is speculated that BMSIC test patterns can achieve satisfactory fault coverage.

BMSIC-TPG Performance Analysis
BMSIC test patterns had low power consumption and low area overhead and it can achieve satisfactory fault coverage from theoretical analysis.This section verifies fault coverage, power consumption, and area cost performance through the specific simulation experiments and performance estimates.The circuit under test (CUT) in the experiment are five circuits in ISCAS'89 series, using Nangate 45 nm process library.The synthesis of CUT were carried out with DFT_Compiler of Synopsys.Test generation and test application were carried out with Perl.The fault simulation was carried out with TetraMAX.The power consumption simulation was carried out with the Synopsys Design Analyzer and Prime Power.Because the BMSIC-TPG proposed in this paper was designed to overcome the drawback of the previous method [6], we compare the performance of BMSIC with our previous method [6].

Fault Simulation
The fault simulation results of the BMSIC test generation method are shown in Table 2. DFF represents the number of scanning units in the circuit under test.Chain represents the number of scan chains.Depth represents the number of scanning units per scan chain.TL represents the number of test patterns, and SFC and TFC represent stuck fault coverage and transition fault coverage respectively.
We used DFT_Compiler of synopsys to synthesize the CUT, Perl to implement test patterns generation algorithm to achieve test generation, test application, and TetraMAX to complete the fault simulation, the results are shown in Table 2. Comparing with the literature [6], BMSIC test program can achieve higher fault coverage under the same configuration.Comparing with the literature [21], we needed less test patterns to achieve high fault coverage.At the same time, we found that the same CUT under different test generation configuration resulted in different fault coverage, indicating that the fault coverage is related to test generation configuration.

Power Consumption Simulation
The power simulation results of the BMSIC test generation method are shown in Table 3.The test frequency was 100 MHz, and the power supply voltage was 1.1 V. Table 3 shows the total power consumption and peak power consumption caused by the three test generation methods: LFSR, MSIC, and BMSIC.From Table 3, the BMSIC test pattern generation circuit has obvious advantages in terms of the total power consumption and the peak power consumption compared with the LFSR generation method.The MSIC generation method was better in power consumption compared with BMSIC generation method.But the difference is not particularly obvious.

Conclusions
This paper proposes a low-cost test pattern generation method BMSIC-TPG based on our previous work MSIC-TPG, which can take into account both low power consumption and satisfactory fault coverage [6].The hardware overhead of the proposed MSIC-TPG is reduced by inserting a broadcaster between the MSIC-TPG module and the CUT.The inserted broadcaster is responsible for distributing test patterns from a MSIC-TPG module to fill a larger number of scan chains.By the introduction of the broadcaster, one original scan chain can be split into several shorter scan chains in a balanced way.Analysis results show that BMSIC sequences have the favorable features of uniform distribution and low input transition density.Compared with MSIC-TPG, experimental results show that in most cases, hardware overhead is reduced by 50% and fault coverage is higher.This is achieved with a little increase in test power and no increase in test length to hit a target fault coverage.For the larger CUT, the performance of the proposed BMSIC-TPG in area overhead is better.

Figure 4 .
Figure 4. (a) Scan moving direction randomness analysis diagram.(b) Test pattern direction randomness analysis diagram.

Table 1 .
Transition of the broadcast-based multiple single input charge (BMSIC)-TPG.

Table 2 .
Comparison of fault coverage of the three test generation methods.

Table 3 .
Comparison of power simulation results of the three test generation methods.