KR102382520B1 - Scan chain ordering method and scan chain ordering apparatus - Google Patents

Scan chain ordering method and scan chain ordering apparatus Download PDF

Info

Publication number
KR102382520B1
KR102382520B1 KR1020200150874A KR20200150874A KR102382520B1 KR 102382520 B1 KR102382520 B1 KR 102382520B1 KR 1020200150874 A KR1020200150874 A KR 1020200150874A KR 20200150874 A KR20200150874 A KR 20200150874A KR 102382520 B1 KR102382520 B1 KR 102382520B1
Authority
KR
South Korea
Prior art keywords
scan
chain
cell
calculating
scan chain
Prior art date
Application number
KR1020200150874A
Other languages
Korean (ko)
Inventor
강성호
이상준
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020200150874A priority Critical patent/KR102382520B1/en
Application granted granted Critical
Publication of KR102382520B1 publication Critical patent/KR102382520B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318555Control logic
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

According to an embodiment of the present invention, a scan chain forming method comprises: a step of calculating a scan estimation value from zero controllability and first controllability of each scan cell forming a scan chain; a step of partitioning scan cells into a plurality of scan chains using the scan estimation value; a step of calculating scan influence for each of the scan cells in each partitioned scan chain; and a step of forming the scan chain by disposing each of the scan cells in the partitioned scan chain in order of scan influence.

Description

스캔 체인 형성 방법 및 스캔 체인 형성 장치{SCAN CHAIN ORDERING METHOD AND SCAN CHAIN ORDERING APPARATUS}SCAN CHAIN ORDERING METHOD AND SCAN CHAIN ORDERING APPARATUS

본 기술은 스캔 체인 오더링 방법 및 스캔 체인 오더링 장치와 관련된다. The present technology relates to a scan chain ordering method and a scan chain ordering apparatus.

칩의 집적도 및 복잡도의 증가에 따라 지속적으로 테스트의 복잡도가 비례하여 증가하고 있다. 이에 대한 대안으로 스캔 테스트 기법이 널리 사용되는데, 스캔 체인에서 고장이 발생하게 되는 경우 플러시 테스트(flush test)으로는 고장이 발생한 체인의 위치는 알아낼 수 있으나 고장이 발생한 스캔 셀의 위치를 확인할 방법이 없다. 따라서 다양한 스캔 체인 진단 방법이 제시되고 있다. As the density and complexity of the chip increase, the complexity of the test continues to increase in proportion. As an alternative to this, the scan test technique is widely used. When a failure occurs in the scan chain, the flush test can find out the location of the chain where the failure occurred, but there is no way to determine the location of the scan cell where the failure occurred. none. Therefore, various scan chain diagnosis methods have been proposed.

종래 기술의 경우 저전력 테스트를 위한 스캔 체인 스티칭 방법으로 크게 테스트 패턴 기반 방식과 로직 형태(logic topology)를 분석하는 방식으로 나눌 수 있다. 테스트 패턴 기반 방식으로는 테스트 패턴을 사용하여 해당 패턴으로 스캔 테스트를 진행하였을 때 발생하는 전력 소모가 가장 적게 스캔 순서를 변경하는 방법이다. 하지만 테스트 패턴 기반 방식은 정해진 패턴만 사용해야 되며 여러가지 패턴을 사용 하는 경우에는 효과가 없다는 측면에서 한계가 존재한다. In the case of the prior art, a scan chain stitching method for a low-power test can be largely divided into a test pattern-based method and a method of analyzing a logic topology. In the test pattern-based method, the scan order is changed with the least amount of power consumed when a scan test is performed using a test pattern with the corresponding pattern. However, the test pattern-based method has limitations in that only a set pattern must be used, and there is no effect when various patterns are used.

본 기술로 해결하고자 하는 과제 중 하나는 상기한 종래 기술의 난점을 해소하기 위한 것이다. 즉, 저전력 칩을 테스트할 수 있도록 스캔 체인을 배열하는 방법과 장치를 제공하는 것이 본 기술로 해결하고자 하는 과제 중 하나이다. One of the problems to be solved by the present technology is to solve the above-described difficulties of the prior art. In other words, it is one of the challenges to be solved by the present technology to provide a method and apparatus for arranging scan chains so that a low-power chip can be tested.

본 실시예에 의한 스캔 체인 형성 방법은 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계와, 스캔 추정값으로 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계와, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및 파티션된 스캔 체인 내의 각 스캔 셀들을 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 포함한다. The scan chain forming method according to the present embodiment comprises the steps of calculating a scan estimate value from 0 controllability and 1 control degree of each scan cell forming a scan chain; Partitioning into a scan chain, calculating a scan influence for each scan cell in each partitioned scan chain, and arranging each scan cell in the partitioned scan chain in the order of scan influence to form a scan chain including the steps of

본 실시예의 일 측면에 의하면 스캔 체인 형성 방법은, 스캔 영향도를 연산하는 단계 이후, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함한다.According to an aspect of the present embodiment, the scan chain forming method further includes, after calculating the scan influence, calculating a correlation for each scan cell in each partitioned scan chain.

본 실시예의 일 측면에 의하면 상호 연관도를 연산하는 단계는, 각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나, 각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행된다.According to an aspect of the present embodiment, the calculating of the degree of correlation is performed between all scan cells in each scan chain or between adjacent scan cells in each scan chain.

본 실시예의 일 측면에 의하면 스캔 추정값을 연산하는 단계는, 각 스캔 셀의 0 제어도와 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행된다.According to an aspect of the present embodiment, the calculating of the scan estimate value is performed by calculating a ratio of a zero control degree of each scan cell and a sum of a zero control degree and one control degree of each scan cell.

본 실시예의 일 측면에 의하면 스캔 추정값을 연산하는 단계는, 수학식

Figure 112020121149767-pat00001
을 연산하여 수행한다.According to an aspect of the present embodiment, the step of calculating the scan estimate may include:
Figure 112020121149767-pat00001
is performed by calculating

(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)(SEn: scan estimate of target scan cell, C0n: 0 control diagram of target scan cell, C1n: 1 control diagram of target scan cell)

본 실시예의 일 측면에 의하면 파티셔닝 하는 단계는, 스캔 체인을 이루는 모든 스캔 셀들을 스캔 추정값의 크기에 따라 배치하여 수행한다.According to an aspect of the present embodiment, the partitioning is performed by arranging all scan cells constituting the scan chain according to the size of the scan estimate.

본 실시예의 일 측면에 의하면 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는, 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행한다.According to an aspect of the present embodiment, the step of arranging and performing the scan according to the size of the estimated value is performed by arranging in either an ascending order or a descending order according to the size of the estimated value.

본 실시예의 일 측면에 의하면, 스캔 영향도를 연산하는 단계는, 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행한다.According to an aspect of the present embodiment, the calculating of the scan influence is performed by adding the 0 control degree and 1 control degree of all gates affected by the output of the scan cell.

본 실시예의 일 측면에 의하면스캔 영향도순으로 배치하는 단계는, 스캔 입력에서 스캔 출력 까지 스캔 영향도 값의 순서대로 스캔 셀을 배치하여 수행한다.According to an aspect of this embodiment, the step of arranging in the order of scan influence is performed by arranging scan cells in the order of scan influence values from scan input to scan output.

