A scan chain fault diagnosis method and device based on side scanning

By using the combination of side scanning method and two-choice data selector and exclusive OR gate in the scan chain fault diagnosis, the problem of insufficient hardware overhead and test vectors in the prior art is solved, and efficient fault diagnosis is achieved and reducing the problem of low-level hardware overhead and low-level test vectors is reduced. cost and complexity.

CN118584312BActive Publication Date: 2024-12-10SHANTOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410608266.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-16
Publication Date
2024-12-10
Estimated Expiration
2044-05-16

AI Technical Summary

Technical Problem

The existing scanning chain fault diagnosis technology has shortcomings in hardware overhead and test vector use, making it difficult to efficiently and accurately locate scanning chain faults, and the layout and wiring are complex, resulting in unsatisfactory fault diagnosis results.

Method used

The fault diagnosis method based on side scanning is adopted, and by generating the side delivery structure and introducing a two-choice data selector and XOR gate, the hardware resource usage and the number of test vectors are reduced, and the fault diagnosis efficiency and quality are improved.

Benefits of technology

It reduces the pressure of using hardware resources and layout and routing, reduces the number of test vectors, improves the fault diagnosis efficiency and quality of scanning chain groups, and saves test costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118584312B_ABST
    Figure CN118584312B_ABST
Patent Text Reader

Abstract

The present invention discloses a scan chain fault diagnosis method and device based on side path scanning, wherein the method comprises: scanning a digital circuit to obtain a plurality of scan chain groups; for any scan chain group, generating a side path transfer structure in the scan chain group and then performing a feasibility analysis on the scan chain group; when the side path transfer structure is feasible, calling a first group of test vectors to perform a flush test on the scan chain group to obtain a first group of output vectors; when the first group of output vectors indicates that the scan chain group has a repairable fault, determining preliminary fault information of the scan chain group according to the first group of output vectors; according to the preliminary fault information, calling two complementary groups of test vectors to perform a scan test on the scan chain group respectively to obtain two groups of output vectors; determining specific fault information of the scan chain group according to the preliminary fault information, the two groups of test vectors and the two groups of output vectors. The present invention can improve the fault diagnosis efficiency and quality of the scan chain group while reducing the use of hardware resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of digital circuits, and in particular to a scan chain fault diagnosis method and device based on side path scanning. Background Art

[0002] Since faults in integrated circuits can occur during the manufacturing process, the chip needs to be tested to identify the faults and diagnose them. Integrated circuit testing is generally done by applying test vectors to the circuit under test and then analyzing the output vectors of the circuit under test. In order to make testing easier to implement, some testability features are usually added during the circuit design process. Timing units such as latches and triggers in the circuit under test are replaced with scan units, and these scan units can be connected together to form a scan chain structure. In actual applications, the vast majority of chip defects are due to scan chain failures, and scan chain failures are symptoms of process defects or design problems. How to accurately and efficiently diagnose scan chain failures is an important step in improving chip yield.

[0003] The scan chain fault diagnosis process usually uses one or more groups of test vectors to load into the scan chain, generates a corresponding fault log file through the output response of the scan chain, and finally locates the fault in the scan chain by analyzing the fault log file. Since the fault needs to be located on a certain scan unit in the scan chain in an ideal situation, some scholars have proposed to modify the original scan chain into a reversible scan chain structure so that the improved scan chain can transmit signals in both directions. However, this also requires the use of more test vectors to accurately locate the fault, which is undoubtedly a burden on the memory usage and overall test time cost of the test equipment. In addition, the reversible scan chain structure will add a transmission path compared to the original scan chain, which increases the difficulty of layout and wiring in hardware design, and is likely to lead to poor fault diagnosis results.

[0004] Diagnosis-driven yield analysis plays an important role in both physical fault analysis and yield improvement, and can provide great value to the digital integrated circuit industry. However, in scan-based chip testing, scan chain fault diagnosis technology is a huge shortcoming, and its number of faults accounts for a large proportion of the total number of chip faults. Therefore, efficient scan chain diagnosis has become the key to yield analysis, but existing diagnostic technology is far from achieving the expected results.

[0005] Scan chain diagnostic technology can be divided into three types: hardware-based diagnosis, software-based diagnosis, and tester-based diagnosis. Among the hardware-based diagnostic technologies, the more representative ones are reversible scan chain diagnosis and two-dimensional scan chain diagnosis. In the reversible scan chain, the signal can perform forward or backward shift operations, which greatly improves the chain's diagnostic accuracy, but this structure has the disadvantage of requiring more test vectors and lacks the ability to debug flexibly; in the two-dimensional scan chain, the signal can perform horizontal or vertical shift operations. This structure has better flexibility when debugging complex scan chain faults, but the high hardware overhead limits its application in actual production.

[0006] Ideally, there are three important goals when designing a hardware-based scan chain diagnostic structure: reasonable hardware overhead, such as reversible scanning; accurate diagnosis for single and double faults; and good flexibility to deal with more complex scan chain faults, such as two-dimensional scanning. Previous diagnostic technologies can only meet some of the above goals, so a hardware structure that can break through the existing structural technology bottleneck and meet all design requirements is needed. Summary of the invention

[0007] The present invention provides a scan chain fault diagnosis method and device based on side path scanning to solve one or more technical problems existing in the prior art and at least provide a beneficial choice or create conditions.

[0008] In a first aspect, a scan chain fault diagnosis method based on side path scanning is provided, comprising:

[0009] Scanning a digital circuit to obtain a plurality of scan chain groups therefrom;

[0010] For any scan chain group, a side transfer structure is generated in the scan chain group, and then a feasibility analysis is performed on the side transfer structure;

[0011] When the side-path transfer structure is feasible, calling a given first group of test vectors to perform flush test on the scan chain group to obtain a first group of output vectors;

[0012] When the first group of output vectors indicates that the scan chain group has a repairable fault, determining preliminary fault information of the scan chain group according to the first group of output vectors;

[0013] According to the preliminary fault information, calling two given complementary test vectors to perform scan tests on the scan chain groups respectively to obtain two sets of output vectors;

[0014] Specific fault information of the scan chain group is determined according to the preliminary fault information, the two groups of test vectors and the two groups of output vectors.

[0015] Furthermore, all scan chains in the scan chain group are arranged vertically, and all scan units in each scan chain are arranged horizontally; before the side pass structure is generated in the scan chain group, the method includes:

[0016] All the scan chains are aligned to the left so that there is a scan unit alignment relationship between every two adjacent scan chains, the scan chain arranged at the bottom is defined to be adjacent to the scan chain arranged at the top, and the data transfer direction between every two adjacent scan chains is determined.

[0017] Further, generating a side pass structure in the scan chain group includes:

[0018] For each two adjacent scan chains in the scan chain group, they are recorded as the first scan chain and the second scan chain.

[0019] When the first scan chain and the second scan chain are of equal length, the first scan chain is used as the data transmitter of the second scan chain. Each scanning unit in the second scan chain is recorded as a first scanning unit. A two-to-one data selector is added to the input end of the first scanning unit, which is used to select and receive data outputted sequentially by the second scan chain or data outputted by the data transmitter.

[0020] Furthermore, generating a side path transfer structure in the scan chain group further comprises:

[0021] When the first scan chain has one more scan unit than the second scan chain,

[0022] Using the first scan chain as the data transfer party of the second scan chain, using the three rightmost scan units in the second scan chain as the first scan sub-chain, and using all scan units in the second scan chain except the three scan units as the second scan sub-chain;

[0023] For each scanning unit in the first scanning sub-chain, it is recorded as a second scanning unit, the scanning unit in the first scanning chain that is in the same alignment position as the second scanning unit is recorded as a third scanning unit, and the scanning unit in the first scanning chain that is adjacent to the right side of the third scanning unit is recorded as a fourth scanning unit, and a two-to-one data selector and an XOR gate are added to the input end of the second scanning unit, the XOR gate is used to generate an XOR result between the output data of the third scanning unit and the output data of the fourth scanning unit, and the two-to-one data selector is used to select to receive the data outputted by the second scanning chain in sequence or the XOR result;

[0024] For each scanning unit in the second scanning sub-chain, denoted as the fifth scanning unit, a two-to-one data selector is added at the input end of the fifth scanning unit, which is used to select and receive data output by the second scanning chain in sequence or data output by the data transmission party in alignment.

[0025] Furthermore, generating a side path transfer structure in the scan chain group further comprises:

[0026] When the first scan chain has one more scan unit than the second scan chain,

[0027] The second scan chain is used as the data transfer party of the first scan chain, the two rightmost scan units in the first scan chain are used as the third scan sub-chain, and all scan units in the first scan chain except the two scan units are used as the fourth scan sub-chain;

[0028] For each scanning unit in the third scanning sub-chain, which is recorded as a sixth scanning unit, a two-to-one data selector is added at the input end of the sixth scanning unit, which is used to select and receive the data outputted by the first scanning chain in sequence or the output data of the scanning unit arranged on the rightmost side in the data transmission side;

[0029] For each scanning unit in the fourth scanning sub-chain, denoted as the seventh scanning unit, a two-to-one data selector is added at the input end of the seventh scanning unit, which is used to select and receive the data output by the first scanning chain in sequence or the data output by the data transmission party in sequence.

[0030] Furthermore, the feasibility analysis of the side pass structure includes:

[0031] Calling two given complementary groups of first test vectors to perform two side transmission tests on the scan chain group respectively, to obtain two groups of first output vectors;

