Low Transition-Generalized Linear Feedback Shift Register Based Test Pattern Generator Architecture for Built-in-Self-Test

: Problem statement: In Built-In Self-Test (BIST), test patterns are generated and applied to the Circuit-Under-Test (CUT) by on-chip hardware; minimizing hardware overhead is a major concern of BIST implementation. In pseudorandom BIST architectures, the test patterns are generated in random nature by Linear Feedback Shift Registers. This normally requires more number of test patterns for testing the architectures which need long test time. Approach: This study presents a novel test pattern generation technique called Low-Transition Generalized Linear Feedback Shift Register (LT-GLFSR) and it was also called Bipartite GLFSR. Intermediate pattern (Bipartite technique) inserted in between consecutive test patterns generated by GLFSR was called LT-GLFSR technique which was enabled by a non overlapping clock scheme. Low-transition generalized linear feedback shift registers (LT-GLFSR), was used in a circuit under test to reduce the average and peak power during transitions. LT-GLFSR pattern generator would generate patterns with higher degree of randomness and high correlation between consecutive patterns would have efficient area implementation. LT-GLFSR did not depend on circuit under test and hence it could be used for both BIST and scan-based BIST architectures. Results/Conclusion: Simulation results show that this technique has reduction in power consumption and high fault coverage with minimum number of test patterns. The results also show that it reduces the peak and average power consumption during test for ISCAS’89 bench mark circuits.