본 실시예에 의한 스캔 체인 형성 장치는 칩과 연결된 스캔 셀을 배치하여 스캔 체인을 형성하는 장치로, 적어도 하나 이상의 프로세서; 및 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서들에서, 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계와, 스캔 추정값으로 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계와 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및 파티션된 스캔 체인 내의 각 스캔 셀들을 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 수행한다.A scan chain forming apparatus according to this embodiment is an apparatus for forming a scan chain by arranging scan cells connected to a chip, comprising: at least one processor; and a memory for storing one or more programs executed by the processor, wherein the programs, when executed by the one or more processors, form, in the one or more processors, a zero control diagram of each scan cell forming a scan chain ( computing a scan estimate from controllability and one control diagram, partitioning scan cells into a plurality of scan chains with the scan estimate, and calculating a scan influence for each scan cell in each partitioned scan chain and arranging each scan cell in the partitioned scan chain in the order of scan influence to form a scan chain.

본 실시예의 일 측면에 의하면 스캔 체인 형성 방법은, 스캔 영향도를 연산하는 단계 이후, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함한다.According to an aspect of the present embodiment, the scan chain forming method further includes, after calculating the scan influence, calculating a correlation for each scan cell in each partitioned scan chain.

본 실시예의 일 측면에 의하면, 상호 연관도를 연산하는 단계는, 각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나, 각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행된다.According to an aspect of this embodiment, the calculating of the degree of correlation is performed between all scan cells in each scan chain or between adjacent scan cells in each scan chain.

본 실시예의 일 측면에 의하면, 스캔 추정값을 연산하는 단계는, 각 스캔 셀의 0 제어도와 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행한다.According to an aspect of the present embodiment, the calculating of the scan estimate value is performed by calculating a ratio of 0 control degree of each scan cell and a sum of 0 control degree and 1 control degree of each scan cell.

본 실시예의 일 측면에 의하면, 스캔 추정값을 연산하는 단계는, 수학식

Figure 112020121149767-pat00002
을 연산하여 수행한다.According to an aspect of the present embodiment, the step of calculating the scan estimate may include:
Figure 112020121149767-pat00002
is performed by calculating

(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)(SEn: scan estimate of target scan cell, C0n: 0 control diagram of target scan cell, C1n: 1 control diagram of target scan cell)

본 실시예의 일 측면에 의하면, 파티셔닝 하는 단계는, 스캔 체인을 이루는 모든 스캔 셀들을 스캔 추정값의 크기에 따라 배치하여 수행한다.According to an aspect of the present embodiment, the partitioning is performed by arranging all scan cells constituting the scan chain according to the size of the scan estimate value.

본 실시예의 일 측면에 의하면, 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는, 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행한다.According to one aspect of the present embodiment, the step of arranging and performing the scan according to the size of the estimated scan value is performed by arranging in either an ascending order or a descending order according to the size of the estimated value.

본 실시예의 일 측면에 의하면, 스캔 영향도를 연산하는 단계는, 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행한다.According to an aspect of the present embodiment, the calculating of the scan influence is performed by adding the 0 control degree and 1 control degree of all gates affected by the output of the scan cell.

본 실시예의 일 측면에 의하면, 스캔 영향도순으로 배치하는 단계는, 스캔 입력에서 스캔 출력 까지 스캔 영향도 값의 순서대로 스캔 셀을 배치하여 수행한다.According to an aspect of the present embodiment, the step of arranging in the order of scan influence is performed by arranging scan cells in the order of scan influence values from scan input to scan output.

본 실시예에 의하면 스캔 셀에 입력되는 신호 및 스캔 셀에서 출력되는 신호의 레벨 변화의 회수를 감소시켜 테스트시 소모되는 전력을 감소시킬 수 있다는 장점이 제공된다. According to the present embodiment, there is provided an advantage that power consumption during testing can be reduced by reducing the number of level changes of a signal input to a scan cell and a signal output from the scan cell.

도 1은 본 실시예에 의한 스캔 체인 형성 방법의 개요를 나타내는 순서도이다.
도 2는 본 실시예에 의한 스캔 체인 형성 장치의 개요를 도시한 블록도이다.
도 3(A)는 각각 복수의 스캔 셀(SC)들을 포함하는 스캔 체인들(scan chain 0, scan chain 1, scan chain n)을 개요적으로 도시한 도면이고, 도 3(B)는 어느 하나의 스캔 체인에서 스캔 파티셔닝을 수행하는 과정을 도시한 도면이다.
도 4는 스캔 영향도(SI)를 연산하는 과정을 개요적으로 도시한 도면이다.
도 5(a)는 각 스캔 체인에 다섯 개의 스캔 셀들을 포함하는 경우에, 각 스캔 셀들과 스캔 셀들의 스캔 영향도(SI)를 회색 삼각형과 그 값으로으로 도시한 도면이고, 도 5(b)는 각 스캔 셀들을 배치하여 스캔 체인을 형성한 과정을 예시한 도면이다.
1 is a flowchart showing an outline of a scan chain forming method according to the present embodiment.
Fig. 2 is a block diagram showing the outline of the scan chain forming apparatus according to the present embodiment.
3(A) is a diagram schematically illustrating scan chains (scan chain 0, scan chain 1, scan chain n) each including a plurality of scan cells SC, and FIG. 3(B) is any one It is a diagram showing the process of performing scan partitioning in the scan chain of .
4 is a diagram schematically illustrating a process of calculating the scan influence SI.
FIG. 5( a ) is a diagram showing each scan cell and the scan influence (SI) of each scan cell with a gray triangle and its value, when each scan chain includes five scan cells, FIG. 5(b) ) is a diagram illustrating a process of forming a scan chain by arranging each scan cell.

도 1은 본 실시예에 의한 스캔 체인 형성 방법의 개요를 나타내는 순서도이다. 도 1을 참조하면, 본 실시예에 의한 스캔 체인 형성 방법은 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계(S100)와, 상기 스캔 추정값으로 상기 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계(S200)와, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계(S300) 및 파티션된 상기 스캔 체인 내의 각 스캔 셀들을 상기 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계(S400)를 포함한다. 1 is a flowchart showing an outline of a scan chain forming method according to the present embodiment. Referring to FIG. 1 , the scan chain formation method according to the present embodiment includes the steps of calculating a scan estimate value from 0 controllability and 1 control diagram of each scan cell forming the scan chain (S100); , partitioning the scan cells into a plurality of scan chains by the scan estimate value (S200), calculating a scan influence for each scan cell in each partitioned scan chain (S300) and partitioning and arranging each scan cell in the scan chain in the order of scan influence to form a scan chain (S400).