[0032] Calling two given groups of first expected output vectors corresponding to the two groups of first test vectors, and comparing the two groups of first output vectors with the two groups of first expected output vectors;

[0033] When the two groups of first output vectors and the two groups of first expected output vectors are completely identical, it is determined that the side transfer structure is feasible.

[0034] Further, when the first group of output vectors indicates that the scan chain group has a repairable fault, determining preliminary fault information of the scan chain group according to the first group of output vectors includes:

[0035] Using all first test vectors corresponding to all scan chains in the scan chain group as the first group of test vectors, and using all first output vectors corresponding to all scan chains in the scan chain group as the first group of output vectors;

[0036] When the first group of output vectors and the first group of test vectors are not completely the same, determining that the first group of output vectors indicates that a repairable fault exists in the scan chain group;

[0037] Filter out all scan chains whose corresponding first output vectors and first test vectors are different from each other from the scan chain group, and record them as all faulty scan chains;

[0038] For each fault scan chain in all the fault scan chains, calling a given fault type judgment rule to analyze a first output vector and a first test vector corresponding to the fault scan chain to obtain a fault type corresponding to the fault scan chain;

[0039] All the faulty scan chains and the fault type corresponding to each of the faulty scan chains are used as preliminary fault information of the scan chain group.

[0040] Furthermore, the calling of two given complementary test vectors to perform scan tests on the scan chain groups respectively according to the preliminary fault information to obtain two sets of output vectors includes:

[0041] When the preliminary fault information indicates that there are multiple adjacent faulty scan chains in the scan chain group, calling the two groups of test vectors to perform single loading, multiple transfers and single loading on the scan chain group in sequence to obtain two groups of output vectors;

[0042] When the preliminary fault information indicates that there are no adjacent faulty scan chains in the scan chain group, the two groups of test vectors are called to perform single loading, single transfer and single loading out on the scan chain group in sequence to obtain two groups of output vectors.

[0043] Further, determining the specific fault information of the scan chain group according to the preliminary fault information, the two groups of test vectors and the two groups of output vectors includes:

[0044] Calling two given groups of expected output vectors corresponding to the two groups of test vectors;

[0045] For each faulty scan chain in all the faulty scan chains, selecting a reference scan chain from the scan chain group according to the number of transfers completed by the faulty scan chain in the scan test;

[0046] Filter out two expected output vectors corresponding to the faulty scan chain and two expected output vectors corresponding to the reference scan chain from the two groups of expected output vectors, and filter out two output vectors corresponding to the faulty scan chain and two output vectors corresponding to the reference scan chain from the two groups of output vectors;

[0047] Performing a vector fine-tuning operation: when the reference scan chain has one less scan unit than the faulty scan chain, adding an element to the leftmost sides of two expected output vectors and two output vectors corresponding to the reference scan chain; when the faulty scan chain has one less scan unit than the reference scan chain, deleting an element to the rightmost sides of two expected output vectors and two output vectors corresponding to the reference scan chain;

[0048] Calling a given first fault region judgment rule to analyze two latest expected output vectors and two latest output vectors corresponding to the fault scan chain to obtain two fault regions corresponding to the fault scan chain;

[0049] Invoking a given second fault region judgment rule to analyze two latest expected output vectors and two latest output vectors corresponding to the reference scan chain to obtain two fault regions corresponding to the reference scan chain;

[0050] Specific fault information of the faulty scan chain is determined according to the two faulty regions corresponding to the faulty scan chain, the two faulty regions corresponding to the reference scan chain, and the fault type corresponding to the faulty scan chain.

[0051] In a second aspect, a computer device is provided, comprising a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the scan chain fault diagnosis method based on side path scanning as described in the first aspect.

[0052] The present invention has at least the following beneficial effects: by introducing a two-to-one data selector and an XOR gate to generate a side pass structure in a scan chain group without the need for test compression, compared with the existing reversible scan chain structure, the use of hardware resources can be reduced, the pressure of layout and wiring can be alleviated, and the number of test vectors used can be reduced in the entire fault diagnosis process, thereby improving the fault diagnosis efficiency and quality of the scan chain group, while reducing the memory usage of the test equipment and saving the test cost. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] The accompanying drawings are used to provide a further understanding of the technical solution of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the technical solution of the present invention and do not constitute a limitation on the technical solution of the present invention.

[0054] Figure 1is a flow chart of a scan chain fault diagnosis method based on side path scanning in an embodiment of the present invention;

[0055] Figure 2 is a schematic diagram of a side path transfer structure generated for a scan chain group including two scan chains of equal length in an embodiment of the present invention;

[0056] Figure 3 is a schematic diagram of a side path transfer structure generated for a scan chain group including two scan chains of unequal lengths in an embodiment of the present invention;

[0057] Figure 4 is a schematic diagram of a side path transfer structure generated for a scan chain group including three scan chains of equal length in an embodiment of the present invention;

[0058] Figure 5 is a schematic diagram of a side path transfer structure generated for a scan chain group including three scan chains of unequal lengths in an embodiment of the present invention;

[0059] Figure 6 It is a schematic diagram of the hardware structure of a computer device in an embodiment of the present invention. DETAILED DESCRIPTION

[0060] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0061] It should be noted that, although the functional modules are divided in the system schematic diagram and the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in a different order from the module division in the system or the order in the flow chart. The terms "first", "second", "third", "fourth", etc. in the specification of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the application described here can be implemented in an order other than those illustrated or described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, such as processes, methods, systems, products or devices that include a series of steps or units, which are not necessarily limited to those steps or units clearly listed, but may include other steps or units inherent to these processes, methods, products or devices that are not clearly listed.

[0062] Please refer to Figure 1 , Figure 1 1 is a flow chart of a scan chain fault diagnosis method based on side path scanning provided by an embodiment of the present invention, the method comprising the following steps:

[0063] Step S110, scanning the digital circuit to obtain a plurality of scan chain groups therefrom;

[0064] Step S120: for any scan chain group, generate a side transfer structure in the scan chain group, and then perform a feasibility analysis on the side transfer structure;

[0065] Step S130: When the side transfer structure is feasible, calling a given first group of test vectors to perform a flush test on the scan chain group to obtain a first group of output vectors;

[0066] Step S140: when the first group of output vectors indicates that the scan chain group has a repairable fault, determining preliminary fault information of the scan chain group according to the first group of output vectors;

[0067] Step S150: According to the preliminary fault information, two given complementary test vector groups are called to perform scan tests on the scan chain groups respectively to obtain two groups of output vectors;

[0068] Step S160: Determine specific fault information of the scan chain group according to the preliminary fault information, the two groups of test vectors and the two groups of output vectors.

[0069] In some embodiments of the present invention, all scan chains included in the scan chain group exhibit a longitudinal arrangement rule, and all scan units included in each scan chain exhibit a transverse arrangement rule. Before executing the above step S120, the following preparations need to be completed:

[0070] First, all the scan chains are aligned to the left, so as to ensure that there is a scan unit alignment relationship between every two adjacent scan chains, and in the present invention, it is defined that there is an adjacent relationship between the scan chain distributed at the top and the scan chain distributed at the bottom;

[0071] Second, determine the data transfer direction between every two adjacent scan chains, as follows:

[0072] All scan chains contained in the scan chain group are numbered incrementally from 0 in a top-down order, and all scan units contained in each scan chain are numbered incrementally from 0 in a right-to-left order; when the scan chain group contains only two scan chains, it is limited that bidirectional data transmission can be performed between the two scan chains, that is, data transmission is performed in an exchange form between all scan chains contained in the scan chain group; when the scan chain group contains at least three scan chains, starting from the scan chain with the smallest number, it is limited that the scan chain with the smallest number performs unidirectional data transmission to the adjacent scan chain with the largest number, and finally the scan chain with the largest number performs unidirectional data transmission to the adjacent scan chain with the smallest number, that is, data transmission is performed in a unidirectional ring form between all scan chains contained in the scan chain group.

[0073] Exemplarily, when the scan chain group includes four scan chains, they are respectively recorded as scan chain 0, scan chain 1, scan chain 2 and scan chain 3, and scan chain 0 is limited to perform unidirectional data transfer to scan chain 1, scan chain 1 is limited to perform unidirectional data transfer to scan chain 2, scan chain 2 is limited to perform unidirectional data transfer to scan chain 3, and scan chain 3 is limited to perform unidirectional data transfer to scan chain 0.

[0074] In some embodiments of the present invention, with respect to the generation process of the side transfer structure of the scan chain group mentioned in the above step S120, taking any two adjacent scan chains included in the scan chain group as an example, respectively recorded as the first scan chain and the second scan chain, at least the following three cases are specifically described:

[0075] In the first case, when the first scan chain is equal in length to the second scan chain (that is, the number of scan units included in the first scan chain is the same as the number of scan units included in the second scan chain):

[0076] The first scan chain is used as the data transmitter of the second scan chain (that is, the first scan chain performs unidirectional data transmission to the second scan chain), and for each scanning unit contained in the second scan chain, the scanning unit is defined as the first scanning unit, and a two-to-one data selector is added to the input end of the first scanning unit. The two-to-one data selector is used to select and receive data transmitted by the data transmitter in a bitwise manner (that is, the output data of the scanning unit contained in the data transmitter and located at the same alignment position as the first scanning unit) or data transmitted in sequence by the second scan chain (that is, the output data of the scanning unit contained in the second scan chain that is adjacent to the first scanning unit and has a larger number / adjacent to the left), and then transmit the received data to the first scanning unit.