INTRODUCTION
Importance of testing in Integrated Circuit is to improve the quality in chip functionality that is applicable for both commercially and privately produced products. The impact of testing affects areas of manufacturing as well as those involved in design. Given this range of design involvement, how to go about best achieving a high level of confidence in IC operation is a major concern. This desire to attain a high quality level must be tempered with the cost and time involved in this process. These two design considerations are at constant odds. It is with both goals in mind (effectiveness and cost/time) that Built-In-Self Test (BIST) has become a major design consideration in Design-For-Testability (DFT) methods. BIST is beneficial in many ways.
First, it can reduce dependency on external Automatic Test Equipment (ATE) because it is large, vendor specific logic, nonscalable and expensive equipment. This aspect impacts the cost/time constraint because the ATE will be utilized less by the current design. In addition, BIST can provide high speed, in system testing of the Circuit-Under-Test (CUT) Pradhan and Gupta, 1991). This is crucial to the quality component of testing. (Chatterjee et al., 2003) discussed that stored pattern BIST, requires high hardware overhead due to memory devices required to store pre computed test patterns, pseudorandom BIST, where test patterns are generated by pseudorandom pattern generators such as Linear Feedback Shift Registers (LFSRs) and Cellular Automata (CA), required very little hardware overhead. However, achieving high fault coverage for CUTs that contain many Random Pattern Resistant Faults (RPRFs) only with (pseudo) random patterns generated by an LFSR or CA often requires unacceptably long test sequences thereby resulting in prohibitively long test time. In general, the dissipation of power of a system in test mode is higher than in normal mode operation. Power increases during testing (Chatterjee, 1997) because of high switching activity, parallel testing of nodes, power due to additional load (DFT) and decrease of correlation (Chen and Hsiao, 2003) among patterns. This extra power consumption due to switching transitions (average or peak) can cause problems like instantaneous power surge that leads to damage of Circuits (CUT), formation of hot spots and difficulty in verification. Solutions that are commonly applied to relieve the extravagant power problem during test include reducing frequency and test scheduling to avoid hot spots. The former disrupts atspeed test philosophy and the latter may significantly increase the time. The aim of BIST is to detect faulty components in a system by means of the test logic that is incorporated in the chip. It has many advantages such as at-speed testing and reduced need of expensive external Automatic Test Equipment (ATE). In BIST, a Linear Feedback Shift Register (LFSR) generates Pseudorandom test patterns for primary inputs (for a combinational circuit) or scan chain inputs (for a sequential circuit) (Girard et al., 2001) has given. On the observation side, a Multiple Input Signature Register (MISR) compact test set responses received from primary outputs or scan chain outputs (Zorian, 1993). But, BIST-based structures are very vulnerable to highpower consumption during test. The main reason is that the random nature of patterns generated by an LFSR significantly reduces the correlation not only among the patterns but also among adjacent bits within each pattern; hence the power dissipation is more in test mode.
Prior work: Pradhan and Chatterjee (1999) presented a GLFSR, a combination of LFSR and Cellular Arrays (CA), that can be defined over a higher order Galois field GF (2 δ ), δ>1. GLFSR's yield a new structure when the feedback polynomial is primitive and when (δ>1) it is termed as MLFSR. Corno et al. (2000) proposed a cellular automata algorithm for test pattern generation in combinational logic circuits. This maximizes the possible fault coverage and minimizes length of the test vector sequences. Also it requires minimum hardware.
A low power/energy BIST architecture based on modified clock scheme test pattern generator was discussed (Girard et al., 2001), it has been proposed that an n bit LFSR is divided into two n/2 bit length LFSRs. The fault coverage and test time are the same as those achieved in conventional BIST scheme. Wang and Gupta (2002) presented a dual speed LFSR for BIST test pattern generation.
The architecture comprises of a slow speed LFSR and a normal speed LFSR for test pattern generation. Slow speed LFSR is clocked by dual clocked flip-flop, this increases the area overhead than normal speed LFSR. Pradhan and Liu (2005) have discussed an effective pattern generator should generate patterns with high degree of randomness and should have efficient area implementation. GLFSR provide a better random distribution of the patterns and potentially lesser dependencies at the output. EGLFSR is an enhanced GLFSR, using more XOR gate in a test pattern generator which achieves a better performance. Nourani et al. (2008) deals with a low power test pattern generation for BIST applications. It exploits Low Transition LFSR which is a combination of conventional LFSR and insertion of intermediate patterns (bipartite and random Insertion Technique) between sequences of patterns generated by LFSR that can be implemented by modified clock scheme Proposed work: This study presents a new test pattern generator for low-power BIST (LT-GLFSR), which can be employed for combinational and sequential (scan-based) architectures. The proposed design is composed of GLFSR and intermediate patterns insertion technique (Bipartite Technique) that can be implemented by modified clock scheme. The proposed technique increases the correlation in two dimensions: (1) the vertical dimension between consecutive test patterns (Hamming Distance) and (2) the horizontal dimension between adjacent bits of a pattern sent to a scan chain. Reducing the switching activity in turn results in reducing the average and peak power consumption, both peak and average . The GLFSR (Pradhan and Chatterjee, 1999) structure will be modified such that it automatically inserts intermediate patterns between its original pairs. The intermediate patterns are carefully chosen using bipartite techniques (Nourani et al., 2008) and impose minimal time to achieve desired fault coverage. Insertion of Intermediate pattern can be achieved based on non overlapping clock scheme (Girard et al., 2001). The Galois Field (GF) of GLFSR (3, 4) (Wen-Rong and Shu-Zong, 2009) is divided into two parts, it is enabled by non overlapping clock schemes. The randomness of the patterns generated by LT-GLFSR has been shown to be better than LFSR and GLFSR. The favorable features of LT-GLFSR in terms of performance, fault coverage and power consumption are verified using the ISCAS benchmarks circuits.