도 2는 본 실시예에 의한 스캔 체인 형성 장치의 개요를 도시한 블록도이다. 도 2를 참조하면, 본 실시예에 따른 스캔 체인 형성 장치(100)는 입력부(110), 출력부(120), 프로세서(130), 메모리(140) 및 데이터베이스(150)를 포함한다. 도 2의 스캔 체인 형성 장치(100)는 일 실시예에 따른 것으로서, 도 2에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 스캔 체인 형성 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 스캔 체인 형성 장치(100)는 스캔 셀을 재배치하는 컴퓨팅 장치로 구현될 수 있으며, 스캔 체인 형성 장치(100)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 장치로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.Fig. 2 is a block diagram showing the outline of the scan chain forming apparatus according to the present embodiment. Referring to FIG. 2 , the scan chain forming apparatus 100 according to the present embodiment includes an input unit 110 , an output unit 120 , a processor 130 , a memory 140 , and a database 150 . The scan chain forming apparatus 100 of FIG. 2 is according to an embodiment, and not all blocks shown in FIG. 2 are essential components, and in another embodiment, some blocks included in the scan chain forming apparatus 100 are added. , may be changed or deleted. On the other hand, the scan chain forming apparatus 100 may be implemented as a computing device for relocating scan cells, and each component included in the scan chain forming apparatus 100 may be implemented as a separate software device, or a software is combined. It may be implemented as a separate hardware device.

스캔 체인 형성 장치(100)는 스캔 추정값 연산(S100, 도 1 참조), 스캔 파티셔닝(S200, 도 1 참조), 스캔 영향도 연산(S300, 도 1 참조) 및 스캔 체인 형성(S400, 도 1 참조)의 단계 등을 수행한다. The scan chain forming apparatus 100 performs scan estimate calculation (S100, see FIG. 1), scan partitioning (S200, see FIG. 1), scan influence calculation (S300, see FIG. 1) and scan chain formation (S400, see FIG. 1) ) and the like.

입력부(110)는 스캔 체인 형성을 위한 신호 또는 데이터를 입력하거나 획득하는 수단을 의미한다. 입력부(110)는 프로세서(130)와 연동하여 다양한 형태의 신호 또는 데이터를 입력하거나, 외부 장치와 연동하여 직접 데이터를 획득하여 프로세서(130)로 전달할 수도 있다. 입력부(110)는 실패 로그정보(fail log), 다양한 조건정보 또는 제어신호 등을 입력하거나 입력 받기 위한 장치 또는 서버 일수 있으나 반드시 이에 한정되는 것은 아니다. The input unit 110 means a means for inputting or obtaining a signal or data for forming a scan chain. The input unit 110 may input various types of signals or data in association with the processor 130 , or may directly acquire data in association with an external device and transmit the data to the processor 130 . The input unit 110 may be a device or a server for inputting or receiving a failure log information, various condition information or control signals, but is not necessarily limited thereto.

출력부(120)는 프로세서(130)와 연동하여 스캔 추정값, 스캔 영향도 값, 상호 연관도 값, 스캔 실패 로그정보, 스캔 셀의 정보, 현재 배열된 스캔 셀 정보 등을 표시할 수 있다. 출력부(120)는 소정의 정보를 출력하기 위하여 스캔 체인 형성 장치(100)에 구비된 디스플레이(미도시), 스피커 등을 통해 다양한 정보를 표시하는 것이 바람직하나 반드시 이에 한정되는 것은 아니다. The output unit 120 may display a scan estimate value, scan influence value, correlation value, scan failure log information, scan cell information, currently arranged scan cell information, and the like in conjunction with the processor 130 . The output unit 120 preferably displays various information through a display (not shown) or a speaker provided in the scan chain forming apparatus 100 in order to output predetermined information, but is not necessarily limited thereto.

프로세서(130)는 메모리(140)에 포함된 적어도 하나의 명령어 또는 프로그램을 실행시키는 기능을 수행한다.The processor 130 performs a function of executing at least one instruction or program included in the memory 140 .

본 실시예에 따른 프로세서(130)는 입력부(110) 또는 데이터베이스(150)로부터 획득한 데이터를 기반으로 각 단계를 수행하기 위한 데이터를 연산하고, 스캔 셀을 배열하여 스캔 체인을 형성하는 동작을 수행한다. The processor 130 according to the present embodiment calculates data for performing each step based on data obtained from the input unit 110 or the database 150 and forms a scan chain by arranging scan cells. do.

메모리(140)는 프로세서(130)에 의해 실행 가능한 적어도 하나의 명령어 또는 프로그램을 포함한다. 메모리(140)는 관심 영역을 추출, 클래스 결정 등의 처리를 수행하기 위한 명령어 또는 프로그램을 포함할 수 있다. 메모리(140)는 각 단계에서 수행된 결과, 중간값 등의 연관된 값들을 저장할 수 있다.The memory 140 includes at least one instruction or program executable by the processor 130 . The memory 140 may include instructions or programs for performing processing such as extracting a region of interest and determining a class. The memory 140 may store related values such as a result and an intermediate value performed in each step.

데이터베이스(150)는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미하는 것으로, 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 뜻하는 것으로, 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 발명의 일 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가지고 있다.The database 150 refers to a general data structure implemented in the storage space (hard disk or memory) of a computer system using a database management program (DBMS), and performs data search (extraction), deletion, editing, addition, etc. Relational database management system (RDBMS) such as Oracle, Infomix, Sybase, DB2, Gemston, Orion ), an object-oriented database management system (OODBMS) such as O2, and an XML Native Database such as Excelon, Tamino, Sekaiju, etc. It can be implemented according to the requirements, and has appropriate fields or elements to achieve its function.

본 실시예에 따른 데이터베이스(150)는 학습용 실패 로그정보, 실패 로그정보, 조건 정보, 신경망 모델정보, 필터정보, 고장 진단 결과정보 등을 저장하고, 저장된 데이터를 제공할 수 있다. 한편, 데이터베이스(140)는 스캔 체인 형성 장치(100) 내에 구현되는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 별도의 데이터 저장장치로 구현될 수도 있다.The database 150 according to the present embodiment may store failure log information for learning, failure log information, condition information, neural network model information, filter information, failure diagnosis result information, and the like, and provide the stored data. Meanwhile, although the database 140 is described as being implemented in the scan chain forming apparatus 100, it is not necessarily limited thereto, and may be implemented as a separate data storage device.

도 1 및 도 2를 참조하면, 스캔 추정값을 연산(S100)한다. 테스트 대상인 로직 회로에 테스트 벡터가 입력되는 시프트 인(shift-in) 단계를 거쳐 로직 회로에서 출력되는 값을 획득하는 캡쳐(capture)값이 스캔 체인을 이루는 각 스캔 셀들에 입력된다. 스캔 추정값(scan estimation value, SE)은 각 스캔 셀들에 논리 0이 많이 입력되는지, 논리 1이 많이 입력되는지 확률적으로 연산되는 값이다. 따라서, 스캔 추정값에 따라 스캔 체인 내에 스캔 셀들이 배치됨에 따라 스캔 체인 내 인접한 스캔 셀들 사이에서 출력되는 신호의 L -> H 혹은 H -> L 로의 레벨 전환의 수가 감소하며, 이로부터 테스트시 전력 소모를 감소할 수 있다는 장점이 제공된다. 1 and 2 , a scan estimate value is calculated ( S100 ). A capture value that obtains a value output from the logic circuit through a shift-in step in which a test vector is input to a logic circuit to be tested is input to each scan cell constituting a scan chain. A scan estimation value (SE) is a value that is probabilistically calculated whether a lot of logic 0's or a lot of logic 1's are input to each scan cell. Accordingly, as scan cells are arranged in the scan chain according to the scan estimate, the number of level transitions from L -> H or H -> L of a signal output between adjacent scan cells in the scan chain is reduced, and from this, power consumption during testing is reduced. It has the advantage of being able to reduce