[0077] It should be noted that if the first scanning unit is the scanning unit with the largest number / distributed on the leftmost side contained in the second scan chain, the data transmitted in sequence by the second scan chain should be the data transmitted by the peripheral control port.

[0078] Similarly, the second scan chain is used as the data transmitter of the first scan chain (that is, the second scan chain performs unidirectional data transmission to the first scan chain), and for each scanning unit contained in the first scan chain, the scanning unit is defined as the eighth scanning unit, and a two-to-one data selector is added to the input end of the eighth scanning unit. The two-to-one data selector is used to select and receive data transmitted by the data transmitter in a bit-by-bit manner (that is, the output data of the scanning unit contained in the data transmitter and located at the same alignment position as the eighth scanning unit) or data transmitted in sequence by the first scan chain (that is, the output data of the scanning unit contained in the first scan chain that is adjacent to the eighth scanning unit and has a larger number / adjacent to the left), and then transmits the received data to the eighth scanning unit.

[0079] It should be noted that if the eighth scanning unit is the scanning unit with the largest number / distributed on the leftmost side contained in the first scan chain, the data transmitted in sequence by the first scan chain should be the data transmitted by the peripheral control port.

[0080] It is important to emphasize that when performing scan chain insertion tasks through EDA (Electronic design automation) tools, it will try to ensure that all scan chains contained in a scan chain group are of equal length. If it is impossible to set the lengths to be equal, it will ensure that the longest scan chain contained in a scan chain group has only one more scan unit than the shortest scan chain.

[0081] In the second case, when the first scan chain and the second scan chain are not equal in length (that is, the first scan chain has one more scanning unit than the second scan chain):

[0082] The first scan chain is used as the data transfer party of the second scan chain (that is, the first scan chain performs unidirectional data transfer to the second scan chain), and the second scan chain is divided into a first scan sub-chain and a second scan sub-chain, wherein the first scan sub-chain includes three scan units distributed on the rightmost side of the second scan chain, and the second scan sub-chain includes all scan units in the second scan chain except the three scan units;

[0083] For each scanning unit included in the first scanning sub-chain, the scanning unit is defined as a second scanning unit, the scanning unit included in the first scanning chain and located at the same alignment position as the second scanning unit is defined as a third scanning unit, and the scanning unit included in the first scanning chain that is adjacent to the third scanning unit and has a smaller number / adjacent to the right is defined as a fourth scanning unit, and an XOR gate and a two-to-one data selector are added to the input end of the second scanning unit, the XOR gate is used to determine the XOR result between the output data of the fourth scanning unit and the output data of the third scanning unit, and the two-to-one data selector is used to select to receive the XOR result or the data transmitted in sequence by the second scanning chain (that is, the output data of the scanning unit included in the second scanning chain that is adjacent to the second scanning unit and has a larger number / adjacent to the left), and then transmit the received data to the second scanning unit;

[0084] For each scanning unit included in the second scanning sub-chain, the scanning unit is defined as the fifth scanning unit, and a two-to-one data selector is added at the input end of the fifth scanning unit. The two-to-one data selector is used to select and receive data transmitted by the data transmitter in a bit-by-bit manner (that is, the output data of the scanning unit included in the data transmitter and located at the same alignment position as the fifth scanning unit) or data transmitted in sequence by the second scan chain (that is, the output data of the scanning unit included in the second scan chain that is adjacent to the fifth scanning unit and has a larger number / adjacent to the left), and then transmit the received data to the fifth scanning unit.

[0085] It should be noted that if the fifth scanning unit is the scanning unit with the largest number / distributed on the leftmost side contained in the second scan chain, the data transmitted in sequence by the second scan chain should be the data transmitted by the peripheral control port.

[0086] In the third case, when the first scan chain and the second scan chain are not equal in length (that is, the first scan chain has one more scanning unit than the second scan chain):

[0087] The second scan chain is used as the data transfer party of the first scan chain (that is, the second scan chain performs unidirectional data transfer to the first scan chain), and the first scan chain is divided into a third scan sub-chain and a fourth scan sub-chain, wherein the third scan sub-chain includes two rightmost scan units in the first scan chain, and the fourth scan sub-chain includes all scan units in the first scan chain except the two scan units;

[0088] For each scanning unit included in the third scanning sub-chain, the scanning unit is defined as a sixth scanning unit, and a two-to-one data selector is added to the input end of the sixth scanning unit, the two-to-one data selector is used to select and receive the output data of the scanning unit with the smallest number / distributed on the rightmost side included in the data transmission party or the data transmitted in sequence by the first scanning chain (that is, the output data of the scanning unit adjacent to the sixth scanning unit and with a larger number / adjacent to the left side included in the first scanning chain), and then transmit the received data to the sixth scanning unit;

[0089] For each scanning unit included in the fourth scanning sub-chain, the scanning unit is defined as the seventh scanning unit, and a two-to-one data selector is added to the input end of the seventh scanning unit. The two-to-one data selector is used to select and receive data transmitted by the data transmitter in a bit-by-bit manner (that is, the output data of the scanning unit included in the data transmitter and located at the same alignment position as the seventh scanning unit) or data transmitted in sequence by the first scan chain (that is, the output data of the scanning unit included in the first scan chain that is adjacent to the seventh scanning unit and has a larger number / adjacent to the left), and then transmit the received data to the seventh scanning unit.

[0090] It should be noted that if the seventh scanning unit is the scanning unit with the largest number / distributed on the leftmost side contained in the first scan chain, the data transmitted in sequence by the first scan chain should be the data transmitted by the peripheral control port.

[0091] Specifically, regarding the side transmission structure of the scan chain group, that is, adding a two-choice data selector to the input end of each scan unit included in each scan chain, in the case where the longest scan chain transmits data unidirectionally to the shortest scan chain, it is also necessary to add an XOR gate to the input end of the three scan units distributed on the far right included in the shortest scan chain, which can be seen in Figures 2 to 5 As shown (a rectangular box represents a scan unit, and a trapezoidal box represents a two-to-one data selector), and the control end S0 of each two-to-one data selector is connected to the peripheral control port; in actual application, when the peripheral control port outputs a first control level, the side transfer structure of the scan chain group is used to separately establish a data transfer relationship between adjacent scan units on each scan chain (i.e., to realize the load-in function and the load-out function in the subsequent scan test process); when the peripheral control port outputs a second control level, the side transfer structure of the scan chain group is used to establish a data transfer relationship between scan units at the same alignment position on each two adjacent scan chains (i.e., to realize the transfer function in the subsequent scan test process).

[0092] In some embodiments of the present invention, the feasibility analysis process of the side transfer structure of the scan chain group mentioned in the above step S120 includes but is not limited to the following:

[0093] Step S121, calling two preset groups of first test vectors that have a complementary relationship, recorded as a second group of test vectors and a third group of test vectors;

[0094] More specifically, the two groups of first test vectors are explained as follows: a user formulates a corresponding second test vector and a third test vector for each scan chain included in the scan chain group according to the number of scan chains included in the scan chain group and the number of scan units included in each scan chain, so that one scan chain corresponds to one test vector and one scan unit corresponds to one vector element;

[0095] Dividing the scan chain group into a first scan chain group and a second scan chain group, wherein the first scan chain group includes all scan chains arranged at odd positions in the scan chain group, and the second scan chain group includes all scan chains arranged at even positions in the scan chain group;

[0096] For each scan chain arranged at an odd position in the first scan chain group and the second scan chain group, a second test vector corresponding to the scan chain is generated starting from 00 and in a manner that 00 and 11 appear alternately, and a third test vector corresponding to the scan chain is generated starting from 11 and in a manner that 11 and 00 appear alternately;

[0097] For each scan chain arranged at an even-numbered position in the first scan chain group and the second scan chain group, a second test vector corresponding to the scan chain is generated starting from 11 and in a manner that 11 and 00 appear alternately, and a third test vector corresponding to the scan chain is generated starting from 00 and in a manner that 00 and 11 appear alternately;

[0098] According to this embodiment, all second test vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated to form the second group of test vectors, and all third test vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated to form the third group of test vectors.

[0099] Exemplarily, when the scan chain group contains five scan chains, they are respectively recorded as scan chain 0, scan chain 1, scan chain 2, scan chain 3 and scan chain 4, the scan chain 0 contains 9 scan units, and the other four scan chains each contain 8 scan units. At this time, the second group of test vectors required to generate the scan chain group include 001100110, 00110011, 11001100, 11001100 and 00110011 in sequence, and the third group of test vectors required to generate the scan chain group include 110011001, 11001100, 00110011, 00110011 and 11001100 in sequence.

[0100] Step S122, performing two side transmission tests on the scan chain group respectively by using the two groups of first test vectors to obtain two corresponding groups of first output vectors, which are recorded as a second group of output vectors and a third group of output vectors;

[0101] More specifically, by using each second test vector included in the second group of test vectors, the scan chain included in the scan chain group and corresponding to the second test vector is subjected to two side transmission tests to obtain a second output vector corresponding to the scan chain, and the second output vector has the same length as the second test vector; according to this embodiment, all second output vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated to form the second group of output vectors;

[0102] Through each third test vector included in the third group of test vectors, two side transmission tests are performed on the scan chain included in the scan chain group and corresponding to the third test vector to obtain a third output vector corresponding to the scan chain, and the third output vector has the same length as the third test vector; according to this embodiment, all third output vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated to form the third group of output vectors.