GLFSR frame work:
The structure of GLFSR is illustrated in Fig. 1. The Circuit Under Test (CUT) is assumed to have δ outputs which form the inputs to that GLFSR to be used as the signature analyzer (Pradhan and Chatterjee, 1999;Matsushima et al., 1997). The inputs and outputs are considered δ bit binary numbers, interpreted as elements over GF (2 δ ). The GLFSR, designed over GF (2 δ ), has all its elements belonging to GF (2 δ ). Multipliers, adders and storage elements are designed using conventional binary elements. The feedback polynomial is represented in Eq. 1 as: The GLFSR has m stages, D 0 , D 1 ...D m-1 each stage has δ storage cells. Each shifts δ bits from one stage to the next. The feedback from the D m-1 th stage consists of δ bits and is sent to all the stages. The coefficients of the polynomial Φ i are over GF (2 δ ) and define the feedback connections.
The GLFSR when used to generate patterns for circuit under test of n inputs can have m stages, each element belonging to GF (2 δ ) where (m×δ) is equal to n. A none zero seed is loaded into the GLFSR and is clocked automatically to generate the test patterns. In this study GLFSR with (δ>1) and (m >1) are used, where all possible 2 mδ test patterns can be generated. The feedback polynomial will be a primitive polynomial of degree m over GF (2 δ ). The polynomial from (Wen-Rong and Shu-Zong, 2009) can be described as in Eq. 2: where, β is the primitive element of GF (2 m×δ ). And construct Primitive polynomial of degree m over GF(2 δ ) using (Eq. 2) is constructed with coefficients Φ 0 , Φ 1 .., Φ m-1 as powers of β, the primitive element of GF(2 m×δ ). Let δ =3,m = 4, (GF(3,4))The primitive polynomial GF(2 12 ) and GF(2 3 ) are denoted by β and α respectively in Eq. 3: Expanding the polynomial as in Eq. 4: Solving the roots α of primitive polynomial p(x) Eq. 5: Is the primitive polynomial of GF (2 3 ), in GF (2 12 ), β 1755 becomes an element which corresponds to a primitive element of GF(2 3 ) , α. Substituting the corresponding values, the feedback polynomial is as in Eq. 6: With the above explanations the generalize GLFSR in Fig. 1 is applied for GLFSR (3, 4) defined over GF(2 3 ) and its structure is given in Fig. 2. Table 1 shows the first 15 states of the GLFSR (3, 4) with the initial seed "1111, 1111, 1111" and the GLFSR (1, 12), which is a 12 stages LFSR as a comparison.