스캔 추정값은 각 스캔 셀의 0 제어도(controllability, C0) 및 1 제어도(C1)로부터 연산될 수 있다. 일 예로, C0는 회로의 입력(input)으로부터 대상 노드(node)에서 논리 0을 형성하기 어려운 정도를 수치화한 값이고, C1은 회로의 입력으로부터 대상 노드(node)에서 논리 1을 형성하기 어려운 정도를 수치화한 값이다. 따라서, 어떤 노드의 C0값이 크다는 의미는 그 노드에 논리 0 값이 형성되는 확률이 낮고, C1값이 크다는 의미는 그 노드에 논리 1 값이 형성되는 확률이 낮음을 의미한다. A scan estimate may be calculated from zero controllability (C0) and one controllability (C1) of each scan cell. For example, C0 is a value obtained by quantifying the degree of difficulty in forming a logic 0 at the target node from the input of the circuit, and C1 is the degree of difficulty in forming a logic 1 at the target node from the input of the circuit. is a numerical value of Therefore, a large C0 value of a node means that the probability that a logical 0 value is formed in the node is low, and a large C1 value means that the logical 1 value is formed in the node is low.

C0 및 C1은 입력에서 출력까지 순차적으로 계산될 수 있으며, 입력된 신호가 하나 이상의 게이트를 통과할 때마다 아래의 표와 같이 C0와 C1이 연산된다. C0 and C1 may be sequentially calculated from input to output, and whenever an input signal passes through one or more gates, C0 and C1 are calculated as shown in the table below.

Figure 112020121149767-pat00003
Figure 112020121149767-pat00003

표 1을 참조하면, 초기 조건으로 입력의 C0와 C1은 각각 1로 설정된다. 일 예로, 신호가 AND 게이트를 통과할 때, AND 게이트의 출력 노드에서 C0는 AND 게이트 입력 노드에서의 C0 값들 중 최소값에 1을 더하여 연산되고, C1은 AND 게이트 입력 노드에서의 C1 값들의 합에 1을 더하여 연산된다. Referring to Table 1, as initial conditions, C0 and C1 of the input are set to 1, respectively. For example, when a signal passes through an AND gate, C0 at the output node of the AND gate is calculated by adding 1 to the minimum value of C0 values at the AND gate input node, and C1 is the sum of C1 values at the AND gate input node. It is calculated by adding 1.

일 예로, 신호가 OR 게이트를 통과할 때, OR 게이트의 출력 노드에서 C0는 OR 게이트 입력 노드에서의 C0 값들의 합에 1을 더하여 연산되고, C1은 OR 게이트 입력 노드에서의 C1 값들 중 최소값에 1을 더하여 연산된다. For example, when a signal passes through an OR gate, C0 at the output node of the OR gate is calculated by adding 1 to the sum of C0 values at the input node of the OR gate, and C1 is the minimum value of C1 values at the OR gate input node. It is calculated by adding 1.

다른 예로, 신호가 XOR 게이트를 통과할 때, XOR 게이트의 출력 노드에서 C0는 XOR 게이트 입력 노드a 및 b에서의 C1(a)과 C1(b) 값들의 합과 C0(a)과 C0(b) 값들의 합 중에서 최소값에 1을 더하여 연산되고, C1은 XOR 게이트 입력 노드에서의 C1(a)과 C0(b) 값들의 합과 C0(a)과 C1(b) 값들의 합 중에서 최소값에 1을 더하여 연산된다. As another example, when a signal passes through an XOR gate, C0 at the output node of the XOR gate is the sum of the C1(a) and C1(b) values at the XOR gate input nodes a and b, and C0(a) and C0(b). ) is calculated by adding 1 to the minimum value among the sums of values, and C1 is 1 to the minimum value among the sum of C1(a) and C0(b) values and the sum of C0(a) and C1(b) values at the XOR gate input node. is calculated by adding

연산된 C0, C1을 이용하여 스캔 추정값(SE)을 연산한다. 스캔 추정값은 아래의 수학식과 같이 연산될 수 있다. A scan estimate value SE is calculated using the calculated C0 and C1. The scan estimate may be calculated as shown in the following equation.

[수학식] [Equation]

Figure 112020121149767-pat00004
Figure 112020121149767-pat00004

(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)(SE n : scan estimate of target scan cell, C0 n : 0 control degree of target scan cell, C1 n : 1 control degree of target scan cell)

상기한 수학식에서, 대상 스캔 셀의 스캔 추정값(SE)는 스캔 셀의 입력 노드에 논리 0가 얼마나 형성되기 힘든 정도를 연산하는 것으로 기재되어 있으나, 이는 일 실시예일 따름이며, 수학식 1에서 C1n(대상 스캔 셀의 1 제어도)가 분자로 위치할 수 있으며, 이 때의 대상 스캔 셀의 스캔 추정값(SE)은 스캔 셀의 입력 노드에 논리 1이 얼마나 형성되기 힘든 정도를 나타내는 것일 수 있다. 이와 같이 연산된 스캔 추정값(SE)는 스캔 체인에 포함되는 모든 스캔 셀들에 대하여 연산된다. In the above equation, the scan estimate value SE of the target scan cell is described as calculating how difficult it is to form a logical 0 at the input node of the scan cell, but this is only an example, and in Equation 1, C1n ( 1 degree of control of the target scan cell) may be located as a numerator, and the scan estimation value SE of the target scan cell at this time may indicate how difficult it is to form a logic 1 at the input node of the scan cell. The calculated scan estimate value SE is calculated for all scan cells included in the scan chain.

도 3은 복수의 스캔 셀들에 대하여 스캔 파티셔닝을 수행하는 단계(S200)를 설명하기 위한 개요도이다. 도 3(A)는 각각 복수의 스캔 셀(SC)들을 포함하는 스캔 체인들(scan chain 0, scan chain 1, scan chain n)을 개요적으로 도시한 도면이다. 도 3(A)를 참조하면, 각 스캔 체인에는 테스트 입력이 제공되고, 테스트 입력을 테스트 대상 로직 회로(미도시)에 출력하고, 테스트 입력이 제공된 로직 회로가 출력한 값을 제공받는 복수의 스캔 셀(SC)들을 포함한다. 3 is a schematic diagram for explaining a step S200 of performing scan partitioning on a plurality of scan cells. 3A is a diagram schematically illustrating scan chains (scan chain 0, scan chain 1, and scan chain n) each including a plurality of scan cells SC. Referring to FIG. 3A , each scan chain is provided with a test input, outputs the test input to a logic circuit under test (not shown), and receives a value output from the logic circuit provided with the test input. A plurality of scans are provided. cells (SC).