[0103] Step S123, calling two preset groups of first expected output vectors, which are the expected test results that should be achieved by the user after the entire side transmission test task is completed respectively by using the two groups of first test vectors, assuming that the side transmission structure generated in the scan chain group is feasible;

[0104] Step S124, compare the two groups of first expected output vectors with the two groups of first output vectors: when the two groups of first expected output vectors are exactly the same as the two groups of first output vectors, it is determined that the side transfer structure is feasible, and subsequent fault detection tasks are allowed to continue; when the two groups of first expected output vectors are not exactly the same or are completely different from the two groups of first output vectors, it is determined that the side transfer structure is not feasible, and subsequent fault detection tasks cannot be continued.

[0105] In some embodiments of the present invention, the first group of test vectors mentioned in the above step S130 are explained as follows: a user formulates a corresponding first test vector for each scan chain included in the scan chain group according to the number of scan chains included in the scan chain group and the number of scan units included in each scan chain, so that one scan chain corresponds to one test vector and one scan unit corresponds to one vector element; for each scan chain included in the scan chain group, a first test vector corresponding to the scan chain is generated starting from 00 and in a manner that 00 and 11 appear alternately; according to this embodiment, all first test vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated to form the first group of test vectors.

[0106] Exemplarily, when the scan chain group includes three scan chains, they are respectively recorded as scan chain 0, scan chain 1 and scan chain 2, the scan chain 0 includes 9 scan units, and the other two scan chains each include 8 scan units. At this time, the first group of test vectors required to generate the scan chain group include 001100110, 00110011 and 00110011 in sequence.

[0107] In some embodiments of the present invention, the flush test process mentioned in the above step S130 is specifically performed as follows: through each first test vector included in the first group of test vectors, a flush test is performed on the scan chain corresponding to the first test vector included in the scan chain group to obtain a first output vector corresponding to the scan chain, and the first output vector has the same length as the first test vector; according to this embodiment, all first output vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated into the first group of output vectors.

[0108] In some embodiments of the present invention, the implementation process of step S140 includes but is not limited to the following:

[0109] Step S141, determining whether the first group of test vectors is completely identical to the first group of output vectors, that is, determining whether the first test vector and the first output vector corresponding to each scan chain included in the scan chain group are identical;

[0110] If the first group of test vectors is completely identical to the first group of output vectors, it is determined that the first group of output vectors reflects that the scan chain group does not have any faults, and first detection information is generated for output at this time, the first detection information indicates that the scan chain group has no faults, and subsequent fault detection tasks are stopped;

[0111] If the first group of test vectors is completely different from the first group of output vectors, it is determined that the first group of output vectors reflects that all scan chains included in the scan chain group are faulty, and second detection information is generated for output at this time, the second detection information indicates that the scan chain group as a whole is faulty, and subsequent fault detection tasks are stopped;

[0112] If the first group of test vectors is not completely the same as the first group of output vectors, it is determined that the first group of output vectors reflects that the scan chain group has a repairable fault (ie, only some scan chains in the scan chain group have faults), and the following step S142 is performed.

[0113] Exemplarily, when the scan chain group includes three scan chains, which are respectively recorded as scan chain 0, scan chain 1 and scan chain 2, and the three scan chains each include 8 scan units, the first group of test vectors is set to include 00110011, 00110011 and 00110011 in sequence; if the first group of output vectors includes 00110011, 00110011 and 00110011 in sequence, it means that the first group of test vectors is exactly the same as the first group of output vectors. It can be seen that the three There are no faults in any scan chain; if the first group of output vectors include 00000000, 00110011 and 00110011 in sequence, it means that the first group of test vectors are not exactly the same as the first group of output vectors, and it can be seen that scan chain 0 has a fault; if the first group of output vectors include 00000000, 11111111 and 0010001X in sequence, it means that the first group of test vectors are completely different from the first group of output vectors, and it can be seen that all three scan chains have a fault.

[0114] Step S142: Screen the scan chain groups one by one to extract all the scan chains whose corresponding first test vectors and first output vectors are different, and define them as all faulty scan chains.

[0115] Step S143: for each fault scan chain included in all the fault scan chains, calling a preset fault type judgment rule, and comparing and analyzing the first test vector and the first output vector corresponding to the fault scan chain to obtain the fault type corresponding to the fault scan chain;

[0116] More specifically, at least one fault type such as stuck-at 0, stuck-at 1, slow, slow-to-rise, slow-to-fall, fast, fast-to-rise and fast-to-fall may appear in the fault scan chain. Taking the first test vector corresponding to the fault scan chain as a reference, the first output vector corresponding to the fault scan chain is compared element by element from left to right to find out all the different elements.

[0117] When all the elements are 0, it is determined that a Stuck-at 0 fault occurs in the fault scan chain;

[0118] When all the elements are 1, it is determined that a Stuck-at 1 fault occurs in the fault scan chain;

[0119] When the last element of all the elements is X, and the other elements of all the elements are 0, it is determined that a Slow-to-rise fault occurs in the fault scan chain;

[0120] When the last element of all the elements is X, and the other elements of all the elements are 1, it is determined that a Slow-to-fall fault occurs in the fault scan chain;

[0121] When the last element among all the elements is X, and the other elements among all the elements start from 1 and appear alternately as 1 and 0, it is determined that a Slow fault occurs in the fault scan chain;

[0122] When the first element among all the elements is X, and the other elements among all the elements are 1, it is determined that a Fast-to-rise fault occurs in the fault scan chain;

[0123] When the first element among all the elements is X, and the other elements among all the elements are 0, it is determined that a Fast-to-fall fault occurs in the fault scan chain;

[0124] When the first element among all the elements is X, and the other elements among all the elements start from 0 and appear alternately as 0 and 1, it is determined that a Fast fault occurs in the fault scan chain.

[0125] Step S144: Integrate all the faulty scan chains and the fault type corresponding to each of the faulty scan chains into preliminary fault information of the scan chain group.

[0126] In some embodiments of the present invention, the two groups of test vectors (referred to as the fourth group of test vectors and the fifth group of test vectors) mentioned in the above step S150 are explained as follows: a user formulates a corresponding fourth test vector and a fifth test vector for each scan chain included in the scan chain group according to the number of scan chains included in the scan chain group and the number of scan units included in each scan chain, so that one scan chain corresponds to one test vector, and one scan unit corresponds to one vector element;

[0127] For each scan chain arranged at an odd position in the scan chain group, a fourth test vector corresponding to the scan chain is generated starting from 11 and in a manner that 11 and 00 appear alternately, and a fifth test vector corresponding to the scan chain is generated starting from 00 and in a manner that 00 and 11 appear alternately;

[0128] For each scan chain arranged at an even-numbered position in the scan chain group, generating a fifth test vector corresponding to the scan chain starting from 00 and in a manner that 00 and 11 appear alternately, and generating a fifth test vector corresponding to the scan chain starting from 11 and in a manner that 11 and 00 appear alternately;

[0129] According to this embodiment, all fourth test vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated to form the fourth group of test vectors, and all fifth test vectors corresponding to all scan chains included in the scan chain group can be obtained and integrated to form the fifth group of test vectors.

[0130] Exemplarily, when the scan chain group contains five scan chains, they are respectively recorded as scan chain 0, scan chain 1, scan chain 2, scan chain 3 and scan chain 4, scan chain 0 contains 9 scan units, and the other four scan chains each contain 8 scan units. At this time, the fourth group of test vectors required to generate the scan chain group include 110011001, 00110011, 11001100, 00110011 and 11001100 in sequence, and the fifth group of test vectors required to generate the scan chain group include 001100110, 11001100, 00110011, 11001100 and 00110011 in sequence.

[0131] In some embodiments of the present invention, the scanning test process mentioned in the above step S150 is described in at least the following two cases:

[0132] In the first case, when the preliminary fault information reflects that there are N adjacent faulty scan chains in the scan chain group, N is a positive integer, N is greater than 1 and less than the number of scan chains included in the scan chain group, and the scan chain group is sequentially loaded once, transferred N times, and loaded once through the two groups of test vectors to obtain two corresponding groups of output vectors (recorded as the fourth group of output vectors and the fifth group of output vectors), which are specifically shown as follows:

[0133] By using each fourth test vector included in the fourth group of test vectors, a scan chain included in the scan chain group and corresponding to the fourth test vector is loaded once, then all scan chains included in the scan chain group are transferred N times simultaneously, and finally each scan chain included in the scan chain group is loaded once, thereby obtaining all fourth output vectors corresponding to all scan chains included in the scan chain group and integrating them into the fourth group of output vectors, wherein the fourth output vector corresponding to each scan chain has the same length as the fourth test vector;

[0134] Through each fifth test vector included in the fifth group of test vectors, the scan chain corresponding to the fifth test vector contained in the scan chain group is loaded once, then all the scan chains included in the scan chain group are transferred N times simultaneously, and finally each scan chain included in the scan chain group is loaded out once, thereby all the fifth output vectors corresponding to all the scan chains included in the scan chain group can be obtained and integrated into the fifth group of output vectors, wherein the fifth output vector corresponding to each scan chain has the same length as the fifth test vector.

[0135] In the second case, when the preliminary fault information reflects that there are no adjacent faulty scan chains in the scan chain group, the scan chain group is sequentially loaded, transferred and loaded out by the two groups of test vectors to obtain two corresponding groups of output vectors (recorded as the fourth group of output vectors and the fifth group of output vectors), which is specifically shown as follows:

