Fault scan chain shielding method based on compression environment
By optimizing the scan chain fault diagnosis through ATPG algorithm and shielding weight function, the complexity and resource occupation problems of scan chain fault diagnosis in highly integrated chips are solved, and efficient fault diagnosis is achieved.
Patent Information
- Application Number
- CN202310152503.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-22
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2043-02-22
AI Technical Summary
In the compressed environment of highly integrated chips, the logic circuits in the scan chain fault diagnosis process are complex, occupy a lot of hardware resources, and the fault diagnosis accuracy is not high. The test responses of multiple fault scan chains easily offset each other, making diagnosis difficult.
The total number of scan chains and the maximum number of faulty scan chains are detected through the ATPG algorithm, and a vector set to be tested and a shielding signal are generated. Test vectors are selected one by one for fault shielding diagnosis. The single shielding weight coefficient and fault detection weight are calculated using the shielding weight function. The target scan chain is determined and the shielding signal is updated. The target test vector set and target shielding signal set are generated for scan chain fault diagnosis.
The number of test vectors is reduced, the fault diagnosis time is shortened, the excessive occupation of hardware resources and the mutual interference during multiple fault diagnosis are avoided, and the fault diagnosis accuracy is improved.
Smart Images

Figure CN116298832B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of EDA detection, and in particular to a method for shielding a fault scan chain based on a compression environment. Background Art
[0002] With the development of the integrated circuit industry, the integration of chips is getting higher and higher. Especially for technologies below 90 nanometers, the smaller feature size and larger leakage current of field-effect transistors reduce the observability of faults and make them difficult to be detected by physical fault analysis methods. Therefore, fault diagnosis technology is very important for improving chip manufacturing yield and shortening chip debugging time.
[0003] With the use of spatial compressors, the number of scan chains is much larger than in traditional circuits. Therefore, in modern scan designs based on spatial compression, the probability of multiple scan chain failures is much higher than before. If two or more scan chains fail simultaneously, the test responses of the scan chains sent to the compressor may cancel each other out, making diagnosis difficult. Due to reduced observability, the compression of test responses has a negative impact on fault diagnosis. This problem can be improved by bypassing the compression circuit or using additional test methods. However, bypassing the compression circuit requires adding additional circuit structures to the chip and increasing the amount of data testing. Using additional test methods also increases the number of times the chip is tested in the tester, increasing testing costs. For example, Chinese patent application publication number CN112100010A discloses a DFT test port allocation method that accommodates multiple packages. During the RTL design phase, this design incorporates logic circuitry consisting of a MUX selector and a DEMUX distributor between the I / O and test ports, based on the different packaging schemes. The design uses PIN pins as output ports, selects an appropriate MUX selector, and completes the connection; uses PIN pins as output ports, selects an appropriate DEMUX distributor, and completes the connection; and controls the selection state of each MUX selector and the allocation state of each DEMUX distributor based on package information stored in a memory. This design accommodates multiple packages for DFT test port allocation and effectively reduces the complexity of the packaging scheme. However, this design still has drawbacks: First, it introduces additional logic circuitry, increasing the likelihood of scan chain failures; second, the circuit structure uses multiple pairs of PIN pins as input and output pins for the test circuit, consuming significant hardware resources. With the use of space compression technology, multi-PIN designs are becoming increasingly obsolete; and third, the introduction of decompressors and compressors can mask faults in one scan chain by faults in other scan chains, increasing the likelihood of fault simulation failure. Summary of the Invention
[0004] The present invention provides a method for shielding a faulty scan chain based on a compressed environment, which solves the problems of complex logic circuits, hardware resource occupation, and low fault diagnosis accuracy in the scan chain fault diagnosis process. The method includes:
[0005] S1, using the ATPG algorithm to detect and determine the total number of scan chains and the maximum number of faulty scan chains on the chip, and generate a test vector set and a shielding signal; the shielding signal acts on a scan chain shielding signal decoder to shield the selected target scan chain;
[0006] S2, selecting test vectors one by one from the set of vectors to be tested, performing fault shielding diagnosis on the scan chains according to all fault permutations and combinations of the shielding signals and the faulty scan chains, and determining a target scan chain for shielding;
[0007] S3, updating the shielding signal according to the target scan chain, and when the detection fault coverage meets the system set threshold, determining all target test vectors and corresponding target shielding signals, and generating a target test vector set and a target shielding signal set;
[0008] S4, the mask signal decoder performs a mask test on the target scan chain according to the target test vector and the target mask signal, and performs a diagnosis and analysis on a scan chain fault according to a compression response output of a scan chain compressor.
[0009] Specifically, after step S1, the following steps are further included:
[0010] All scan chains and the faulty scan chains are numbered and sorted respectively, and all fault permutations and combinations of the faulty scan chains are determined according to the number and number of the faulty scan chains; the fault permutations and combinations are used to locate the position of the faulty scan chain and determine the fault shielding order.
[0011] Specifically, step S2 includes:
[0012] S21, in each detection cycle, extracting a test vector from the vector set to be tested and moving it into the test vector set;
[0013] S22, calculate the single shielding weight coefficient W of each fault scan chain in each fault permutation combination C , and calculate the shielding weight value W of the corresponding fault combination according to the shielding weight function T ; The shielding weight function is as follows:
[0014] W T =W c1 +W c2 +…+W cm
[0015] Where m represents the total number of fault scan chains, W c1 To Wcm Represents the single shielding weight coefficient of all fault scan chains under a fault permutation combination;
[0016] S23, calculating the fault detection weight W of each scan chain based on the remaining test vectors in the vector set to be tested FD , and determining the target scan chain according to the accumulated shielding weight value of each fault arrangement and combination in each cycle.
[0017] Specifically, the shielding weight value is used to measure the difficulty of shielding signals for scan chain fault diagnosis; the single shielding weight coefficient is used to measure the influence of the compressed response output of a single fault scan chain after being shielded on the fault diagnosis; the single shielding weight coefficient W C Calculated by the following formula:
[0018] W ci =A+αB
[0019] Where A is the optimal detection value, which indicates the number of times only the faulty scan chain is observed under the shielding signal; B is the auxiliary detection value, which indicates the number of times only two faulty scan chains, including the faulty scan chain, are observed under the shielding signal; α is the auxiliary detection parameter; when more than two faulty scan chains are observed, the fault diagnosis information contained in the compressed response output is lower than the diagnosable range, and the single shielding weight coefficient is 0.
[0020] Specifically, step S23 includes:
[0021] Generate a weight score ranking table according to the numerical value of the fault detection weight;
[0022] Marking the scan chains with the target ratio ranked first in the weight score ranking table and not performing shielding diagnosis;
[0023] Determine the target permutation combination with the smallest cumulative shielding weight value among all fault permutations and combinations, and generate a scan chain list based on the number of occurrences of each faulty scan chain in the combination and the marked scan chains; the scan chain list does not include the marked scan chains;
[0024] The scan chain that appears the most times in the scan chain list is determined as the target scan chain.
[0025] Specifically, the fault detection weight is used to measure the fault detection capability of the test vectors generated by the ATPG algorithm for the scan chain. The calculation formula is as follows:
[0026]
[0027] Where m represents the total number of fault scan chains; D m W represents the sum of the number of times all test vectors in the test vector set detect a target error. FD(L ij ) represents the jth scan chain L j The sum of the reciprocals of the values of all k errors detected by all test vectors in the test vector set.
[0028] Specifically, step S3 includes:
[0029] Setting the level bit corresponding to the target scan chain in the shielding signal to a low level 0 to generate the target shielding signal; wherein the test vector and the shielding signal are in a one-to-one correspondence;
[0030] The current fault coverage is calculated according to the detected fault scan chain. When the fault coverage exceeds a set threshold, the target test vector set and the target shielding signal set are generated based on all the determined target test vectors and the corresponding target shielding signals.
[0031] Specifically, when the fault coverage does not exceed the set threshold, detecting the remaining test vectors in the set of vectors to be tested;
[0032] When the set of vectors to be tested contains remaining test vectors, entering the next detection cycle, selecting a test vector therefrom, and moving it into the set of test vectors for shielding diagnosis;
[0033] Specifically, when the set of vectors to be tested does not contain any remaining test vectors, additional test vectors and corresponding shielding signals are generated for the remaining undetected faults by using the ATPG algorithm, and are added to the set of test vectors;
[0034] Continue to calculate the single shielding weight coefficient and the shielding weight value of the corresponding fault combination based on the newly added test vector set and shielding signal, and execute the shielding diagnosis process until the target test vector set and the target shielding signal set are generated when the fault coverage meets the requirements.
[0035] Specifically, the set of test vectors of the scan chain and the shielding signal corresponding to each test vector are automatically generated according to the detected scan chain errors using the ATPG algorithm, and different test vectors have different initially generated shielding signals.
[0036] The beneficial effects brought about by the technical solution provided by the embodiment of the present application include at least: performing preliminary scan tests on the scan chain by being compatible with the existing ATPG algorithm to generate test vectors and shielding signals; then selecting test vectors and evaluating the single shielding weight coefficient of each scan chain under each combination and the shielding weight value of the corresponding combination one by one through the fault permutation and combination of the fault scan chain; and then being able to determine the order in which each scan chain needs to be observed and shielded first based on the fault detection weight calculated based on the shielding weight value and the remaining test vectors in the vector set to be tested. In accordance with the principle that the scan chain with higher fault detection weight needs to be observed first, and the scan chain with higher number of occurrences in the combination with lower shielding weight value needs to be shielded, the target test vectors and target scan chains are determined in turn, and the level bits of the corresponding shielding signals are updated. Finally, the target test vector set and target shielding signal set are generated when the fault coverage meets the setting.
[0037] By performing shielding testing on the target scan chain in this way, the test vectors can be reduced. A small number of test vectors can be used, and the scan chain fault can be diagnosed and analyzed based on the compressed response output of the scan chain compressor, which greatly shortens the fault diagnosis time.
[0038] This fault analysis strategy eliminates the need for additional logic circuits or software analysis, consumes less hardware resources, and avoids the mutual interference and chaotic output responses that can occur when diagnosing multiple faults. This solution is not only compatible with existing ATPG algorithms but also accounts for the simultaneous presence of faults in multiple scan chains, making it applicable to diagnosing multiple faults in compressed structures. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 It is a structural diagram of a related art using a spatial compressor for fault detection;
[0040] Figure 2 This is a schematic diagram of the structure where a scan chain failure causes a chaotic compressed response output;
[0041] Figure 3 This is a flow chart of a method for shielding a fault scan chain based on a compression environment provided by an embodiment of the present application;
[0042] Figure 4 It is a flow chart of an algorithm for generating a target test vector set and a target masking signal set;
[0043] Figure 5 2 is a schematic diagram of a process for generating a cumulative shielding weight value in an embodiment. DETAILED DESCRIPTION
[0044] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0045] In this document, "plurality" refers to two or more. "And / or" describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates an "or" relationship between the associated objects.
[0046] The test cost of VLSI circuits tested using scan chain structures depends on the test time and the amount of data required by the integrated circuit automatic tester (ATE). To reduce the amount of test data required, the industry is applying ATPG-based diagnostic algorithms and compressed response testing to chip-assisted detection. Test response compression is typically achieved using a multiple-input signature register (MISR) or an exclusive-OR tree. MISRs can be used for both spatial and temporal compression, while XOR trees can be used for spatial compression.
[0047] like Figure 1 Figure 2 shows a schematic diagram of the fault detection architecture using a classic spatial compressor. The basic structure of a classic spatial compressor consists primarily of scan chains, a scan chain shielding signal selector, and a scan chain compressor. The responses of multiple scan chains are compressed through a tree of XOR gates to generate a compressed response output. Typically, a shielding circuit based on AND gates is used to mask unknown states, preventing them from entering the spatial compressor. Therefore, for chains to be shielded, the scan chain selection logic sends a 0 to the corresponding AND gate and a 1 to the remaining AND gates. If, for a test vector, only one scan chain's response enters the spatial compressor, while all other chains are shielded, this is called single-chain mode. In the test process, scan chain integrity testing is typically performed in single-chain mode to identify the faulty scan chain and fault type. However, scan chain integrity test vectors cannot precisely pinpoint the faulty scan cells, requiring further diagnosis using ATPG algorithms to generate test vectors.
[0048] In terms of EDA detection, the test vector set generated by the automatic test machine has a lot of redundancy in fault detection, that is, a specific fault on the scan chain can be detected by multiple test vectors, so shielding a small number of scan chains will not have much impact on the fault coverage.
[0049] like Figure 2 As shown in the figure, the symbol marked with X in the scan chain is the fault point on the chain. When multiple faulty scan chains are observed through a compressor, the problem of faults being offset in the compressed response output may occur. Figure 2It can be seen that chain 2 has a stuck-at-1 fault at unit 5, and chain 3 has a stuck-at-1 fault at unit 2. During the unloading process, all upstream units of chain 2 unit 5 and chain 3 unit 2 will be affected. After spatial compression, some of them will cancel each other out, completely disrupting the compressed response, making fault diagnosis difficult. For this reason, although chain 2 and chain 3 have been identified as faulty in the previous scan chain integrity test, it is still impossible to accurately determine which scan units have faults. At this time, if chain 2 is shielded, it is possible to diagnose the faulty unit on chain 3; if chain 3 is shielded, it is more likely to diagnose the faulty unit on chain 2, so the output confusion problem occurs. In response to the above possible problems, this solution proposes a method for shielding the faulty scan chain to avoid the problem of ineffective diagnosis caused by the above-mentioned incorrect shielding.
[0050] like Figure 3 FIG. 1 is a flow chart of a method for shielding a fault scan chain based on a compression environment provided by an embodiment of the present application, comprising the following steps:
[0051] S1, determine the total number of scan chains and the maximum number of faulty scan chains of the chip through ATPG algorithm detection, and generate a vector set to be tested and a shielding signal.
[0052] The total number of scan chains and the maximum number of faulty scan chains are determined by conventional ATPG algorithm testing. Test patterns are also generated by the ATPG algorithm based on detected errors, while mask patterns are generated for mask pattern decoders, with a one-to-one correspondence between test patterns and test patterns. While the number of test patterns generated by conventional ATPG algorithms can meet fault coverage requirements, they require a large test pattern set, increasing costs due to the need for various optimization algorithms.
[0053] After determining the test vectors and all scan chains and faulty scan chains, it is necessary to number and sort all scan chains and faulty scan chains. Based on the number and sequence of faulty scan chains, all possible fault permutations of the faulty scan chains are determined. This is because different faulty scan chains may not have exactly the same number of faulty cells. During spatial compression, the responses obtained from different scan chain combinations will be mixed, hindering diagnostic analysis. Fault permutations can help locate the faulty scan chain and determine the order in which the faults are masked.
[0054] In one possible implementation, assume that the total number of test vectors for a chip is n, the maximum number of faulty scan chains is m, the set of vectors to be tested is T, and the corresponding initial mask signal set is R (the mask signals and test vectors in R are in a one-to-one correspondence). After numbering the faulty scan chains, in actual testing, it is unknown which m of the n chains are faulty scan chains. Therefore, when generating the mask signal, all possible combinations need to be considered. The number of possible combinations of m faults in n chains is That is, the maximum fault combination is
[0055] S2, selecting a test vector from the vector set to be tested, performing fault shielding diagnosis on the scan chain according to all fault permutations and combinations of shielding signals and faulty scan chains, and determining a target scan chain for shielding.
[0056] This step requires extracting test vectors from T one by one, and performing fault diagnosis (pre-diagnosis) on all fault combinations based on the extracted test vectors and the corresponding shielding signals. The purpose of pre-diagnosis is to select appropriate test vectors from them, and select the target fault scan chain from all fault scan chains one by one based on the output corresponding results. The order in which the target fault scan chains are selected is the order of shielding diagnosis. Performing fault diagnosis in this order can obtain relatively accurate fault diagnosis results while selecting the least test vectors. The target fault scan chain is calculated based on the shielding weight value and the fault detection weight. Specifically, S2 also includes the following steps:
[0057] S21, in each detection cycle, extracting a test vector from the vector set to be tested in turn, and moving it into the test vector set.
[0058] Because the vector set to be tested contains a large number of test vectors, it is necessary to screen them. The test vector set is the vector set involved in the diagnostic analysis. In each test cycle, a test vector needs to be selected from the vector set to be tested and moved into the test vector set. The test vector set in this embodiment is T ′ .
[0059] S22, calculate the single shielding weight coefficient W of each fault scan chain in each fault permutation combination C , and calculate the shielding weight value W of the corresponding fault combination according to the shielding weight function T .
[0060] To improve fault diagnosis capabilities, this solution uses a strategy to mask additional scan chains. This strategy can be applied to any test vector generated for a faulty scan chain, ensuring that the compression response output of the compression unit is affected by only one specific scan chain as much as possible. The masking strategy is only performed on the compressor side, not the decompressor side. Therefore, for a test vector that only detects a single faulty scan chain, anomalies in the compression response output come from the following sources:
[0061] 1) Loading error on the masked fault scan chain;
[0062] 2) Loading error on the unshielded fault scan chain;
[0063] 3) Unmasked faulty scan chain offload error.
[0064] However, a load error on a masked faulty scan chain only affects a few bits of the compressed response output, while an unload error on an unmasked faulty scan chain affects almost the entire bit stream of the compressed response output. Therefore, even if a load error exists on a masked faulty scan chain, the scan chain diagnosis method based on the compressed response can still successfully identify the faulty scan chain.
[0065] However, the shielding signal initially generated by the ATPG algorithm is in the chip testing stage, which is earlier than the stage of chip diagnosis and fault simulation by test vectors. Therefore, when generating the shielding signal, it is unknown which scan chains have faults, which will have a negative impact on the generation of the shielding signal. Therefore, to solve this problem, a single shielding weight coefficient W is introduced. C and shielding weight value W T To make a judgment. Shield weight value W T Used to measure the difficulty of shielding signals for scan chain fault diagnosis; single shielding weight coefficient W C It is used to measure the impact of the compressed response output after a single fault scan chain is shielded on fault diagnosis. For a certain fault combination, W T It is calculated based on the shielding weight function, and the formula is as follows:
[0066] W T =W c1 +W c2 +…+W cm
[0067] Where m represents the total number of fault scan chains, W c1 To W cm Represents the single shielding weight coefficient of all fault scan chains under a fault permutation combination.
[0068] Single shielding weight coefficient W C Calculated by the following formula:
[0069] W ci =A+αB
[0070] Where A is the optimal detection value, which indicates the number of times only the faulty scan chain is observed under the action of the shielding signal; B is the auxiliary detection value, which indicates the number of times only two faulty scan chains, including the faulty scan chain, are observed under the action of the shielding signal; and α is the auxiliary detection parameter.
[0071] For example, assume that the total number of scan chains input into a single compressor is n, the maximum number of faulty scan chains that can be observed in a single compressor is m, and there is a mask signal selector between the scan chain and the compressor. Then, the mask signal determines which scan chains can be masked. Considering that if a faulty scan chain is observed alone (without other faulty scan chains) more times, it is easier to diagnose the faulty scan chain, so the single mask weight function W for a single faulty scan chain is defined as ci =A+αB. Therefore, A represents the number of times only the faulty scan chain is observed (the remaining m-1 faulty scan chains are all blocked), and B represents the number of times two faulty scan chains, including the faulty scan chain, are simultaneously observed (the remaining m-2 faulty scan chains are all blocked).
[0072] The first part (A) is the basic part, in which only one fault scan chain is observed, and it is the best mode for diagnosing the fault scan chain; the second part (αB) is the auxiliary part, in which two fault scan chains including the fault scan chain are observed at the same time. The compressed response output of the compressor also contains some information for diagnosing the fault scan chain, but the diagnostic effect is poor. In practical applications, the value of the parameter α is between 0.2 and 0.3. As the number of fault scan chains observed simultaneously increases, the information in the compressed response output that can be used to diagnose the fault scan chain decreases exponentially. When the number of fault scan chains observed simultaneously is greater than or equal to three, there is almost no information useful for diagnosis in the compressed response output. At this time, the fault diagnosis information contained in the compressed response output is lower than the diagnosable range, and the single shielding weight coefficient W ci Then it is 0. When the shielding signal is determined, each of the m fault scan chains has a single shielding weight coefficient W of a single fault scan chain. ci , W ci The sum is the shielding weight value W under the fault combination. T .
[0073] S23 , calculating the fault detection weight of each scan chain based on the remaining test vectors in the vector set to be tested, and determining the target scan chain according to the accumulated shielding weight value of each fault arrangement and combination in each cycle.
[0074] ATPG mainly includes the following steps: 1. Error selection, select the errors that need to be tested 2. Generate test vector sets 3. Compare the results to diagnose errors. Generally speaking, all possible errors should be selected in step 1, which is often more than the errors that will actually occur; each test vector in step 2 will be generated for a part of all possible errors, and each test vector can diagnose one or some errors, and each error will be diagnosed by one or more test vectors. Step 3 is to determine which errors exist in the entire circuit by comparing the expected output with the actual output. Therefore, when a vector set T to be tested is generated, the number of faults it can diagnose is determined, and the fault detection weight W can be calculated at this time. FD .
[0075] In this scheme, the fault detection weight W is used FD It is used to measure the fault detection capability of the test vectors generated by the ATPG algorithm for the scan chain. In the fault permutation and combination, the target scan chain is determined based on the following principles:
[0076] 1) The scan chain with higher fault detection weight should be observed first;
[0077] 2) The lower the shielding weight value, the more scan chains that appear more often in the combination need to be shielded.
[0078] Its fault detection weight W FD The calculation formula is as follows:
[0079]
[0080] m represents the total number of fault scan chains; D m W represents the sum of the number of times a specific error is detected by all test vectors in the test vector set. FD (L ij ) represents the jth scan chain L j The sum of the reciprocals of the values of all k errors detected by all test vectors in the test vector set.
[0081] The specific explanation is: Assume a test vector set T ′ A test vector t in i The jth scan chain L among n scan chains can be detected j k errors on the test vector t i For scan chain L j k errors in L have the ability to be detected. j t i One of the k errors is detected. m (m=1,…,k),f m Not only can be T ′ A test vector t ini Detected, there is a possibility of being T ′ Other test vectors t in n Detected. ′ All test vectors t1~t n Error detected f m The number of times is recorded as D m If an error f in the scan chain m is detected by multiple test vectors, then D m The value is large, if an error f in the scan chain m Only included t i If several test vectors including m The value of is small. Therefore, the scan chain L is defined as j The fault detection weight W FD (L ij ) is the number of times k errors in the scan chain are detected by all test vectors D m The sum of the reciprocals of .
[0082] Based on the above definition, we can know that for the test vector set T ′ A test vector t in i , if a scan chain L j Errors in t are only included i If a small number of test vectors including FD (L ij ) is high, shielding this scan chain will have a negative impact on the fault coverage, so this scan chain should be observed first. Similarly, if a scan chain L j Errors in t are included i If most of the test vectors are detected, the fault detection weight W FD (L ij ) is low. After shielding the scan chain, the error on the scan chain can be detected even if the test vector t i Diagnosed, it will also be detected by other test vectors t i (j≠i) is diagnosed. Therefore, when selecting the shielded scan chain, the fault detection weight W FD (L ij )Higher scan chains need to be observed first.
[0083] The process specifically includes the following steps:
[0084] A,weight score ranking table is generated according to the numerical value of the fault detection weight.
[0085] B. Mark the scan chains with the target ratio ranked first in the weight score sorting table and do not perform shielding diagnosis.
[0086] During each inspection cycle, a weighted score ranking table is generated and a certain number of top-ranked scan chains are marked. These scan chains are temporarily blocked, meaning they cannot be observed, otherwise the output response diagnosis will be affected. In one possible implementation, the top 15% of scan chains are marked and not blocked for diagnosis, while the remaining chains are diagnosed normally.
[0087] However, it should be noted that in the next cycle detection period, these marks need to be cleared, the weight score sorting table is also cleared accordingly, and the above process is re-executed based on the selected test vector set.
[0088] C. Determine the target permutation combination with the smallest cumulative shielding weight value among all fault permutations and combinations, and generate a scan chain list based on the number of occurrences of each fault scan chain in the combination and the marked scan chains.
[0089] The cumulative shielding weight value is the sum of the shielding weight values of the same fault combination in the historical period. After determining the target combination, when generating the scan chain list, the previously marked scan chain needs to be excluded. Therefore, the scan chain list generated in this step does not include the marked scan chain.
[0090] D. Determine the target scan chain as the one that appears most times in the scan chain list.
[0091] S3, updating the shielding signal according to the target scan chain, and when the detection fault coverage meets the system set threshold, determining all target test vectors and corresponding target shielding signals, and generating a target test vector set and a target shielding signal set.
[0092] There is a one-to-one correspondence between the number of scan chains and the various levels of the mask signal. For example, in a space compression circuit with four scan chains, the initial mask signals of the two test vectors t1 and t2 are 1110 and 1111 (the highest bit corresponds to scan chain 1, and the lowest bit corresponds to scan chain 4).
[0093] For the target scan chain that needs to be shielded, the level bit of the target scan chain corresponding to the shielding signal is set to a low level of 0 to generate a target shielding signal.
[0094] After multiple cycles of cyclic testing, if the current fault coverage calculated using the detected faulty scan chains exceeds a set threshold, it indicates that the sequence of the determined target scan chains is sufficient for diagnosis. Based on all the determined target test vectors and their corresponding target shielding signals, a target test vector set and a target shielding signal set can be generated. The target test vector set is the test vector selected over several cycles, and the target shielding signal set is the updated target shielding signal corresponding to the test vector.
[0095] When the fault coverage does not exceed the set threshold, the remaining test vectors in the vector set to be tested are detected;
[0096] When the vector set to be tested contains the remaining test vectors, the next detection cycle is entered, a detection vector is selected therefrom, and is moved into the test vector set for shielding diagnosis.
[0097] When the vector set to be tested does not contain remaining test vectors, additional test vectors and corresponding shielding signals are generated for the remaining undetected faults through the ATPG algorithm, and added to the test vector set. The single shielding weight coefficient and the shielding weight value of the corresponding fault combination are calculated based on the newly added test vector set and shielding signal, and the shielding diagnosis process is executed until the target test vector set and target shielding signal set are generated when the fault coverage meets the requirements.
[0098] S4, the shielding signal decoder performs a shielding test on the target scan chain according to the target test vector and the target shielding signal, and performs a diagnosis and analysis on the scan chain fault according to the compression response output of the scan chain compressor.
[0099] Figure 4 It is a flow chart of the algorithm for generating a target test vector set and a target shielding signal set, including the following steps:
[0100] S401, determining the total number of scan chains, the number of faulty scan chains, the vector set to be tested, and the initial shielding signal;
[0101] S402, numbering all scan chains and determining possible fault permutations and combinations of all faulty scan chains;
[0102] S403: extract test vectors from the vector set to be tested and add them to the test vector set, and calculate W of each fault scan chain according to the test vector set and the shielding signal. c Value and W of all fault combinations T value;
[0103] S404, calculating the fault detection weight of each scan chain based on the vector set to be tested and generating a score ranking table, marking the scan chains ranked at the top target ratio and not performing shielding diagnosis;
[0104] S405, determine W T The fault combination with the smallest value is used to generate a scan chain list based on the number of occurrences of each fault scan chain (marked ones are excluded);
[0105] S406, setting the shield signal corresponding to the target scan chain that appears the most times in the scan chain list to 0, and updating the shield signal;
[0106] S407: Does the fault coverage rate meet the set threshold?
[0107] When the fault coverage does not meet the set threshold, jump to S409, otherwise execute S408;
[0108] S408: Output the test vector set and the corresponding shielding signal, and end.
[0109] S409: Check whether there are any remaining test vectors in the set of vectors to be tested?
[0110] When there are remaining test vectors in the vector set to be tested, the loop jumps to S403 to continue execution; otherwise, the loop continues to execute S410.
[0111] S410 , generating additional test vectors for the remaining undetected faults, and adding them to the test vector set; continue jumping to S410 .
[0112] The algorithm flow and fault scan chain shielding method described above are described below using specific embodiments.
[0113] Consider a space compression circuit with four scan chains, three of which have faults. Two test vectors, t1 and t2, are generated using a standard ATPG algorithm. The initial masking signals for t1 and t2 are 1110 and 1111 (the most significant bit corresponds to scan chain 1, and the least significant bit corresponds to scan chain 4). The masking algorithm is used to optimize the fault diagnosis process: First, all possible combinations are generated, α = 0.2 is selected, and W for each scan chain is calculated. ci Value, and W for each combination T value and updates the list based on the input mask signal.
[0114] First, we introduce test vector t1, whose initial mask signal is 1110, and can observe scan chains 1, 2, and 3. Taking combination 3 as an example, the fault chains assumed by combination 3 are chains 1, 3, and 4. For scan chain 1, test vector t1 cannot directly observe chain 1, but can jointly observe chain 1 and chain 3 once, so W c1 =0.2; the same is true for scan chain 3, so W c2 =0.2; for scan chain 4, test vector t1 cannot directly observe chain 4, so W c3 = 0. Figure 5 We can see that: W of combination one T The value is the smallest, so the scan chain with the most occurrences in combination 1 should be selected for shielding. Further assume that the fault detection weight W of chain 1 is FD (L 11 ) is the highest, chain 1 will not be shielded, so one of the scan chains in chain 2 or chain 3 is selected for shielding: chain 2 is selected for shielding, the shielding signal is updated to 1010, and then W is updated according to the new shielding signal T value.
[0115] When the fault coverage does not meet the set requirements, continue to introduce test vector t2, whose initial shielding signal is 1111. Figure 5 It can be seen that: W of combination 1 and combination 3 T The value is the smallest. Scan chain 1 and scan chain 3 appear the most times in these two combinations, so any one of the scan chains is selected for shielding: shield scan chain 3 and update the shielding signal of test vector t2 to 1101. Update W for each combination T Value, at this time t1 observes chain 1 and chain 3, t2 observes chain 1, 2, 4. Taking combination 4 as an example, chain 2 is not observed independently, and chain 2 and chain 4 are observed once by t2 together, so the cumulative W c1 =0.2(0+0.2); Chain 3 is observed once independently by t1, so the cumulative W c2 =1(1+0); Chain 4 is not observed independently, and Chains 2 and 4 are observed together once by t2, so the cumulative W c3 =0.2(0+0.2), calculate the cumulative W T =1.4. When all test vectors are introduced and the fault rate coverage requirement is not met, additional test vectors need to be generated through the ATPG algorithm.
[0116] The test vector t3 newly generated by the ATPG algorithm has an initial mask signal of 1111. Figure 5 It can be seen that the cumulative W of combination one and three is T The value is the smallest, scan chain 1 is the scan chain with the most occurrences, it is masked and the mask signal of test vector t3 is updated to 0111, and the cumulative W of each combination is updated. T Assuming that the target condition is finally achieved, a new test vector set T is generated. ′ = {t1, t2, t3} as the test vector set for subsequent fault diagnosis and fault simulation; the shielded signal set R = {1010, 1101, 0111} as the test vector set T ′ shielding signal.
[0117] In summary, the present application performs a preliminary scan test on the scan chain through the existing ATPG algorithm to generate test vectors and shielding signals; then, through the fault permutation and combination of the fault scan chain, the test vector is selected and the single shielding weight coefficient of each scan chain under each combination and the shielding weight value of the corresponding combination are evaluated one by one; and then, the order in which each scan chain needs to be observed and shielded first can be determined based on the fault detection weight calculated based on the shielding weight value and the remaining test vectors in the vector set to be tested. In accordance with the principle that the scan chain with higher fault detection weight needs to be observed first, and the scan chain with higher number of appearances in the combination with lower shielding weight value needs to be shielded, the target test vector and target scan chain are determined in turn, and the level bit of the corresponding shielding signal is updated. Finally, the target test vector set and target shielding signal set are generated when the fault coverage meets the setting.
[0118] This method of shielding the target scan chain for testing reduces test vectors, using a smaller number of test vectors. Scan chain faults can be diagnosed and analyzed based on the compressed response output of the scan chain compressor, significantly shortening fault diagnosis time. This fault analysis strategy eliminates the need for additional logic circuits or software analysis, eliminating the need for excessive hardware resources and avoiding the mutual interference and chaotic output responses that can occur when diagnosing multiple faults. This solution is not only compatible with existing ATPG algorithms but also accounts for the simultaneous presence of faults in multiple scan chains, making it suitable for diagnosing multiple faults in compressed structures.
[0119] The above describes the preferred embodiments of the present invention; it should be understood that the present invention is not limited to the above-mentioned specific embodiments, and the devices and structures not described in detail should be understood to be implemented in a common manner in the art; any technician familiar with the art can make many possible changes and modifications without departing from the technical solution of the present invention, or modify them into equivalent embodiments with equivalent changes, which does not affect the essential content of the present invention; therefore, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention that do not depart from the content of the technical solution of the present invention are still within the scope of protection of the technical solution of the present invention.
Claims
1. A method for shielding a fault scan chain based on a compression environment, characterized in that: The method comprises: S1, using the ATPG algorithm to detect and determine the total number of scan chains and the maximum number of faulty scan chains on the chip, and generate a test vector set and a shielding signal; the shielding signal acts on a scan chain shielding signal decoder to shield the selected target scan chain; S2, selecting test vectors one by one from the set of vectors to be tested, performing fault shielding diagnosis on the scan chains according to all fault permutations and combinations of the shielding signals and the faulty scan chains, and determining a target scan chain for shielding; S3, updating the shielding signal according to the target scan chain, and when the detection fault coverage meets the system set threshold, determining all target test vectors and corresponding target shielding signals, and generating a target test vector set and a target shielding signal set; S4, the mask signal decoder performs a mask test on the target scan chain according to the target test vector and the target mask signal, and performs a diagnosis and analysis on a scan chain fault according to a compression response output of a scan chain compressor.
2. The method for shielding a fault scan chain based on a compression environment according to claim 1, characterized in that: After step S1, the following steps are also included: All scan chains and the faulty scan chains are numbered and sorted respectively, and all fault permutations and combinations of the faulty scan chains are determined according to the number and number of the faulty scan chains; the fault permutations and combinations are used to locate the position of the faulty scan chain and determine the fault shielding order.
3. The method for shielding a fault scan chain based on a compression environment according to claim 2, characterized in that: Step S2 includes: S21, in each detection cycle, extracting a test vector from the vector set to be tested and moving it into the test vector set; S22, calculate the single shielding weight coefficient of each fault scan chain in each fault permutation combination , and calculate the shielding weight value of the corresponding fault combination according to the shielding weight function ; The shielding weight function is as follows: Where m represents the total number of fault scan chains, to Represents the single shielding weight coefficient of all fault scan chains under a fault permutation combination; S23, calculating the fault detection weight of each scan chain based on the remaining test vectors in the vector set to be tested , and determining the target scan chain according to the accumulated shielding weight value of each fault arrangement and combination in each cycle.
4. The method for shielding a fault scan chain based on a compression environment according to claim 3, characterized in that: The shielding weight value is used to measure the difficulty of shielding the signal for scan chain fault diagnosis; the single shielding weight coefficient is used to measure the impact of the compressed response output of a single fault scan chain after being shielded on the fault diagnosis; Single shielding weight coefficient Calculated by the following formula: Among them, A is the optimal detection value, which means the number of times only the faulty scan chain is observed under the action of the shielding signal; B is the auxiliary detection value, which means the number of times only the two faulty scan chains including the faulty scan chain are observed under the action of the shielding signal. is an auxiliary detection parameter; when more than two fault scan chains are observed, the fault diagnosis information contained in the compressed response output is lower than the diagnosable range, and the single mask weight coefficient is 0.
5. The method for shielding a fault scan chain based on a compression environment according to claim 4, characterized in that: Step S23 includes: Generate a weight score ranking table according to the numerical value of the fault detection weight; Marking the scan chains with the target ratio ranked first in the weight score ranking table and not performing shielding diagnosis; Determine the target permutation combination with the smallest cumulative shielding weight value among all fault permutations and combinations, and generate a scan chain list based on the number of occurrences of each faulty scan chain in the combination and the marked scan chains; the scan chain list does not include the marked scan chains; The scan chain that appears the most times in the scan chain list is determined as the target scan chain.
6. The method for shielding a fault scan chain based on a compression environment according to claim 3, characterized in that: The fault detection weight is used to measure the fault detection capability of the test vectors generated by the ATPG algorithm for the scan chain. The calculation formula is as follows: Where m represents the total number of fault scan chains; It represents the sum of the number of times all test vectors in the test vector set detect the target error. Represents the jth scan chain The sum of the reciprocals of the values of all k errors detected by all test vectors in the test vector set.
7. The method for shielding a fault scan chain based on a compression environment according to any one of claims 1 to 6, characterized in that: Step S3 includes: Setting the level bit corresponding to the target scan chain in the shielding signal to a low level 0 to generate the target shielding signal; wherein the test vector and the shielding signal are in a one-to-one correspondence; The current fault coverage is calculated according to the detected fault scan chain. When the fault coverage exceeds a set threshold, the target test vector set and the target shielding signal set are generated based on all the determined target test vectors and the corresponding target shielding signals.
8. The method for shielding a fault scan chain based on a compression environment according to claim 7, characterized in that: When the fault coverage does not exceed the set threshold, detecting the remaining test vectors in the set of vectors to be tested; When the vector set to be tested contains remaining test vectors, the next detection cycle is entered, a detection vector is selected therefrom, and is moved into the test vector set for shielding diagnosis.
9. The method for shielding a fault scan chain based on a compression environment according to claim 8, characterized in that: When the set of vectors to be tested does not contain any remaining test vectors, generating additional test vectors and corresponding shielding signals for the remaining undetected faults through the ATPG algorithm, and adding them to the set of test vectors; Continue to calculate the single shielding weight coefficient and the shielding weight value of the corresponding fault combination based on the newly added test vector set and shielding signal, and execute the shielding diagnosis process until the target test vector set and the target shielding signal set are generated when the fault coverage meets the requirements.
10. The method for shielding a fault scan chain based on a compression environment according to claim 1, characterized in that: The vector set to be tested of the scan chain and the shielding signal corresponding to each test vector are automatically generated according to the scan chain errors detected by the ATPG algorithm, and the shielding signals initially generated for different test vectors are different.
Citation Information
Patent Citations
DFT test port allocation method suitable for multiple packages, chip and test method
CN112100010A
Scanning chain fault diagnosis method and system
CN101315412A
Method and system for selectively masking test responses
CN1856713A