일 실시예로, 스캔 셀(SC)들은 멀티플렉서(multiplexer)가 형성된 D 플립플롭일 수 있다. 스캔 셀(SC)들은 스캔 입력(scan input, SI)과 스캔 출력(scan output, SO) 사이에서 서로 캐스케이드 연결되어 테스트 대상 입력이 연결되고, 로직 회로의 테스트시에 각 스캔 셀들은 멀티플렉서를 통하여 로직 회로에 각각 테스트 입력을 제공할 수 있다. 칩(chip)에 형성되는 스캔 체인의 개수 및 각 스캔 체인에 포함된 스캔 셀들의 개수는 회로의 설계 과정에서 정해진다. In an embodiment, the scan cells SC may be D flip-flops in which a multiplexer is formed. The scan cells SC are cascaded between a scan input (SI) and a scan output (SO) to connect an input to be tested, and each scan cell is a logic circuit through a multiplexer during testing of the logic circuit. Each circuit can provide a test input. The number of scan chains formed in a chip and the number of scan cells included in each scan chain are determined in a circuit design process.

도 3(B)는 어느 하나의 스캔 체인에서 스캔 파티셔닝을 수행하는 과정을 도시한 도면이다. 도 3(B)를 참조하면, 연산된 스캔 추정값(SE)들에 따라 복수의 스캔 셀들을 스캔 체인에 배치한다. 도 3(B)로 도시된 실시예에서, 스캔 셀들의 스캔 추정값이 클수록 스캔 입력(SI)쪽에 배치하고, 스캔 추정값이 작을수록 스캔 출력(SO)쪽에 배치한다. 하나의 스캔 체인(scan chain)에 스캔 셀의 배치가 완료되면 다음 스캔 추정값이 큰 스캔 셀을 스캔 체인의 스캔 입력(SI)에 인접하도록 배치한다. 도시되지 않은 실시예에 의하면, 연산된 스캔 추정값(SE)들에 따라 복수의 스캔 셀들을 스캔 체인에 배치하되, 스캔 추정값(SE)이 작은 값일수록 스캔 체인의 스캔 출력(SO)쪽에 배치하고, 스캔 추정값(SE) 클수록 스캔 입력쪽으로 배치할 수 있다. 3B is a diagram illustrating a process of performing scan partitioning in any one scan chain. Referring to FIG. 3B , a plurality of scan cells are arranged in a scan chain according to the calculated scan estimate values SE. In the embodiment shown in Fig. 3(B), the larger the scan estimate value of the scan cells, the more they are arranged on the scan input (SI) side, and the smaller the scan estimate value is, the more they are arranged on the scan output (SO) side. When the arrangement of scan cells in one scan chain is completed, scan cells having a larger next scan estimate are arranged adjacent to the scan input SI of the scan chain. According to the not-shown embodiment, a plurality of scan cells are arranged in the scan chain according to the calculated scan estimate values SE, and the smaller the scan estimate value SE is, the smaller it is arranged on the scan output SO side of the scan chain, The larger the scan estimate value SE, the more it can be arranged toward the scan input.

스캔 영향도(scan influence, SI)를 연산한다(S300). 도 4는 스캔 영향도(SI)를 연산하는 과정을 개요적으로 도시한 도면이다. 스캔 영향도(SI)는 각 스캔 셀의 출력이 테스트 대상 로직에 포함된 요소들에 제공되어 영향을 미치는지를 수치화한 값이다. 스캔 영향도(SI)는 스캔 셀에서 출력된 신호가 영향을 미치는 모든 게이트를 대상으로 연산되며, 최종 출력 또는 스캔 셀의 입력까지 연산된다. 또한, 스캔 영향도(SI)는 모든 스캔 체인에 포함된 모든 스캔 셀들에 대하여 연산된다. 스캔 영향도(SI)는 스캔 셀이 출력한 신호가 영향을 미치는 모든 게이트의 0 제어도(C0)와 1 제어도(C1)의 합들을 합산하여 연산한다. A scan influence (SI) is calculated (S300). 4 is a diagram schematically illustrating a process of calculating the scan influence SI. The scan influence (SI) is a numerical value of whether the output of each scan cell is provided to and affects elements included in the logic under test. The scan influence SI is calculated for all gates affected by the signal output from the scan cell, and is calculated up to the final output or input of the scan cell. In addition, the scan influence SI is calculated for all scan cells included in all scan chains. The scan influence SI is calculated by summing the sums of the 0 control degree (C0) and 1 control degree (C1) of all gates affected by the signal output from the scan cell.

도 4로 도시된 예에서, 스캔 셀a(SCa)에서 출력된 신호는 AND 게이트와 OR 게이트로 전파되며, AND 게이트에서 출력된 신호는 NAND 게이트를 거쳐 스캔 셀b(SCb)에 제공된다. 또한, OR 게이트에서 출력된 신호는 AND 게이트와 인버터로 전파되며, AND 게이트의 출력은 스캔 셀c(SCc)에 제공되고, 인버터의 출력은 스캔 셀d(SCd)에 입력된다. In the example shown in Fig. 4, the signal output from the scan cell a (SCa) propagates to the AND gate and the OR gate, and the signal output from the AND gate is provided to the scan cell b (SCb) through the NAND gate. Further, the signal output from the OR gate propagates to the AND gate and the inverter, the output of the AND gate is provided to the scan cell c (SCc), and the output of the inverter is input to the scan cell d (SCd).

스캔 셀a(SCa)의 스캔 영향도(SI)를 연산하는 예를 보면, 스캔 셀a(SCa)의 출력 신호는 AND 게이트와 OR 게이트로 전달된다. AND 게이트의 0 제어도(C0)와 1 제어도(C1)은 각각 5와 1이므로, 이들의 합은 6이다. 또한, OR 게이트의 0 제어도(C0)와 1 제어도(C1)은 각각 1과 2로 그 합은 3이다. 스캔 셀a(SCa)의 출력 신호가 미치는 모든 게이트들에서의 0 제어도(C0)와 1 제어도(C1)을 도합하면 6 + 3 + 9 + 5 + 3 = 26이다. 따라서, 스캔 셀a(SCa)의 스캔 영향도(SI)는 26으로 연산된다. In an example of calculating the scan influence SI of the scan cell a (SCa), the output signal of the scan cell a (SCa) is transmitted to the AND gate and the OR gate. The 0 control diagram (C0) and 1 control diagram (C1) of the AND gate are 5 and 1, respectively, so their sum is 6. In addition, 0 control degree (C0) and 1 control degree (C1) of the OR gate are 1 and 2, respectively, and their sum is 3. 6 + 3 + 9 + 5 + 3 = 26 if the 0 control diagram (C0) and 1 control diagram (C1) in all gates applied by the output signal of the scan cell a (SCa) are added together. Accordingly, the scan influence SI of the scan cell a (SCa) is calculated as 26.