[0136] By using each fourth test vector included in the fourth group of test vectors, a scan chain included in the scan chain group and corresponding to the fourth test vector is loaded once, then all scan chains included in the scan chain group are simultaneously transferred once, and finally each scan chain included in the scan chain group is loaded once, thereby obtaining all fourth output vectors corresponding to all scan chains included in the scan chain group and integrating them into the fourth group of output vectors, wherein the fourth output vector corresponding to each scan chain has the same length as the fourth test vector;

[0137] Through each fifth test vector included in the fifth group of test vectors, the scan chain corresponding to the fifth test vector included in the scan chain group is loaded once, then all the scan chains included in the scan chain group are simultaneously transferred once, and finally each scan chain included in the scan chain group is loaded out once, thereby obtaining all the fifth output vectors corresponding to all the scan chains included in the scan chain group and integrating them into the fifth group of output vectors, wherein the fifth output vector corresponding to each scan chain has the same length as the fifth test vector.

[0138] It should be noted that when starting to execute the load function or the load-out function, it is necessary to output the first control level to the control end of each two-to-one data selector added in the scan chain group through the peripheral control port; when starting to execute the transfer function, it is necessary to output the second control level to the control end of each two-to-one data selector added in the scan chain group through the peripheral control port.

[0139] In some embodiments of the present invention, the implementation process of step S160 includes but is not limited to the following:

[0140] Step S161, calling two preset groups of expected output vectors (referred to as the first group of expected output vectors and the second group of expected output vectors), which are the expected test results that the user believes should be achieved after the entire scan test task is completed by using the two groups of test vectors, assuming that the scan chain group does not have any faults;

[0141] Step S162: for each faulty scan chain included in all the faulty scan chains, a reference scan chain is selected from the scan chain group in combination with the number of transfers executed by the faulty scan chain during the scan test process;

[0142] More specifically, when the number of transfers executed by the faulty scan chain during the scan test process is M, M is a positive integer, M is greater than or equal to 1 and less than the number of scan chains included in the scan chain group, in the scan chain group, the position of the faulty scan chain is taken as the starting point, and the scan chain arranged in the Mth position is screened out along the data transfer direction and defined as the reference scan chain.

[0143] Step S163, screening the two groups of expected output vectors to obtain two expected output vectors corresponding to the reference scan chain and two expected output vectors corresponding to the faulty scan chain;

[0144] More specifically, the first group of expected output vectors is screened to obtain therefrom the fourth expected output vector corresponding to the reference scan chain and the fourth expected output vector corresponding to the faulty scan chain; and the second group of expected output vectors is screened to obtain therefrom the fifth expected output vector corresponding to the reference scan chain and the fifth expected output vector corresponding to the faulty scan chain.

[0145] Step S164, screening the two groups of output vectors to obtain two output vectors corresponding to the reference scan chain and two output vectors corresponding to the faulty scan chain;

[0146] More specifically, the fourth group of output vectors is screened to obtain therefrom the fourth output vector corresponding to the reference scan chain and the fourth output vector corresponding to the faulty scan chain; and the fifth group of output vectors is screened to obtain therefrom the fifth output vector corresponding to the reference scan chain and the fifth output vector corresponding to the faulty scan chain.

[0147] Step S165, performing a vector fine-tuning operation before fault detection, is divided into the following two cases:

[0148] In the first case, when the faulty scan chain has one more scan unit than the reference scan chain, an element X is added to the leftmost of the two output vectors and the two expected output vectors corresponding to the reference scan chain, and the element X actually refers to the virtual scan unit included in the reference scan chain;

[0149] In the second case, when the reference scan chain has one more scan unit than the faulty scan chain, an element is deleted from the rightmost side of the two output vectors and the two expected output vectors corresponding to the reference scan chain, and the element actually refers to the scan unit 0 included in the reference scan chain;

[0150] It should be noted that when the reference scan chain and the faulty scan chain are of equal length, no adjustment is required; the purpose of executing the above step S165 is to ensure that the lengths of the two output vectors and the two expected output vectors corresponding to the faulty scan chain and the two output vectors and the two expected output vectors corresponding to the reference scan chain are the same, so as to accurately locate the scan unit where the fault is located subsequently.

[0151] Step S166, calling a preset first fault region judgment rule, comparing and analyzing two latest output vectors corresponding to the fault scan chain and two latest expected output vectors, so as to obtain two fault regions corresponding to the fault scan chain;

[0152] More specifically, if the faulty scan chain does not need to be fine-tuned, the fourth output vector corresponding to the faulty scan chain is used as the latest fourth output vector, the fifth output vector corresponding to the faulty scan chain is used as the latest fifth output vector, the fourth expected output vector corresponding to the faulty scan chain is used as the latest fourth expected output vector, and the fifth expected output vector corresponding to the faulty scan chain is used as the latest fifth expected output vector;

[0153] If the fault scan chain needs to be fine-tuned, the fine-tuned fourth output vector corresponding to the fault scan chain is used as the latest fourth output vector, the fine-tuned fifth output vector corresponding to the fault scan chain is used as the latest fifth output vector, the fine-tuned fourth expected output vector corresponding to the fault scan chain is used as the latest fourth expected output vector, and the fine-tuned fifth expected output vector corresponding to the fault scan chain is used as the latest fifth expected output vector;

[0154] Taking the latest fourth expected output vector corresponding to the faulty scan chain as a reference, the latest fourth output vector corresponding to the faulty scan chain is compared element by element from right to left to find out the first different element, and then the scan unit corresponding to the element and all the scan units downstream / with a smaller number than the element are integrated into the first fault region corresponding to the faulty scan chain;

[0155] Taking the latest fifth expected output vector corresponding to the faulty scan chain as a reference, the latest fifth output vector corresponding to the faulty scan chain is compared element by element from right to left to find out the first different element, and then the scan unit corresponding to the element and all the scan units downstream / with smaller numbers than the element are integrated into the second fault area corresponding to the faulty scan chain.

[0156] Step S167, calling a preset second fault region judgment rule, comparing and analyzing two latest output vectors corresponding to the reference scan chain and two latest expected output vectors, so as to obtain two fault regions corresponding to the reference scan chain;

[0157] More specifically, if the reference scan chain does not need to be fine-tuned, the fourth output vector corresponding to the reference scan chain is used as the latest fourth output vector, the fifth output vector corresponding to the reference scan chain is used as the latest fifth output vector, the fourth expected output vector corresponding to the reference scan chain is used as the latest fourth expected output vector, and the fifth expected output vector corresponding to the reference scan chain is used as the latest fifth expected output vector;

[0158] If the reference scan chain needs to be fine-tuned, the fourth output vector corresponding to the reference scan chain after fine-tuning is used as the latest fourth output vector, the fifth output vector corresponding to the reference scan chain after fine-tuning is used as the latest fifth output vector, the fourth expected output vector corresponding to the reference scan chain after fine-tuning is used as the latest fourth expected output vector, and the fifth expected output vector corresponding to the reference scan chain after fine-tuning is used as the latest fifth expected output vector;

[0159] If the fine-tuning operation performed by the reference scan chain is element deletion, the number of the scan unit corresponding to each element included in the latest fourth output vector, the latest fifth output vector, the latest fourth expected output vector, and the latest fifth expected output vector is reduced by 1;

[0160] If the fine-tuning operation performed by the reference scan chain is element addition, the virtual scan units corresponding to the leftmost elements included in the latest fourth output vector, the latest fifth output vector, the latest fourth expected output vector, and the latest fifth expected output vector are sequentially numbered;

[0161] Taking the latest fourth expected output vector corresponding to the reference scan chain as a reference, the latest fourth output vector corresponding to the reference scan chain is compared element by element from left to right to find out the first different element, and then the scan unit corresponding to the element and all the scan units upstream / with a larger number than the element are integrated into the first fault area corresponding to the reference scan chain;

[0162] Taking the latest fifth expected output vector corresponding to the reference scan chain as a reference, the latest fifth output vector corresponding to the reference scan chain is compared element by element in order from left to right to find out the first different element, and then the scan unit corresponding to the element and all the scan units upstream / with larger numbers than the element are integrated into the second fault area corresponding to the reference scan chain.

[0163] Step S168, determining specific fault information of the faulty scan chain in combination with the fault type corresponding to the faulty scan chain, the two faulty regions corresponding to the reference scan chain, and the two faulty regions corresponding to the faulty scan chain;

[0164] More specifically, obtaining an intersection area between two fault areas corresponding to the reference scan chain and two fault areas corresponding to the faulty scan chain;

[0165] When the intersection area contains only one scan unit, it means that there is one and only one fault in the fault scan chain, and the fault types corresponding to the scan unit and the fault scan chain are integrated into specific fault information of the fault scan chain;

[0166] When the intersection area contains multiple scan units, it means that there is one and only one fault in the fault scan chain, and the fault type corresponding to the most upstream / largest numbered scan unit among the multiple scan units and the fault scan chain is integrated into the specific fault information of the fault scan chain;

[0167] When there is no scan unit in the intersection area (that is, the intersection area is empty), it means that there are at least two faults in the fault scan chain, and the first intersection area between the two fault areas corresponding to the fault scan chain is obtained, and the second intersection area between the two fault areas corresponding to the reference scan chain is obtained, and the scan unit at the most upstream / largest number among all the scan units contained in the first intersection area is recorded as the scan unit where the first fault is located, and the scan unit at the most downstream / smallest number among all the scan units contained in the second intersection area is recorded as the scan unit where the last fault is located, and then the scan unit where the first fault is located, the scan unit where the last fault is located, and the fault type corresponding to the fault scan chain are integrated into the specific fault information of the fault scan chain, and the fault type corresponding to the fault scan chain belongs to the scan unit where the first fault is located.