Bipartite (Half-Fixed) technique (intermediate pattern insertion technique):
The implementation of a GLFSR can be changed to improve some design features, such as power, during test. However, such a modification may change the order of patterns or insert new pattern (Nourani et al., 2008) that affect the overall randomness. For example, suppose that T i and T i+1 are two consecutive patterns generated by an n-bit GLFSR.
The maximum number of transitions will be n when T i and T i+1 are complements of each other.  One strategy, used in (Zhang et al., 2001) to reduce number of transitions to maximum of n/2, is to insert a pattern T i1 , half of which is identical to T i and T i+1 . This Bipartite (half-fixed) strategy is shown symbolically in Fig. 3. Implementation of LT-GLFSR (Bipartite GLFSR) Technique: The proposed method for realizing a LT-GLFSR (Bipartite GLFSR) is discussed. Bipartite GLFSR is called as intermediate patterns inserted in between consecutive patterns generated by GLFSR which is enabled by non overlapping clock schemes. This technique inserts an intermediate test pattern T i1 between two consecutive random patterns (T i and T i+1 ) such that the transitions between T i and T i1 and T i1 and T i+1 are reduced. In this technique, each half of T i1 is filled with half of T i and T i+1 is shown in Eq. 7: In this method, a GLFSR is divided into two parts by applying two complementary (non-overlapping) enable signals (Wang and Gupta, 2002). In other words, when one part is working, the other part is in idle mode. An LFSR including flip-flops with two different enable signals (Gizopoulos et al., 2000) is shown in Fig. 4a. The same concept used for GLFSR and Fig. 4b and c shows the architecture of the Bipartite GLFSR to generate intermediate pattern T i1 .
It has two non overlapping enable signals are En1 and En2. When En1En2 = 10, the first part of GLFSR is working, Idle mode part has to develop pattern as present state (stored value). Whereas, with En1En2= 01, the second part works. The additional Flip-Flops (shaded flip-flops) are added to the Bipartite GLFSR architecture to store the n, (n-1) and (n-2) th bits of GLFSR. First, to store the (n-1) and (n-2) th bits of GLFSR when En1En2 = 10 and send (n-2) th bit value into the XOR gate of D2 and D8 flip-flop and (n-1) th bit value into the XOR gate of D2 and D8 flip-flop when the second part becomes active En1En2 = 01.Second, to store the n th bit of GLFSR when En1En2 = 01 and send its value into the XOR gate of D0,D4,D6 and D7 flip-flop when the second part becomes active En1En2 =10. Note carefully that the new (shaded) flipflop does not change the characteristic function of GLFSR. The GLFSR's operation is effectively split into two parts; it is enabled by the two different enable signals as shown in Fig. 4d. This method is similar to the Modified clock scheme LFSR (Girard et al., 2001). They were used two n/2 length LFSRs with two different non-overlapping clock signals which increases the area overhead. Insertion of Intermediate pattern T i1 between two consecutive patterns generated by GLFSR (3, 4) T i and T i+1 . Signals En1 and En2 select part of the GLFSR to generate random patterns as shown in Fig.  4c.This reduces the transitions from T i and T i1 is equal to 1, from T i1 to T i+1 is equal to 3 and from T i to T i+1 is equal to 4. The power consumption of LT-GLFSR itself is reduced due to using the Bipartite GLFSR technique. Only one part of the LT-GLFSR flip-flops are clocked in each cycle in conventional LFSR and GLFSR flipflops are clocked at the same time in each clock cycle, thus its power consumption is much higher than LT-GLFSR. Table 2-6 show the power consumption of LFSR, GLFSR and LT-GLFSR for ISCAS bench marks circuits. Also it has better randomness of the patterns generated and increased correlation between consecutive patterns.
The following steps are involved to insert the intermediate patterns in between two consecutive patterns: Step1: En1En2 = 01 the first part (D 0 , D1, D3, D4, D6, D 7, D9 and D 10 ) of GLFSR is idle and the second part (D 2 , D5, D8 and D 11 ) is in active mode. When there is no input bits change in first part the outputs will have its previous state (O0,O1,O3,O4,O6,O7,O9 and O10) as present state (stored value) and second part(D 2 ,D 5 ,D 8 and D 11 ) of GLFSR are sent to the outputs(O2,O5,O8 and O11) as next state. In this case, T i1 is generated. Step2: En1En2 = 10 the first part (D 0 , D 1 , D 3 , D 4 , D 6 , D 7, D 9 and D 10 ) of GLFSR is active and the second part (D 2 , D5, D8 and D 11 ) is in idle mode. First part(D 0 ,D 1 ,D 3 ,D 4 ,D 6 , D 7, D 9 and

RESULTS
The test patterns generated by LFSR, GLFSR and LT-GLFSR are used for verifying the ISCAS85 benchmark circuits S344, S298, S386 and S526. Simulation and synthesis are done in Xilinx 13 and power analysis is done using Power analyzer. The results in Table 3-6, are the test patterns for fault coverage and the reduction in the number of test patterns. Power analysis is carried out with the maximum, minimum and typical input test vectors for stuck-at faults and transition faults of sequential Circuits (CUT).
Modeling of the design is done in VHDL and simulation is carried out in Model Sim 6.5. Table 2 shows the first 20 states of the LT-GLFSR (3, 4) with the initial seed "1111, 1111, 1111" and which are 20 stages of LFSR and GLFSR for comparison.

DISCUSSION
Test patterns are generated by LFSR, GLFSR and LT-GLFSR and the analysis of randomness or closeness among the bit patterns are done. From the analysis the test patterns generated by LT-GLFSR has significantly greater degree of randomness, resulting in improved fault coverage when compared to standard LFSR and GLFSR. GLFSR is modified by means of clocking such that during a clock pulse one part is in idle mode and other part in active mode. This modification is known as LT-GLFSR which reduces transitions in test pattern generation and increases the correlation between and within the patterns by inserting intermediate patterns. From the discussed three methods the LT GLFSR has reduced test patterns with high degree of closeness and low power consumption for the CUT.