이어서, 스캔 영향도(SI)에 따라 스캔 셀들을 배치하여 스캔 체인을 형성한다(S400). 도 5(a)는 각 스캔 체인에 다섯 개의 스캔 셀들을 포함하는 경우에, 각 스캔 셀들과 스캔 셀들의 스캔 영향도(SI)를 회색 삼각형과 그 값으로으로 도시한 도면이고, 도 5(b)는 각 스캔 셀들을 배치하여 스캔 체인을 형성한 과정을 예시한 도면이다. 도 5(a)를 참조하면, 스캔 체인 0(scan chain 0)에 포함된 각 스캔 셀들(SC5, SC2, SC4, SC3, SC1)은 스캔 추정값(SE)에 따라 배치된 상태이며, 각 스캔 셀별 스캔 영향도 값을 회색의 삼각형내에 표시하였다. Then, scan cells are arranged according to the scan influence SI to form a scan chain (S400). FIG. 5(a) is a diagram showing each scan cell and the scan influence (SI) of each scan cell with a gray triangle and its value, in the case where each scan chain includes five scan cells, FIG. 5(b) ) is a diagram illustrating a process of forming a scan chain by arranging each scan cell. Referring to FIG. 5( a ), each scan cell SC5 , SC2 , SC4 , SC3 , SC1 included in scan chain 0 is arranged according to a scan estimate value SE, and for each scan cell Scan influence values are indicated in gray triangles.

도 5(B)로 예시된 것과 같이 스캔 영향도(SI)에 따라 스캔 체인에 포함된 스캔 셀(SC)들을 배치한다. 일 실시예로, 스캔 영향도(SI)가 클수록 스캔 체인에서 스캔 입력(SI)쪽으로 배치하고, 스캔 영향도(SI)가 작을수록 스캔 체인에서 스캔 출력(SO)쪽으로 배치한다. 일 실시예로, 스캔 영향도(SI)에 따라 스캔 체인에 포함된 스캔 셀(SC)들을 배치하는 과정은 동일한 스캔 체인 내에 위치한 스캔 셀들에 대하여 수행될 수 있으며, 복수의 스캔 체인 별로 각각 수행될 수 있다.As illustrated in FIG. 5B , scan cells SC included in the scan chain are arranged according to the scan influence SI. In an embodiment, the larger the scan influence SI, the greater the scan input SI, and the smaller the scan influence SI, the smaller the scan chain. As an embodiment, the process of disposing the scan cells SC included in the scan chain according to the scan influence SI may be performed for scan cells located in the same scan chain, and may be performed for each scan chain. can

스캔 영향도(SI)는 상술한 바와 같이 각 스캔 셀의 출력이 테스트 대상 로직에 포함된 요소들에 제공되어 어느 정도의 영향을 미치는지를 수치화한 값이며, 테스트 대상 로직에 미치는 영향이 큰 스캔 셀을 스캔 체인의 입력쪽으로 배치함으로써 스캔 체인에 테스트 값을 입력할 때(shift-in) 입력되는 신호에서의 레벨 전환 회수를 감소시킬 수 있고, 이로부터 테스트 시 소모되는 전력을 감소시킬 수 있다는 장점이 제공된다. As described above, the scan influence (SI) is a numerical value of the extent to which the output of each scan cell is provided to the elements included in the logic under test and has a large influence on the logic under test. The advantage of being able to reduce the number of level shifts in the input signal when shift-in the test value to the scan chain by placing provided

일 실시예로, 스캔 영향도(SI)에 따라 스캔 셀들을 배치하여 스캔 셀을 형성하는 단계 이전에, 스캔 체인에 포함된 스캔 셀들에 대하여 상호 연관도(correlation)를 연산하고, 유사한 상호 연관도 값을 가지는 스캔 셀들을 그룹으로 묶어서 배치할 수 있다. In an embodiment, before the step of arranging scan cells according to the scan influence SI to form a scan cell, a correlation is calculated for scan cells included in a scan chain, and a similar degree of correlation is calculated. Scan cells having values can be grouped and arranged.

스캔 체인에 포함된 스캔 셀들에 대하여 상호 연관도(correlation)를 연산하는 단계는 도 3(B)와 같이 스캔 추정값(SE)에 따라 스캔 셀들이 배치된 상태에서 수행된다. 일 실시예로, 상호 연관도(correlation)는 동일한 스캔 체인 내의 모든 스캔 셀과의 관계에서 연산될 수 있으며, 다른 실시예로, 동일한 스캔 체인 내에서 인접한 스캔 셀 사이에서 연산될 수 있다. The operation of calculating a correlation with respect to the scan cells included in the scan chain is performed in a state in which the scan cells are arranged according to the scan estimate value SE, as shown in FIG. 3B . In one embodiment, correlation may be calculated in relation to all scan cells in the same scan chain, and in another embodiment, correlation may be calculated between adjacent scan cells in the same scan chain.

i번째 스캔 셀과 i+1 번째 스캔 셀 사이의 상호 연관도(scan correlation, SC)는 아래의 수학식에 따라 연산될 수 있다. A scan correlation (SC) between the i-th scan cell and the i+1-th scan cell may be calculated according to the following equation.

[수학식] [Equation]

Figure 112020121149767-pat00005
Figure 112020121149767-pat00005

C1i: i 번째 스캔 셀의 1 제어도, C0i: i 번째 스캔 셀의 0 제어도, C0i+1: i+1 번째 스캔 셀의 0 제어도, C1i+1: i 번째 스캔 셀의 1 제어도, μX0: 모든 스캔셀의 X0 평균, μX1: 모든 스캔 셀의 X1 평균, σX0: 모든 스캔 셀의 X0 값의 표준 편차, σX1: 모든 스캔 셀의 X0 값의 표준 편차)C1 i : 1 control diagram of the i-th scan cell, C0 i : 0 control diagram of the i-th scan cell, C0 i+1 : 0 control diagram of the i+1-th scan cell, C1 i+1 : 0 control diagram of the i-th scan cell 1 control diagram, μX 0 : X0 mean of all scanned cells, μX1: X1 mean of all scanned cells, σX 0 : standard deviation of X0 values of all scanned cells, σX 1 : standard deviation of X0 values of all scanned cells)

상기한 수학식과 상기한 표 1의 XOR 연산에서의 제어도를 연산하는 식을 대비하면, X0i와 X1i는 C1i, C0i, C0i+1, C1i+1의 XOR 게이트에 대한 제어도를 연산하는 것으로 대비될 수 있다. 즉, 상호 연관도를 연산하는 i 번째 스캔 셀과 i+1 번째 스캔 셀에 서로 다른 입력이 제공되면 XOR 연산의 값은 1이며, 동일한 입력이 제공되면 XOR 연산의 값은 0이다. 따라서, 상호 연관도 연산 대상의 스캔 셀 사이에서 1과 가까운 값이 출력되면 입력 신호가 서로 상이하므로 이들을 분리하는 것이 필요하며, 0과 가까운 값이 출력되면 입력 신호가 서로 유사하므로 이들을 가까이 배치하는 것이 필요하다. Comparing the above equation with the equation for calculating the control degree in the XOR operation of Table 1, X0 i and X1 i are C1 i , C0 i , C0 i+1 , C1 i+1 XOR gate control It can be compared to calculating a degree. That is, when different inputs are provided to the i-th scan cell and the i+1-th scan cell for calculating the degree of correlation, the value of the XOR operation is 1, and when the same input is provided, the value of the XOR operation is 0. Therefore, when a value close to 1 is output between the scan cells of the correlation calculation target, it is necessary to separate them because the input signals are different from each other. need.