[0168] Exemplarily, the fault location diagnosis method proposed in the above steps S150 to S160 is described through the following seven situations:

[0169] In the first case, it is assumed that the scan chain group contains only two scan chains of equal length, denoted as scan chain 0 and scan chain 1. Both scan chains contain 8 scan cells. At this time, it is known that a stuck-at 0 fault occurs in scan cell 3 of scan chain 0.

[0170] Through the above steps S130 to S140, it is determined that the stuck-at 0 fault occurs only in the scan chain 0; a first scan test is performed on the scan chain group using a set of test vectors, and then a second scan test is performed on the scan chain group using another set of complementary test vectors, and the test results shown in Table 1 are obtained;

[0171] Table 1 Test results for the first case

[0172]

[0173] Use scan chain 0 as the faulty scan chain and scan chain 1 as the reference scan chain;

[0174] Taking the first expected output vector 00110011 corresponding to scan chain 0 as a reference, the first output vector 00000011 corresponding to scan chain 0 is compared element by element from right to left. It can be seen that the first difference appears in the fifth element. At this time, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 0;

[0175] Taking the second expected output vector 11001100 corresponding to scan chain 0 as a reference, the second output vector 00000100 corresponding to scan chain 0 is compared element by element from right to left. It can be seen that the difference first appears in the fourth element. At this time, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 0.

[0176] Taking the first expected output vector 11001100 corresponding to scan chain 1 as a reference, the first output vector 11000000 corresponding to scan chain 1 is compared element by element from left to right. It can be seen that the difference first appears in the fifth element. At this time, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 1.

[0177] Taking the second expected output vector 00110011 corresponding to scan chain 1 as a reference, the second output vector 00110000 corresponding to scan chain 1 is compared element by element from left to right. It can be seen that the difference first appears in the 7th element. At this time, scan unit 1, scan unit 2, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 1.

[0178] The intersection area between the two fault areas corresponding to scan chain 0 and the two fault areas corresponding to scan chain 1 is obtained. The intersection area only includes scan unit 3, indicating that a fault occurs in scan unit 3 of scan chain 0.

[0179] In the second case, it is assumed that the scan chain group contains four scan chains of equal length, denoted as scan chain 0, scan chain 1, scan chain 2, and scan chain 3. Each of these four scan chains contains 8 scan units. At this time, it is known that a slow-to-rise fault occurs in scan unit 4 of scan chain 1.

[0180] Through the above steps S130 to S140, it is determined that the Slow-to-rise fault occurs only in the scan chain 1; a set of test vectors is used to perform a first scan test on the scan chain group, and another set of complementary test vectors is used to perform a second scan test on the scan chain group, and the test results shown in Table 2 are obtained;

[0181] Table 2 Test results for the second case

[0182]

[0183] Scan chain 1 is used as the faulty scan chain, and scan chain 2 is used as the reference scan chain;

[0184] Taking the first expected output vector 11001100 corresponding to scan chain 1 as a reference, the first output vector 10001100 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the difference first appears in the 7th element. At this time, scan unit 6, scan unit 5, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 1.

[0185] Taking the second expected output vector 00110011 corresponding to scan chain 1 as a reference, the second output vector 00000011 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the difference first appears in the fifth element. At this time, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 1.

[0186] Taking the first expected output vector 00110011 corresponding to scan chain 2 as a reference, the first output vector 0010001X corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the fourth element is different for the first time. At this time, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 2.

[0187] Taking the second expected output vector 11001100 corresponding to scan chain 2 as a reference, the second output vector 1100100X corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the sixth element is different for the first time. At this time, scan unit 2, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 2.

[0188] The intersection area between the two fault areas corresponding to the scan chain 1 and the two fault areas corresponding to the scan chain 2 is obtained. The intersection area only includes the scan unit 4 , indicating that a fault occurs in the scan unit 4 of the scan chain 1 .

[0189] In the third case, it is assumed that the scan chain group includes four scan chains of equal length, denoted as scan chain 0, scan chain 1, scan chain 2, and scan chain 3. Each of the four scan chains includes 8 scan units. At this time, it is known that a stuck-at 1 fault occurs in scan unit 2 of scan chain 1, and a stuck-at 0 fault occurs in scan unit 5 of scan chain 3.

[0190] Through the above steps S130 to S140, it is determined that a Stuck-at 1 fault occurs in scan chain 1, and a Stuck-at 0 fault occurs in non-adjacent scan chain 3; a first scan test is performed on the scan chain group using a set of test vectors, and then a second scan test is performed on the scan chain group using another set of complementary test vectors, and the test results shown in Table 3 are obtained;

[0191] Table 3 Test results for the third case

[0192]

[0193] (1) Scan chain 1 is used as the faulty scan chain, and scan chain 2 is used as the reference scan chain;

[0194] Taking the first expected output vector 11001100 corresponding to scan chain 1 as a reference, the first output vector 11111100 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the difference first appears in the fifth element. At this time, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 1.

[0195] Taking the second expected output vector 00110011 corresponding to scan chain 1 as a reference, the second output vector 11111111 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the difference first appears in the third element. At this time, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 1.

[0196] Taking the first expected output vector 00110011 corresponding to scan chain 2 as a reference, the first output vector 00110111 corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the sixth element is different for the first time. At this time, scan unit 2, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 2.

[0197] Taking the second expected output vector 11001100 corresponding to scan chain 2 as a reference, the second output vector 11001111 corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the difference first appears in the 7th element. At this time, scan unit 1, scan unit 2, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 2.

[0198] The intersection area between the two fault areas corresponding to scan chain 1 and the two fault areas corresponding to scan chain 2 is obtained. The intersection area only includes scan unit 2, indicating that a fault occurs in scan unit 2 of scan chain 1.

[0199] (2) Scan chain 3 is used as the faulty scan chain and scan chain 0 is used as the reference scan chain;

[0200] Taking the first expected output vector 11001100 corresponding to scan chain 3 as a reference, the first output vector 00001100 corresponding to scan chain 3 is compared element by element from right to left. It can be seen that the first difference appears in the 7th element. At this time, scan unit 6, scan unit 5, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 3.

[0201] Taking the second expected output vector 00110011 corresponding to scan chain 3 as a reference, the second output vector 00010011 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the sixth element is different for the first time. At this time, scan unit 5, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 3.

[0202] Taking the first expected output vector 00110011 corresponding to scan chain 0 as a reference, the first output vector 00000000 corresponding to scan chain 0 is compared element by element from left to right. It can be seen that the difference first appears in the third element. At this time, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 0.

[0203] Taking the second expected output vector 11001100 corresponding to scan chain 0 as a reference, the second output vector 11000000 corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the difference first appears in the fifth element. At this time, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 2.

[0204] The intersection area between the two fault areas corresponding to scan chain 3 and the two fault areas corresponding to scan chain 0 is obtained. The intersection area only includes scan unit 5 , indicating that a fault occurs in scan unit 5 of scan chain 3 .

[0205] In the fourth case, it is assumed that the scan chain group includes four scan chains of equal length, which are scan chain 0, scan chain 1, scan chain 2 and scan chain 3. Each of the four scan chains includes 8 scan units. At this time, it is known that a stuck-at 0 fault occurs in scan unit 5 of scan chain 0, and a stuck-at 1 fault occurs in scan unit 2 of scan chain 1.

[0206] Through the above steps S130 to S140, it is determined that a Stuck-at 0 fault occurs in scan chain 0, and a Stuck-at 1 fault occurs in the adjacent scan chain 1; a first scan test is performed on the scan chain group using a set of test vectors, and then a second scan test is performed on the scan chain group using another set of complementary test vectors, and the test results shown in Table 4 are obtained;

[0207] Table 4 Test results for the fourth case

[0208]

[0209] (1) Scan chain 0 is used as the faulty scan chain and scan chain 2 is used as the reference scan chain;

[0210] Taking the first expected output vector 11001100 corresponding to scan chain 0 as a reference, the first output vector 00001100 corresponding to scan chain 0 is compared element by element from right to left. It can be seen that the difference first appears in the 7th element. At this time, scan unit 6, scan unit 5, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 0;

[0211] Taking the second expected output vector 00110011 corresponding to scan chain 0 as a reference, the second output vector 00010011 corresponding to scan chain 0 is compared element by element from right to left. It can be seen that the sixth element is different for the first time. At this time, scan unit 5, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 0.

[0212] Taking the first expected output vector 11001100 corresponding to scan chain 2 as a reference, the first output vector 11000100 corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the difference first appears in the fifth element. At this time, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 2.

[0213] Taking the second expected output vector 00110011 corresponding to scan chain 2 as a reference, the second output vector 00000100 corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the difference first appears in the third element. At this time, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 2.

[0214] The intersection area between the two fault areas corresponding to scan chain 0 and the two fault areas corresponding to scan chain 2 is obtained. The intersection area only includes scan unit 5 , indicating that a fault occurs in scan unit 5 of scan chain 0 .

[0215] (2) Scan chain 1 is used as the faulty scan chain and scan chain 3 is used as the reference scan chain;

[0216] Taking the first expected output vector 00110011 corresponding to scan chain 1 as a reference, the first output vector 11111111 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the difference first appears in the third element. At this time, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 1.

[0217] Taking the second expected output vector 11001100 corresponding to scan chain 1 as a reference, the second output vector 11111100 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the difference first appears in the fifth element. At this time, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 1.

[0218] Taking the first expected output vector 00110011 corresponding to scan chain 3 as a reference, the first output vector 00110111 corresponding to scan chain 3 is compared element by element from left to right. It can be seen that the sixth element is different for the first time. At this time, scan unit 2, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 3.

[0219] Taking the second expected output vector 11001100 corresponding to scan chain 3 as a reference, the second output vector 11001111 corresponding to scan chain 3 is compared element by element from left to right. It can be seen that the difference first appears in the 7th element. At this time, scan unit 1, scan unit 2, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 3.

[0220] The intersection area between the two fault areas corresponding to scan chain 1 and the two fault areas corresponding to scan chain 3 is obtained. The intersection area only includes scan unit 2, indicating that a fault occurs in scan unit 2 of scan chain 1.

[0221] In the fifth case, it is assumed that the scan chain group includes four scan chains of equal length, which are scan chain 0, scan chain 1, scan chain 2 and scan chain 3. Each of the four scan chains includes 8 scan units. At this time, it is known that a stuck-at 0 fault occurs in scan unit 3 and scan unit 5 of scan chain 1, and a stuck-at 1 fault occurs in scan unit 4 of scan chain 1.

[0222] Through the above steps S130 to S140, it is determined that a Stuck-at 0 fault occurs in scan chain 1; a first scan test is performed on the scan chain group using a set of test vectors, and then a second scan test is performed on the scan chain group using another set of complementary test vectors, and the test results shown in Table 5 are obtained;

[0223] Table 5 Test results for the fifth case

[0224]

[0225] Scan chain 1 is used as the faulty scan chain, and scan chain 2 is used as the reference scan chain;

[0226] Taking the first expected output vector 11001100 corresponding to scan chain 1 as a reference, the first output vector 00000100 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the first difference appears in the fourth element. At this time, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 1.

[0227] Taking the second expected output vector 00110011 corresponding to scan chain 1 as a reference, the second output vector 00000011 corresponding to scan chain 1 is compared element by element from right to left. It can be seen that the difference first appears in the fifth element. At this time, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 1.

[0228] Taking the first expected output vector 00110011 corresponding to scan chain 2 as a reference, the first output vector 00010000 corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the difference first appears in the third element. At this time, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 2.

[0229] Taking the second expected output vector 11001100 corresponding to scan chain 2 as a reference, the second output vector 11010000 corresponding to scan chain 2 is compared element by element from left to right. It can be seen that the difference first appears in the fourth element. At this time, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 2.

[0230] Obtaining the intersection area between the two fault areas corresponding to scan chain 1 and the two fault areas corresponding to scan chain 2, the intersection area is empty, indicating that there are at least two faults in scan chain 1;

[0231] A first intersection region between two fault regions corresponding to scan chain 1 is obtained, wherein the first intersection region includes scan unit 3, scan unit 2, scan unit 1 and scan unit 0, indicating that the first fault occurs in scan unit 3 of scan chain 1;

[0232] A second intersection region between two fault regions corresponding to scan chain 2 is obtained. The second intersection region includes scan unit 5 , scan unit 6 , and scan unit 7 , indicating that the last fault occurs in scan unit 5 of scan chain 1 .

[0233] In the sixth case, it is assumed that the scan chain group contains four scan chains of unequal lengths, which are denoted as scan chain 0, scan chain 1, scan chain 2, and scan chain 3. Scan chain 0 contains 9 scan units, and the other three scan chains contain 8 scan units. At this time, it is known that a stuck-at 0 fault occurs in scan unit 8 of scan chain 0.

[0234] Through the above steps S130 to S140, it is determined that a Stuck-at 0 fault occurs in scan chain 0; a first scan test is performed on the scan chain group using a set of test vectors, and then a second scan test is performed on the scan chain group using another set of complementary test vectors, and the test results shown in Table 6 are obtained;

[0235] Table 6 Test results for the sixth case

[0236]

[0237] Use scan chain 0 as the faulty scan chain and scan chain 1 as the reference scan chain;

[0238] Taking the first expected output vector 001100111 corresponding to scan chain 0 as a reference, the first output vector 001100111 corresponding to scan chain 0 is compared element by element from right to left. It can be seen that scan chain 0 has no fault after completing the first scan test, that is, the first fault area corresponding to scan chain 0 is empty.

[0239] Taking the second expected output vector 110011000 corresponding to scan chain 0 as a reference, the first output vector 010011000 corresponding to scan chain 0 is compared element by element from right to left. It can be seen that the difference first appears in the 9th element. At this time, scan unit 8, scan unit 7, scan unit 6, scan unit 5, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 0;

[0240] Taking the first expected output vector X11001101 after fine-tuning corresponding to scan chain 1 as a reference, the first output vector X00000000 after fine-tuning corresponding to scan chain 1 is compared element by element from left to right. It can be seen that the difference first appears in the second element. At this time, scan unit 7 and virtual scan unit 8 are integrated into the first fault area corresponding to scan chain 1;

[0241] Taking the second expected output vector X00110101 after fine-tuning corresponding to scan chain 1 as a reference, the second output vector X00000000 after fine-tuning corresponding to scan chain 1 is compared element by element from left to right. It can be seen that the difference first appears in the fourth element. At this time, scan unit 5, scan unit 6, scan unit 7 and virtual scan unit 8 are integrated into the second fault area corresponding to scan chain 1;

[0242] The intersection area between the two fault areas corresponding to scan chain 0 and the two fault areas corresponding to scan chain 1 is obtained. The intersection area includes scan unit 7 and scan unit 8, indicating that a fault occurs in scan unit 8 of scan chain 0.

[0243] In the seventh case, it is assumed that the scan chain group contains four scan chains of unequal lengths, which are recorded as scan chain 0, scan chain 1, scan chain 2, and scan chain 3. Scan chain 0 contains 9 scan units, and the other three scan chains contain 8 scan units. At this time, it is known that a stuck-at 0 fault occurs in scan unit 4 of scan chain 3.

[0244] Through the above steps S130 to S140, it is determined that a Stuck-at 0 fault occurs in the scan chain 3; a first scan test is performed on the scan chain group using a set of test vectors, and then a second scan test is performed on the scan chain group using another set of complementary test vectors, and the test results shown in Table 7 are obtained;

[0245] Table 7 Test results for the seventh case

[0246]

[0247] Use scan chain 3 as the faulty scan chain and scan chain 0 as the reference scan chain;

[0248] Taking the first expected output vector 11001100 corresponding to scan chain 3 as a reference, the first output vector 00001100 corresponding to scan chain 3 is compared element by element from right to left. It can be seen that the first difference appears in the 7th element. At this time, scan unit 6, scan unit 5, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the first fault area corresponding to scan chain 3.

[0249] Taking the second expected output vector 00110011 corresponding to scan chain 3 as a reference, the second output vector 00000011 corresponding to scan chain 3 is compared element by element from right to left. It can be seen that the difference first appears in the fifth element. At this time, scan unit 4, scan unit 3, scan unit 2, scan unit 1 and scan unit 0 are integrated into the second fault area corresponding to scan chain 3.

[0250] Taking the first expected output vector 00110011 after fine-tuning corresponding to scan chain 0 as a reference, the first output vector 00100000 after fine-tuning corresponding to scan chain 0 is compared element by element from left to right. It can be seen that the difference first appears in the fourth element. At this time, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the first fault area corresponding to scan chain 0;

[0251] Taking the second expected output vector 11001100 after fine-tuning corresponding to scan chain 0 as a reference, the second output vector 11000000 after fine-tuning corresponding to scan chain 0 is compared element by element from left to right. It can be seen that the difference first appears in the fifth element. At this time, scan unit 3, scan unit 4, scan unit 5, scan unit 6 and scan unit 7 are integrated into the second fault area corresponding to scan chain 0;

[0252] The intersection area between the two fault areas corresponding to the scan chain 3 and the two fault areas corresponding to the scan chain 0 is obtained. The intersection area includes the scan unit 4 , indicating that a fault occurs in the scan unit 4 of the scan chain 3 .

[0253] In an embodiment of the present invention, a two-to-one data selector and an XOR gate are introduced to generate a side pass structure in a scan chain group without the need for test compression. Compared with the existing reversible scan chain structure, the use of hardware resources can be reduced, the pressure of layout and wiring can be alleviated, and the number of test vectors used can be reduced in the entire fault diagnosis process, thereby improving the fault diagnosis efficiency and quality of the scan chain group, while reducing the memory usage of the test equipment and saving test costs.

[0254] also, Figure 6 2 is a schematic diagram of the hardware structure of a computer device provided in an embodiment of the present invention, wherein the computer device includes a processor 220, a memory 230, an input unit 240, a display unit 250 and other devices. Those skilled in the art can understand that Figure 6 The device structure device shown does not constitute a limitation on all devices, and may include more or fewer components than shown, or combine certain components. The memory 230 can be used to store the computer program 210 and various functional modules, and the processor 220 runs the computer program 210 stored in the memory 230, thereby executing various functional applications and data processing of the device. The memory can be an internal memory or an external memory, or include an internal memory and an external memory. The internal memory may include a read-only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, or a random access memory. The external memory may include a hard disk, a floppy disk, a U disk, a magnetic tape, etc. The memory 230 disclosed in the embodiment of the present invention includes but is not limited to the above-mentioned types of memory. The memory 230 disclosed in the embodiment of the present invention is only an example and not a limitation.