따라서, 상기한 수학식과 같이 연산된 상호 연관도(SC) 값으로부터 각 스캔 셀에 제공되는 입력이 얼마나 유사한지 알 수 있다. 따라서, 동일한 스캔 체인 내에서 상호 연관도(SC)값이 유사한 스캔 셀끼리 그룹으로 할당하면 그룹내의 스캔 셀들에 유사한 입력이 제공되며, 그에 따라 출력되는 신호의 레벨 변화를 감소시켜 테스트 시의 전력 소모를 줄일 수 있으며, 특히 시프트 아웃(shift-out) 시의 신호의 레벨 변화를 감소시킬 수 있어 전력 소모를 감소시킬 수 있다는 장점이 제공된다. Accordingly, it can be known how similar the inputs provided to each scan cell are from the SC value calculated as in the above equation. Therefore, if scan cells having similar SC values are assigned to a group in the same scan chain, a similar input is provided to the scan cells in the group, and accordingly, the level change of the output signal is reduced and power consumption during testing. , and in particular, it is possible to reduce a level change of a signal during shift-out, so that power consumption can be reduced.

본 발명에 대한 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 실시를 위한 실시예로, 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.Although it has been described with reference to the embodiment shown in the drawings in order to help the understanding of the present invention, this is an embodiment for implementation, merely exemplary, and those of ordinary skill in the art will find various modifications and equivalents therefrom It will be appreciated that other embodiments are possible. Accordingly, the true technical protection scope of the present invention should be defined by the appended claims.

S100~S400: 본 실시예에 의한 스캔 체인 형성 방법의 예시적 각 단계
100: 본 실시예에 의한 스캔 체인 형성 장치
110: 입력부 120: 출력부
130: 데이터베이스 140: 메모리
150: 프로세서
S100 to S400: Exemplary respective steps of the scan chain forming method according to the present embodiment
100: Scan chain forming apparatus according to the present embodiment
110: input unit 120: output unit
130: database 140: memory
150: processor

Claims (18)

스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계;
상기 스캔 추정값으로 상기 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계;
파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및
파티션된 상기 스캔 체인 내의 각 스캔 셀들을 상기 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 포함하는 스캔 체인 형성 방법.
calculating a scan estimate from 0 controllability and 1 control degree of each scan cell forming a scan chain;
partitioning the scan cells into a plurality of scan chains with the scan estimate;
calculating a scan influence for each scan cell in each partitioned scan chain; and
and forming a scan chain by arranging each scan cell in the partitioned scan chain in the order of scan influence.
제1항에 있어서,
상기 스캔 체인 형성 방법은,
상기 스캔 영향도를 연산하는 단계 이후,
상기 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함하는 스캔 체인 형성 방법.
According to claim 1,
The scan chain forming method comprises:
After calculating the scan influence,
and calculating a correlation for each scan cell in each of the partitioned scan chains.
제2항에 있어서,
상기 상호 연관도를 연산하는 단계는,
각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나,
각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행되는 스캔 체인 형성 방법.
3. The method of claim 2,
Calculating the degree of correlation includes:
performed between all scan cells in each scan chain, or
A method of forming a scan chain performed between adjacent scan cells within each scan chain.
제1항에 있어서,
상기 스캔 추정값을 연산하는 단계는,
상기 각 스캔 셀의 0 제어도와 상기 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행하는 스캔 체인 형성 방법.
According to claim 1,
Calculating the scan estimate includes:
A method of forming a scan chain by calculating a ratio of 0 control diagram of each scan cell and a sum of 0 control diagram and 1 control diagram of each scan cell.
제1항에 있어서,
상기 스캔 추정값을 연산하는 단계는,
수학식
Figure 112020121149767-pat00006
을 연산하여 수행하는 스캔 체인 형성 방법.
(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)
According to claim 1,
Calculating the scan estimate includes:
formula
Figure 112020121149767-pat00006
A method of forming a scan chain that is performed by calculating
(SE n : scan estimate of target scan cell, C0 n : 0 control degree of target scan cell, C1 n : 1 control degree of target scan cell)
제1항에 있어서,
상기 파티셔닝 하는 단계는,
상기 스캔 체인을 이루는 모든 상기 스캔 셀들을 상기 스캔 추정값의 크기에 따라 배치하여 수행하는 스캔 체인 형성 방법.
According to claim 1,
The partitioning step is
and arranging all the scan cells constituting the scan chain according to the size of the scan estimate.
제6항에 있어서,
상기 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는,
상기 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행하는 스캔 체인 형성 방법.
7. The method of claim 6,
The step of arranging and performing according to the size of the scan estimate is,
A method of forming a scan chain by arranging one of an ascending order and a descending order according to the size of the estimated value.
제1항에 있어서,
상기 스캔 영향도를 연산하는 단계는,
상기 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행하는 스캔 체인 형성 방법.
According to claim 1,
The step of calculating the scan influence is,
A method of forming a scan chain by summing 0 control degrees and 1 control degrees of all gates affected by the output of the scan cell.
제1항에 있어서,
상기 스캔 영향도순으로 배치하는 단계는,
상기 스캔 입력에서 상기 스캔 출력 까지 상기 스캔 영향도 값의 순서대로 상기 스캔 셀을 배치하여 수행하는 스캔 체인 형성 방법.
According to claim 1,
The step of arranging in the order of the scan influence is,
A method of forming a scan chain by arranging the scan cells in the order of the scan influence values from the scan input to the scan output.
칩과 연결된 스캔 셀을 배치하여 스캔 체인을 형성하는 장치로, 상기 장치는:
적어도 하나 이상의 프로세서; 및
상기 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 상기 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서들에서,
스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계;
상기 스캔 추정값으로 상기 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계;
파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및
파티션된 상기 스캔 체인 내의 각 스캔 셀들을 상기 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 수행하는 스캔 체인 형성 장치.
A device for arranging scan cells coupled with a chip to form a scan chain, the device comprising:
at least one processor; and
a memory storing one or more programs executed by the processor, wherein the programs, when executed by the one or more processors, in the one or more processors;
calculating a scan estimate from 0 controllability and 1 control degree of each scan cell forming a scan chain;
partitioning the scan cells into a plurality of scan chains with the scan estimate;
calculating a scan influence for each scan cell in each partitioned scan chain; and
and forming a scan chain by arranging each scan cell in the partitioned scan chain in the order of scan influence.
제10항에 있어서,
상기 스캔 체인 형성 방법은,
상기 스캔 영향도를 연산하는 단계 이후,
상기 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함하는 스캔 체인 형성 장치.
11. The method of claim 10,
The scan chain forming method comprises:
After calculating the scan influence,
The scan chain forming apparatus further comprising the step of calculating a correlation for each scan cell in each of the partitioned scan chains.
제11항에 있어서,
상기 상호 연관도를 연산하는 단계는,
각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나,
각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행되는 스캔 체인 형성 장치.
12. The method of claim 11,
Calculating the degree of correlation includes:
performed between all scan cells in each scan chain, or
A scan chain forming apparatus performed between adjacent scan cells in each scan chain.
제10항에 있어서,
상기 스캔 추정값을 연산하는 단계는,
상기 각 스캔 셀의 0 제어도와 상기 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행하는 스캔 체인 형성 장치.
11. The method of claim 10,
Calculating the scan estimate includes:
A scan chain forming apparatus performing operation by calculating a ratio of 0 control diagram of each scan cell and a sum of 0 control diagram and 1 control diagram of each scan cell.
제10항에 있어서,
상기 스캔 추정값을 연산하는 단계는,
수학식
Figure 112020121149767-pat00007
을 연산하여 수행하는 스캔 체인 형성 장치.
(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)
11. The method of claim 10,
Calculating the scan estimate includes:
formula
Figure 112020121149767-pat00007
A scan chain forming device that calculates
(SE n : scan estimate of target scan cell, C0 n : 0 control degree of target scan cell, C1 n : 1 control degree of target scan cell)
제10항에 있어서,
상기 파티셔닝 하는 단계는,
상기 스캔 체인을 이루는 모든 상기 스캔 셀들을 상기 스캔 추정값의 크기에 따라 배치하여 수행하는 스캔 체인 형성 장치.
11. The method of claim 10,
The partitioning step is
and arranging all the scan cells constituting the scan chain according to the size of the scan estimate.
제15항에 있어서,
상기 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는,
상기 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행하는 스캔 체인 형성 장치.
16. The method of claim 15,
The step of arranging and performing according to the size of the scan estimate is,
A scan chain forming apparatus for arranging one of an ascending order and a descending order according to the size of the estimated value.
제10항에 있어서,
상기 스캔 영향도를 연산하는 단계는,
상기 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행하는 스캔 체인 형성 장치.
11. The method of claim 10,
The step of calculating the scan influence is,
A scan chain forming apparatus performing a combination of 0 control degree and 1 control degree of all gates affected by the output of the scan cell.
제10항에 있어서,
상기 스캔 영향도순으로 배치하는 단계는,
상기 스캔 입력에서 상기 스캔 출력 까지 상기 스캔 영향도 값의 순서대로 상기 스캔 셀을 배치하여 수행하는 스캔 체인 형성 장치.
11. The method of claim 10,
The step of arranging in the order of the scan influence is,
A scan chain forming apparatus for arranging the scan cells in the order of the scan influence values from the scan input to the scan output.
KR1020200150874A 2020-11-12 2020-11-12 Scan chain ordering method and scan chain ordering apparatus KR102382520B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200150874A KR102382520B1 (en) 2020-11-12 2020-11-12 Scan chain ordering method and scan chain ordering apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200150874A KR102382520B1 (en) 2020-11-12 2020-11-12 Scan chain ordering method and scan chain ordering apparatus