[0255] The input unit 240 is used to receive the input of the signal and the keyword input by the user. The input unit 240 may include a touch panel and other input devices. The touch panel can collect the user's touch operation on or near it (such as the user's operation on or near the touch panel using any suitable object or accessory such as a finger, stylus, etc.), and drive the corresponding connection device according to a pre-set program; other input devices may include but are not limited to one or more of a physical keyboard, a function key (such as a playback control key, a switch key, etc.), a trackball, a mouse, a joystick, etc. The display unit 250 can be used to display the information input by the user or the information provided to the user and various menus of the terminal device. The display unit 250 can be in the form of a liquid crystal display, an organic light emitting diode, etc. The processor 220 is the control center of the terminal device, which uses various interfaces and lines to connect various parts of the entire device, and executes various functions and processes data by running or executing software programs and / or modules stored in the memory 230, and calling data stored in the memory 230.

[0256] As an embodiment, the computer device includes a processor 220, a memory 230 and a computer program 210, wherein the computer program 210 is stored in the memory 230 and is configured to be executed by the processor 220, and the computer program 210 is configured to execute the scan chain fault diagnosis method based on side scanning in the above embodiment.

[0257] Although the description of the present application has been quite detailed and specifically describes several described embodiments, it is not intended to be limited to any of these details or embodiments or any particular embodiment, but should be regarded as providing a broad possible interpretation of these claims by reference to the attached claims, taking into account the prior art, so as to effectively cover the intended scope of the present application. In addition, the above description of the present application is based on the embodiments foreseeable by the inventor, and its purpose is to provide a useful description, and those non-substantial changes to the present application that have not yet been foreseen may still represent equivalent changes to the present application.

Claims

1. A scan chain fault diagnosis method based on side path scanning, characterized in that: include: Scanning a digital circuit to obtain a plurality of scan chain groups therefrom; For any scan chain group, a side transfer structure is generated in the scan chain group, and then a feasibility analysis is performed on the side transfer structure; When the side-path transfer structure is feasible, calling a given first group of test vectors to perform flush test on the scan chain group to obtain a first group of output vectors; When the first group of output vectors indicates that the scan chain group has a repairable fault, determining preliminary fault information of the scan chain group according to the first group of output vectors, and taking all faulty scan chains and the fault type corresponding to each of the faulty scan chains as preliminary fault information of the scan chain group; According to the preliminary fault information, calling two given complementary test vectors, recorded as a fourth test vector group and a fifth test vector group, respectively performing scan tests on the scan chain groups to obtain two output vectors, recorded as a fourth output vector group and a fifth output vector group; Determining specific fault information of the scan chain group according to the preliminary fault information, the two groups of test vectors and the two groups of output vectors; Wherein, generating a side path transfer structure in the scan chain group includes: For each two adjacent scan chains in the scan chain group, they are recorded as the first scan chain and the second scan chain: When the first scan chain and the second scan chain are of equal length, the first scan chain is used as the data transfer party of the second scan chain, and each scanning unit in the second scan chain is recorded as a first scanning unit. A two-or-one data selector is added at the input end of the first scanning unit, which is used to select and receive the data outputted sequentially by the second scan chain or the data outputted by the data transfer party; When the first scan chain has one more scan unit than the second scan chain, the first scan chain is used as the data transfer party of the second scan chain, the three scan units arranged on the rightmost side of the second scan chain are used as the first scan sub-chain, and all scan units except the three scan units in the second scan chain are used as the second scan sub-chain, For each scanning unit in the first scanning sub-chain, it is recorded as a second scanning unit, the scanning unit in the first scanning chain that is in the same alignment position as the second scanning unit is recorded as a third scanning unit, and the scanning unit in the first scanning chain that is adjacent to the right side of the third scanning unit is recorded as a fourth scanning unit, and a two-to-one data selector and an XOR gate are added to the input end of the second scanning unit, the XOR gate is used to generate an XOR result between the output data of the third scanning unit and the output data of the fourth scanning unit, and the two-to-one data selector is used to select the data outputted by the second scanning chain or the XOR result. For each scanning unit in the second scanning sub-chain, which is recorded as a fifth scanning unit, a two-or-one data selector is added at the input end of the fifth scanning unit, which is used to select and receive the data outputted sequentially by the second scanning chain or the data outputted by the data transmission party; When the first scan chain has one more scan unit than the second scan chain, the second scan chain is used as the data transfer party of the first scan chain, the two rightmost scan units in the first scan chain are used as the third scan sub-chain, and all scan units in the first scan chain except the two scan units are used as the fourth scan sub-chain. For each scanning unit in the third scanning sub-chain, which is recorded as the sixth scanning unit, a two-to-one data selector is added at the input end of the sixth scanning unit, which is used to select and receive the data outputted in sequence by the first scanning chain or the output data of the scanning unit arranged on the rightmost side in the data transfer side, For each scanning unit in the fourth scanning sub-chain, which is recorded as a seventh scanning unit, a two-or-one data selector is added at the input end of the seventh scanning unit, which is used to select and receive the data outputted in sequence by the first scanning chain or the data outputted in sequence by the data transmission party; Wherein, determining the specific fault information of the scan chain group according to the preliminary fault information, the two groups of test vectors and the two groups of output vectors includes: Calling two given groups of expected output vectors corresponding to the two groups of test vectors; For each faulty scan chain in all the faulty scan chains, selecting a reference scan chain from the scan chain group according to the number of transfers completed by the faulty scan chain in the scan test; Filter out two expected output vectors corresponding to the faulty scan chain and two expected output vectors corresponding to the reference scan chain from the two groups of expected output vectors, and filter out two output vectors corresponding to the faulty scan chain and two output vectors corresponding to the reference scan chain from the two groups of output vectors; Performing a vector fine-tuning operation: when the reference scan chain has one less scan unit than the faulty scan chain, adding an element to the leftmost sides of two expected output vectors and two output vectors corresponding to the reference scan chain; when the faulty scan chain has one less scan unit than the reference scan chain, deleting an element to the rightmost sides of two expected output vectors and two output vectors corresponding to the reference scan chain; Calling a given first fault region judgment rule to analyze two latest expected output vectors and two latest output vectors corresponding to the fault scan chain to obtain two fault regions corresponding to the fault scan chain; Invoking a given second fault region judgment rule to analyze two latest expected output vectors and two latest output vectors corresponding to the reference scan chain to obtain two fault regions corresponding to the reference scan chain; Specific fault information of the faulty scan chain is determined according to the two faulty regions corresponding to the faulty scan chain, the two faulty regions corresponding to the reference scan chain, and the fault type corresponding to the faulty scan chain.

2. The scan chain fault diagnosis method based on side path scanning according to claim 1 is characterized in that: All scan chains in the scan chain group are arranged vertically, and all scan units in each scan chain are arranged horizontally; before the side pass structure is generated in the scan chain group, the method includes: All the scan chains are aligned to the left so that there is a scan unit alignment relationship between every two adjacent scan chains, the scan chain arranged at the bottom is defined to be adjacent to the scan chain arranged at the top, and the data transfer direction between every two adjacent scan chains is determined.

3. The scan chain fault diagnosis method based on side path scanning according to claim 1 is characterized in that: The feasibility analysis of the side road transfer structure includes: Calling a given complementary second group of test vectors and a third group of test vectors, respectively performing two side transmission tests on the scan chain group, to obtain a second group of output vectors and a third group of output vectors; Calling two given groups of first expected output vectors corresponding to the second group of test vectors and the third group of test vectors, and comparing the second group of output vectors and the third group of output vectors with the two groups of first expected output vectors; When the second group of output vectors and the third group of output vectors correspond to the two groups of first expected output vectors and are completely identical, it is determined that the side-pass transfer structure is feasible.

4. The scan chain fault diagnosis method based on side path scanning according to claim 1, characterized in that: When the first group of output vectors indicates that the scan chain group has a repairable fault, determining preliminary fault information of the scan chain group according to the first group of output vectors includes: Using all first test vectors corresponding to all scan chains in the scan chain group as the first group of test vectors, and using all first output vectors corresponding to all scan chains in the scan chain group as the first group of output vectors; When the first group of output vectors and the first group of test vectors are not completely the same, determining that the first group of output vectors indicates that a repairable fault exists in the scan chain group; Filter out all scan chains whose corresponding first output vectors and first test vectors are different from each other from the scan chain group, and record them as all faulty scan chains; For each fault scan chain in all the fault scan chains, calling a given fault type judgment rule to analyze a first output vector and a first test vector corresponding to the fault scan chain to obtain a fault type corresponding to the fault scan chain; All the faulty scan chains and the fault type corresponding to each of the faulty scan chains are used as preliminary fault information of the scan chain group.

5. The scan chain fault diagnosis method based on side path scanning according to claim 2 is characterized in that: The method of calling two given complementary test vectors according to the preliminary fault information, which are recorded as the fourth test vector and the fifth test vector, and performing scan tests on the scan chain groups respectively to obtain two sets of output vectors, which are recorded as the fourth output vector and the fifth output vector, includes: When the preliminary fault information indicates that there are multiple adjacent faulty scan chains in the scan chain group, calling the two groups of test vectors to perform single loading, multiple transfers and single loading on the scan chain group in sequence to obtain two groups of output vectors; When the preliminary fault information indicates that there are no adjacent faulty scan chains in the scan chain group, the two groups of test vectors are called to perform single loading, single transfer and single loading out on the scan chain group in sequence to obtain two groups of output vectors.

6. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: The processor executes the computer program to implement the scan chain fault diagnosis method based on side path scanning according to any one of claims 1 to 5.