Publications (1)

Publication Number Publication Date
KR102382520B1 true KR102382520B1 (en) 2022-04-01

Family

ID=81183546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200150874A KR102382520B1 (en) 2020-11-12 2020-11-12 Scan chain ordering method and scan chain ordering apparatus

Country Status (1)

Country Link
KR (1) KR102382520B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085549A (en) * 2001-09-14 2003-03-20 Sony Corp Memory device and image processing device using the same
US20060236182A1 (en) * 2005-03-04 2006-10-19 Tsinghua University Scan-based self-test structure and method using weighted scan-enable signals
US20110099400A1 (en) * 2009-10-23 2011-04-28 Atrenta, Inc. Method and system thereof for optimization of power consumption of scan chains of an integrated circuit for test
JP2012159371A (en) * 2011-01-31 2012-08-23 Renesas Electronics Corp Scan chain circuit, scan chain construction method, and test device
KR101681862B1 (en) * 2016-02-01 2016-12-02 연세대학교 산학협력단 Method and apparatus for scan cell partition-based x-filling and scan cell reordering method for low power scan test
KR101837899B1 (en) * 2017-04-18 2018-03-13 연세대학교 산학협력단 Apparatus and method for diagnosing failure of scan chain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085549A (en) * 2001-09-14 2003-03-20 Sony Corp Memory device and image processing device using the same
US20060236182A1 (en) * 2005-03-04 2006-10-19 Tsinghua University Scan-based self-test structure and method using weighted scan-enable signals
US20110099400A1 (en) * 2009-10-23 2011-04-28 Atrenta, Inc. Method and system thereof for optimization of power consumption of scan chains of an integrated circuit for test
JP2012159371A (en) * 2011-01-31 2012-08-23 Renesas Electronics Corp Scan chain circuit, scan chain construction method, and test device
KR101681862B1 (en) * 2016-02-01 2016-12-02 연세대학교 산학협력단 Method and apparatus for scan cell partition-based x-filling and scan cell reordering method for low power scan test
KR101837899B1 (en) * 2017-04-18 2018-03-13 연세대학교 산학협력단 Apparatus and method for diagnosing failure of scan chain

Similar Documents

Publication Publication Date Title
Drechsler et al. On acceleration of SAT-based ATPG for industrial designs
Gorev et al. Fault simulation with parallel exact critical path tracing in multiple core environment
KR102412816B1 (en) Scan cell reordering method and scan cell reordering apparatus
KR102382520B1 (en) Scan chain ordering method and scan chain ordering apparatus
Iyer et al. Sequentially untestable faults identified without search (" simple implications beat exhaustive search!")
JP4445517B2 (en) Circuit design verification method and program for circuit design verification
Gavarini et al. Sci-fi: a smart, accurate and unintrusive fault-injector for deep neural networks
Bai et al. HyAC: A Hybrid Structural SAT Based ATPG for Crosstalk.
Zheng et al. An efficient diagnostic test pattern generation framework using boolean satisfiability
Wang et al. An incremental automatic test pattern generation method for multiple stuck-at faults
KR102450484B1 (en) Fault detection method, fault detection apparatus and weight application circuit with improved detection rate through test point insertion
CN106897396A (en) A kind of process model mining method and system based on implicit features
CN109946592B (en) Self-adaptive calculation method for asynchronous test period in Automatic Test Equipment (ATE)
JPH11203158A (en) Pipeline circuit having test circuit and automatic test pattern generating method for testing pipeline circuit have test circuit
Tibebu et al. Augmenting all solution SAT solving for circuits with structural information
KR102412817B1 (en) X filling method and apparatus
Pomeranz Efficient identification of undetectable two-cycle gate-exhaustive faults
Safarpour et al. Integrating observability don't cares in all-solution SAT solvers
CN110516376B (en) Integrated circuit X value sensitivity prediction method based on random forest model
Charrwi et al. Towards Yield Improvement for AI Accelerators: Analysis and Exploration
Sabaghian-Bidgoli et al. An Efficient Parallel Critical Path Tracing for Path Delay Fault Simulation
Goudet et al. Fast analysis of combinatorial netlists correctness rate based on binomial law and partitioning
Bommu et al. CONCAT: Conflict driven learning in ATPG for industrial designs
Ran et al. A classification model for prognosis based on Densenet
خسروی et al. Approximate Fault Simulation for Quick Evaluation of Test Patterns in Digital Circuit Testing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant