KR20220053870A - Scan cell reordering method and scan cell reordering apparatus - Google Patents

Scan cell reordering method and scan cell reordering apparatus Download PDF

Info

Publication number
KR20220053870A
KR20220053870A KR1020200138121A KR20200138121A KR20220053870A KR 20220053870 A KR20220053870 A KR 20220053870A KR 1020200138121 A KR1020200138121 A KR 1020200138121A KR 20200138121 A KR20200138121 A KR 20200138121A KR 20220053870 A KR20220053870 A KR 20220053870A
Authority
KR
South Korea
Prior art keywords
scan
cell
cells
chain
scan cells
Prior art date
Application number
KR1020200138121A
Other languages
Korean (ko)
Other versions
KR102412816B1 (en
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 KR1020200138121A priority Critical patent/KR102412816B1/en
Publication of KR20220053870A publication Critical patent/KR20220053870A/en
Application granted granted Critical
Publication of KR102412816B1 publication Critical patent/KR102412816B1/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/318541Scan latches or cell details
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

According to this embodiment of the present invention, a method for relocating scan cells included in a plurality of scan chains includes the steps of: analyzing a connection relationship of the scan cells; calculating a correlation between the scan cells; relocating the scan cells between scan chains according to the connection relationship in a scan chain; and relocating the scan cells in the scan chain. Thus, a failure can be detected with high accuracy and resolution.

Description

스캔 셀 재배치 방법 및 스캔 셀 재배치 장치{SCAN CELL REORDERING METHOD AND SCAN CELL REORDERING APPARATUS}SCAN CELL REORDERING METHOD AND SCAN CELL REORDERING APPARATUS

본 기술은 스캔 체인 고장 진단 방법 및 스캔 셀 재배치 장치와 관련된다.The present technology relates to a scan chain fault diagnosis method and a scan cell relocation device.

칩의 집적도 및 복잡도의 증가에 따라 지속적으로 테스트의 복잡도가 비례하여 증가하고 있다. 이에 대한 대안으로 스캔 테스트 기법이 널리 사용되는데, 스캔 체인에서 고장이 발생하게 되는 경우 플러시 테스트(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. If a failure occurs in the scan chain, the location of the failed chain can be found only with the flush test, but the location of the failed scan cell can be checked. there is no Therefore, various scan chain diagnosis methods have been proposed.

스캔 체인 진단 방법은 크게 세 가지 방향으로 나뉜다. 첫 번째로는 자동 테스트 장치(Automatic Test Equipment, ATE)와 직접 진단 장치를 이용하여 고장이 발생한 위치를 물리적 고장 분석(Physical Failure Analysis, PFA)를 이용하여 진단하는 방법이다. 이는 특별한 시험 기계를 사용하는 방식으로 매우 비싸고, 시간이 많이 소비되거나 아님 샘플을 파괴시키는 방식이다. 두 번째 방식은 하드웨어를 변경하여 스캔 체인 진단을 하는 방식이다. 스캔 셀의 구조를 좀 더 진단에 편하게 변경하거나 스캔 체인의 중간 부분에 추가적인 하드웨어 구조를 입력하여 스캔 체인 진단을 효율적으로 할 수 있게 한다. 하지만 이 방법은 하드웨어 오버헤드가 크게 발생하여 칩의 사이즈를 키우거나 혹은 경로에 지연을 발생시켜 칩의 성능을 낮출 수 있다는 문제점이 있다. 마지막으로 소프트웨어를 이용하는 방식이 있다. 이 방식은 스캔 체인 진단을 위한 추가적인 패턴을 생성하거나 로직을 테스트하기 위한 패턴을 회로에 입력한 이후 고장 로그(fail log)를 확인하여 고장 패턴과 동일한 패턴을 출력할 수 있는 입력 패턴을 고장 시뮬레이션을 통하여 유추하거나 고장 로그를 이용하여 고장이 발생한 범위를 한정 짓는 방식으로 진행된다. 하지만 이 방식은 하드웨어 오버헤드가 없고, 진단에 시뮬레이션만 필요하다는 장점이 있지만, 고장 시뮬레이션에 시간이 많이 소모된다는 점과 해상도와 정확도가 낮다는 단점이 있다. The scan chain diagnosis method is divided into three main directions. The first is a method of diagnosing the location of a failure using an Automatic Test Equipment (ATE) and a direct diagnosis device using a Physical Failure Analysis (PFA). This is very expensive, time consuming or otherwise destroying the sample by using special testing machines. The second method is to perform scan chain diagnosis by changing the hardware. By changing the structure of the scan cell to be more convenient for diagnosis, or by entering an additional hardware structure in the middle part of the scan chain, scan chain diagnosis can be performed efficiently. However, this method has a problem in that the performance of the chip can be reduced by increasing the size of the chip or causing a delay in the path due to the large hardware overhead. Finally, there is a way to use software. In this method, an input pattern that can output the same pattern as the failure pattern by generating an additional pattern for scan chain diagnosis or inputting a pattern for testing logic into the circuit and then checking the failure log is performed for failure simulation. It proceeds in a way that limits the range where the failure occurred by inferring through or using the failure log. However, this method has the advantage that there is no hardware overhead and only simulation is required for diagnosis, but it has disadvantages in that the failure simulation takes a lot of time and the resolution and accuracy are low.

이를 해결하기 위하여 기존의 테스트 패턴을 입력하여 형성된 고장 로그(fail log)를 다양한 종류의 인공 지능(Artifical Neural Network)에 학습시켜 스캔 체인 고장을 진단하는 방법으로 스캔 체인 고장의 정확도와 해상도를 향상시킬 방안이 연구되었다. 하지만 이 방법의 경우 스캔 체인 고장의 특성상 SI에서 발생한 고장이 캡처 동작 후 고장 체인에 발현되는 경우 그 발현된 고장이 마스킹(masking)되는 단점이 존재하고, 모여있는 셀들 간의 고장 특징이 비슷하게 추출되는 경우 특정 셀을 예측하기 어려운 단점이 존재한다.In order to solve this problem, the accuracy and resolution of scan chain failure can be improved by learning the failure log formed by inputting the existing test pattern to various types of artificial intelligence (Artificial Neural Network) to diagnose scan chain failure. method was studied. However, in the case of this method, due to the nature of scan chain failure, when a failure occurring in SI is expressed in the failure chain after the capture operation, there is a disadvantage that the expressed failure is masked. There is a disadvantage in that it is difficult to predict a specific cell.

본 기술은 상술한 종래 기술의 난점을 해소하기 위한 것으로, 종래 기술에 비하여 빠르고, 정확하게 고장 진단 및 고장 위치를 파악할 수 있도록 스캔 체인에 포함된 스캔 셀의 배치를 변경하는 방법을 제공하기 위한 것이다. The present technology is intended to solve the above-mentioned difficulties of the prior art, and to provide a method of changing the arrangement of scan cells included in a scan chain so that a failure diagnosis and a failure location can be identified faster and more accurately than in the prior art.

본 실시예에 의한 복수의 스캔 체인들에 포함된 스캔 셀들의 재배치 방법은: 스캔 셀의 연결 관계를 분석하는 단계와, 스캔 셀 사이의 코릴레이션을 연산하는 단계와, 스캔 체인 내의 연결관계에 따라 스캔 체인 간 스캔 셀을 재배치하는 단계 및 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함한다.A method of relocating scan cells included in a plurality of scan chains according to the present embodiment includes: analyzing a connection relationship between scan cells, calculating a correlation between scan cells, and according to a connection relationship in a scan chain relocating scan cells between scan chains and relocating scan cells within scan chains.

본 실시예에 의한 칩과 연결된 스캔 체인에 포함된 스캔 셀을 재배치하는 장치는: 적어도 하나 이상의 프로세서; 및 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서들에서, 스캔 체인에 포함된 스캔 셀의 연결 관계를 분석하는 단계와, 스캔 셀 사이의 코릴레이션을 연산하는 단계와, 스캔 체인 간 스캔 셀을 재배치하는 단계 및 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함하는 동작들을 수행하게 한다.An apparatus for relocating scan cells included in a scan chain connected to a chip according to the present embodiment includes: at least one processor; and a memory storing one or more programs executed by the processor, wherein when the programs are executed by the one or more processors, analyzing, in the one or more processors, a connection relationship of scan cells included in the scan chain; to perform operations including calculating a correlation between cells, relocating a scan cell between scan chains, and relocating a scan cell within a scan chain.

본 실시예에 의하면, 셀의 연결 관계 및 셀들 사이의 코릴레이션을 이용하여 스캔 체인 셀들을 재배치함으로써 높은 정확도와 해상도로 고장을 검출할 수 있도록 한다.According to the present embodiment, a failure can be detected with high accuracy and resolution by rearranging scan chain cells using cell connection relationships and correlations between cells.

도 1은 본 실시예에 의한 스캔 셀 배치 방법의 개요를 도시한 순서도이다.
도 2는 본 발명의 실시예에 따른 스캔 셀 재배치 장치를 개략적으로 나타낸 블록 구성도이다.
도 3은 스캔 체인 1과 스캔 체인 2(S2)에 포함된 스캔셀 들의 연결 관계를 분석하는 단계를 설명하기 위한 개요적 도면이다.
도 4는 스캔 체인 간 스캔 셀 재배치된 스캔 셀들을 개요적으로 도시한 도면이다.
도 5는 스캔 체인 내 스캔 셀 재배치 단계의 각 세부 단계를 도시한 도면이다.
도 6은 연결된 스캔 셀의 개수에 따른 스캔 셀 배치 과정(S410)을 간략하게 도시한 도면이다.
1 is a flowchart showing an outline of a scan cell arrangement method according to the present embodiment.
2 is a block diagram schematically illustrating a scan cell relocation apparatus according to an embodiment of the present invention.
3 is a schematic diagram for explaining a step of analyzing the connection relationship between scan cells included in scan chain 1 and scan chain 2 (S2).
4 is a diagram schematically illustrating scan cells in which scan cells are rearranged between scan chains.
5 is a diagram illustrating detailed steps of a scan cell relocation step in a scan chain.
6 is a diagram schematically illustrating a scan cell arrangement process ( S410 ) according to the number of connected scan cells.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다. 이하에서는 도면들을 참조하여 본 발명에서 제안하는 필터를 이용한 스캔 체인 고장 진단 방법 및 그를 위한 장치에 대해 자세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, preferred embodiments of the present invention will be described below, but the technical spirit of the present invention is not limited thereto and may be variously implemented by those skilled in the art without being limited thereto. Hereinafter, a scan chain fault diagnosis method using a filter proposed in the present invention and an apparatus therefor will be described in detail with reference to the drawings.

이하에서는 첨부된 도면들을 참조하여 본 실시예를 설명한다. 도 1은 본 실시예에 의한 스캔 셀 배치 방법의 개요를 도시한 순서도이다. 도 1을 참조하면, 본 실시예에 의한 스캔 배치 방법은 스캔 셀들 사이의 연결 관계를 분석하는 단계(S100)와, 스캔 셀 사이의 코릴레이션(correlation)을 연산하는 단계(S200)와, 스캔 체인 사이 스캔 셀을 재배치하는 단계(inter-scan-chain scan cell reordering, S300) 및 스캔 체인 내 스캔 셀을 재배치하는 단계(intra-scan-chain scan cell reordering, S400)를 포함한다.Hereinafter, this embodiment will be described with reference to the accompanying drawings. 1 is a flowchart showing an outline of a scan cell arrangement method according to the present embodiment. Referring to FIG. 1 , the scan arrangement method according to the present embodiment includes the steps of analyzing a connection relationship between scan cells ( S100 ), calculating a correlation between scan cells ( S200 ), and a scan chain and reordering inter-scan-chain scan cell (S300) and intra-scan-chain scan cell reordering (S400).

도 2는 본 발명의 실시예에 따른 스캔 셀 재배치 장치를 개략적으로 나타낸 블록 구성도이다. 본 실시예에 따른 스캔 체인 고장을 진단하기 위한 스캔 셀 재배치 장치(100)는 입력부(110), 출력부(120), 프로세서(130), 메모리(140) 및 데이터베이스(150)를 포함한다. 도 2의 스캔 셀 재배치 장치(100)는 일 실시예에 따른 것으로서, 도 2에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 스캔 셀 재배치 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 스캔 셀 재배치 장치(100)는 스캔 셀을 재배치하는 컴퓨팅 장치로 구현될 수 있으며, 스캔 셀 재배치 장치(100)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 장치로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.2 is a block diagram schematically illustrating a scan cell relocation apparatus according to an embodiment of the present invention. The scan cell relocation apparatus 100 for diagnosing scan chain failure 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 cell relocation apparatus 100 of FIG. 2 is according to an exemplary embodiment, and not all blocks shown in FIG. 2 are essential components, and in another exemplary embodiment, some blocks included in the scan cell relocation apparatus 100 may be added. , may be changed or deleted. Meanwhile, the scan cell relocating apparatus 100 may be implemented as a computing device for relocating scan cells, and each component included in the scan cell relocating 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)는 스캔 셀들 사이의 연결 관계를 분석하여 스캔 셀 사이의 코릴레이션(correlation)을 연산하고, 스캔 체인 사이 스캔 셀을 재배치하며, 스캔 체인 내 스캔 셀을 재배치하는 동작을 수행한다. The scan cell relocation apparatus 100 analyzes a connection relationship between scan cells to calculate correlation between scan cells, rearranges scan cells between scan chains, and rearranges scan cells in scan chains. do.

입력부(110)는 스캔 셀들을 재배치하기 위한 신호 또는 데이터를 입력하거나 획득하는 수단을 의미한다. 입력부(110)는 프로세서(150)와 연동하여 다양한 형태의 신호 또는 데이터를 입력하거나, 외부 장치와 연동하여 직접 데이터를 획득하여 프로세서(150)로 전달할 수도 있다. 입력부(110)는 실패 로그정보(fail log), 다양한 조건정보 또는 제어신호 등을 입력하거나 입력 받기 위한 장치 또는 서버 일수 있으나 반드시 이에 한정되는 것은 아니다. The input unit 110 means a means for inputting or obtaining a signal or data for rearranging scan cells. The input unit 110 may input various types of signals or data in association with the processor 150 , or may directly acquire data in association with an external device and transmit the data to the processor 150 . 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)는 프로세서(150)와 연동하여 실패 로그정보, 스캔 셀의 정보, 현재 배열된 스캔 셀 정보 등을 표시할 수 있다. 출력부(120)는 소정의 정보를 출력하기 위하여 스캔 셀 재배치 장치(100)에 구비된 디스플레이(미도시), 스피커 등을 통해 다양한 정보를 표시하는 것이 바람직하나 반드시 이에 한정되는 것은 아니다. The output unit 120 may display failure log information, scan cell information, currently arranged scan cell information, and the like in conjunction with the processor 150 . The output unit 120 preferably displays various information through a display (not shown), a speaker, etc. provided in the scan cell relocation apparatus 100 in order to output predetermined information, but is not limited thereto.

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

본 실시예에 따른 프로세서(150)는 입력부(110) 또는 데이터베이스(130)로부터 획득한 데이터를 기반으로 스캔 셀들 사이의 연결 관계를 분석하여 스캔 셀 사이의 코릴레이션(correlation)을 연산하고, 스캔 체인 사이 스캔 셀을 재배치하며, 스캔 체인 내 스캔 셀을 재배치하는 동작을 수행한다. The processor 150 according to the present embodiment calculates a correlation between the scan cells by analyzing the connection relationship between the scan cells based on data obtained from the input unit 110 or the database 130, and the scan chain The scan cells are rearranged between each other, and the operation of rearranging the scan cells in the scan chain is performed.

메모리(140)는 프로세서(150)에 의해 실행 가능한 적어도 하나의 명령어 또는 프로그램을 포함한다. 메모리(140)는 관심 영역을 추출, 클래스 결정, 질병 판단 등의 처리를 수행하기 위한 명령어 또는 프로그램을 포함할 수 있다. 메모리(140)는 스캔 셀들 사이의 연결 관계 분석 결과, 및 스캔 셀들 사이에서 연산된 코릴레이션 값들을 저장할 수 있다.The memory 140 includes at least one instruction or program executable by the processor 150 . The memory 140 may include instructions or programs for performing processing such as extracting a region of interest, determining a class, and determining a disease. The memory 140 may store a result of analyzing a connection relationship between the scan cells and correlation values calculated between the scan cells.

데이터베이스(130)는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미하는 것으로, 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 뜻하는 것으로, 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 발명의 일 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가지고 있다.The database 130 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.

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

도 3은 스캔 체인 1(S1)과 스캔 체인 2(S2)에 포함된 스캔 셀 들의 연결 관계를 분석하는 단계를 설명하기 위한 개요적 도면이다. 도 3으로 예시된 예에서, 스캔 체인 1(S1)은 0, 1, 2, 3 및 4의 다섯 개의 스캔 셀을 포함하고, 스캔 체인 2(S2)는 5, 6, 7, 8 및 9의 다섯 개의 스캔 셀을 포함하는 것을 예시한다. 다만, 이는 간결하고 명확한 이해를 위한 예시이며, 본 발명의 범위를 제한하기 위한 것이 아니다.3 is a schematic diagram for explaining a step of analyzing the connection relationship between scan cells included in scan chain 1 (S1) and scan chain 2 (S2). In the example illustrated by Fig. 3, scan chain 1 (S1) contains five scan cells 0, 1, 2, 3 and 4, and scan chain 2 (S2) contains 5, 6, 7, 8 and 9 scan cells. An example including five scan cells is illustrated. However, this is an example for concise and clear understanding, and is not intended to limit the scope of the present invention.

연결 관계를 분석하는 단계(S100)에서는 어느 하나의 스캔 셀과 시스템 로직을 통하여 연결되어 있어 캡쳐시 영향을 미치는 셀들을 파악한다. 일 예로, 스캔 셀 0의 연결 관계를 분석하면, 캡쳐(capture)시 스캔 셀 0이 신호를 제공할 때, 스캔 셀 0에 의하여 영향을 받는 스캔 셀인 스캔 셀 5를 검출하여 저장된다. 이와 같은 분석된 연결 관계는 도 3에서 화살표로 도시되었다. 연결 관계를 분석하는 단계(S100)에서는 아래의 표 1로 예시된 것과 같이 각 스캔 체인 내에 포함된 스캔 셀들 사이의 연결 관계를 파악한다. 분석된 연결 관계는 스캔 셀 배치 장치의 메모리(140) 혹은 데이터 베이스(130)에 룩업 테이블(look up table)의 형태로 저장될 수 있다. In the step of analyzing the connection relationship ( S100 ), cells that are connected to any one scan cell through system logic and thus affect the capture are identified. For example, when the connection relationship between scan cell 0 is analyzed, when scan cell 0 provides a signal during capture, scan cell 5, which is a scan cell affected by scan cell 0, is detected and stored. The analyzed connection relationship is illustrated by an arrow in FIG. 3 . In the step of analyzing the connection relationship ( S100 ), as illustrated in Table 1 below, the connection relationship between scan cells included in each scan chain is identified. The analyzed connection relationship may be stored in the memory 140 or the database 130 of the scan cell arrangement device in the form of a look-up table.

[표 1][Table 1]

Figure pat00001
Figure pat00001

스캔 체인들에 포함된 스캔 셀들에 대하여 코릴레이션(correlation)을 연산한다(S200). 코릴레이션은 각 스캔 셀들의 연결 상태가 유사한 정도를 나타내며, 스캔 셀 들 사이의 코릴레이션은 아래의 수학식 1과 같이 연산될 수 있다. A correlation is calculated with respect to the scan cells included in the scan chains (S200). Correlation indicates the degree to which the connection state of each scan cell is similar, and the correlation between the scan cells can be calculated as in Equation 1 below.

[수학식 1][Equation 1]

Figure pat00002
Figure pat00002

COR(A,B) : A와 B 사이의 코릴레이션, NAB : A와 B 사이에 동일하게 연결된 스캔 셀의 개수, NA : A와 연결된 스캔 셀들의 개수COR(A,B) : Correlation between A and B, N AB : Number of scan cells connected equally between A and B, N A : Number of scan cells connected to A

일 예로, Cor(6,7)을 연산하면, 스캔셀 6과 연결 관계에 있는 스캔 셀들은 스캔 셀 1과 스캔 셀 8의 두 개이고, 스캔 셀 6과 스캔 셀 6이 공통으로 연결 관계에 있는 스캔 셀은 스캔 셀 1 하나이다. 따라서, Cor(6,7)를 연산하면 1/2 = 0.5이다. 다른 예로, Cor(7,6)을 연산하면, 스캔 셀 7과 연결 관계에 있는 스캔 셀들은 스캔 셀 1 하나이고, 스캔 셀 7과 스캔 셀 6이 공통으로 연결 관계에 있는 스캔 셀은 스캔 셀 1 하나이다. 따라서, Cor(7,6)을 연산하면 1/1 = 1이다. 즉, Cor(x,y) 와 Cor(y,x)는 서로 같지 않을 수 있다.For example, when Cor(6,7) is calculated, scan cells connected to scan cell 6 are two scan cells 1 and 8, and scan cells 6 and 6 are commonly connected. The cell is one scan cell 1. Therefore, if Cor(6,7) is calculated, 1/2 = 0.5. As another example, when Cor(7,6) is calculated, scan cells connected to scan cell 7 are one scan cell 1, and scan cells 7 and 6 are commonly connected to scan cell 1 one Therefore, if Cor(7,6) is computed, 1/1 = 1. That is, Cor(x,y) and Cor(y,x) may not be equal to each other.

코릴레이션을 연산하는 단계(S200)는 모든 스캔 셀 들 사이에서 수행되며, 스캔 셀들 사이에서 연산된 코릴레이션 값들은 스캔 셀 배치 장치의 메모리(140) 혹은 데이터 베이스(130)에 룩업 테이블(look up table)의 형태로 저장될 수 있다. The step of calculating the correlation ( S200 ) is performed among all the scan cells, and the correlation values calculated between the scan cells are looked up in the memory 140 or the database 130 of the scan cell arrangement device. table) can be stored.

스캔 체인 간 스캔 셀 재배치(inter-scan-chain scan cell reordering)를 수행한다(S300). 도 4는 스캔 체인 간 스캔 셀 재배치된 스캔 셀들을 개요적으로 도시한 도면이고, 표 2는 스캔 체인 1(S1)과 스캔 체인 2(S2)에서 스캔 체인 간 스캔 셀 재배치 전후의 스캔 체인 내 연결 관계의 수를 표시한 표이다. Inter-scan-chain scan cell reordering is performed (S300). 4 is a diagram schematically illustrating scan cells relocated between scan chains, and Table 2 is a scan chain connection before and after scan cell relocation between scan chains in scan chain 1 (S1) and scan chain 2 (S2) A table showing the number of relationships.

[표 2][Table 2]

Figure pat00003
Figure pat00003

도 3, 도 4 및 표 2를 참조하면, 스캔 체인 1(S1)과 스캔 체인 2(S2)에서 동일한 체인 내에서 연결 관계의 수가 임계값 이상인 스캔 셀을 파악한다. 예시된 예에서, 임계값이 2인 경우에, 스캔 체인 1(S1)에서 스캔 셀 4와 스캔 체인 2(S2)에서 스캔 셀 8의 동일 체인 내 연결수가 2로 임계값인 2 이상이다. 다른 실시예에서, 각 스캔 체인 내에서 가장 많은 체인 내 연결수를 가지는 스캔 체인에 대하여 스캔 체인 간 스캔 셀 재배치를 수행할 수 있다.3, 4, and Table 2, scan cells with a number of connection relationships equal to or greater than a threshold value are identified in the same chain in scan chain 1 (S1) and scan chain 2 (S2). In the illustrated example, when the threshold value is 2, the number of connections in the same chain of scan cell 4 in scan chain 1 ( S1 ) and scan cell 8 in scan chain 2 ( S2 ) is 2, which is the threshold value of 2 or more. In another embodiment, scan cell relocation between scan chains may be performed for a scan chain having the largest number of intra-chain connections within each scan chain.

스캔 체인 간 스캔 셀 재배치 과정에서 스캔 체인 1(S1)의 스캔 셀 4와 스캔 체인 2(S2)의 스캔 셀 8의 위치를 바꾼다. 즉, 스캔 체인 1(S1)의 스캔 셀 4는 스캔 체인 2(S2)의 스캔 셀 8로 대치되고, 마찬가지로, 스캔 체인 2(S2)의 스캔 셀 8은 스캔 체인 1(S1)의 스캔 셀 4로 대치된다. 다만, 스캔 체인 간 스캔 셀 재배치 과정에서 재배치되는 스캔 셀과 로직 회로 및 다른 스캔 셀과의 연결 관계는 그대로 유지된다. In the process of relocating scan cells between scan chains, scan cell 4 of scan chain 1 (S1) and scan cell 8 of scan chain 2 (S2) are relocated. That is, scan cell 4 of scan chain 1 (S1) is replaced with scan cell 8 of scan chain 2 (S2), and similarly, scan cell 8 of scan chain 2 (S2) is scan cell 4 of scan chain 1 (S1) is replaced with However, the connection relationship between the relocated scan cell and the logic circuit and other scan cells is maintained during the scan cell relocation process between scan chains.

복수의 스캔 체인 사이에서 스캔 체인 간 스캔 셀 재배치가 수행될 수 있다. 복수의 스캔 체인들에서, 동일한 체인 내에서 연결 관계의 수가 임계값 이상인 스캔 셀 또는 동일한 체인 내에서 연결 관계의 수가 제일 많은 스캔 셀을 파악한다. Scan cell relocation between scan chains may be performed among a plurality of scan chains. In the plurality of scan chains, a scan cell in which the number of connection relationships in the same chain is equal to or greater than a threshold value or a scan cell in the same chain having the largest number of connection relationships is identified.

스캔 체인 간 스캔 셀 재배치가 수행될 스캔 체인의 타겟 스캔 셀과 다른 스캔 체인들의 후보 스캔 셀들을 순차적으로 대치하여 동일 체인 내의 연결 수를 파악한다. 타겟 스캔 셀과 후보 스캔 셀을 순차적으로 대치하여 얻어진 동일 체인 내 연결 수 들 중에서 가장 적은 연결 수를 가지는 후보 스캔 셀과 타겟 스캔 셀을 대치하여 스캔 체인 간 스캔 셀 재배치를 수행한다. 이와 같은 스캔 체인 간 스캔 셀 재배치는 그리디 알고리즘(Greedy algorithm)으로 수행될 수 있다. The number of connections in the same chain is determined by sequentially replacing the target scan cell of the scan chain in which the scan cell relocation is to be performed between scan chains and the candidate scan cells of other scan chains. Scan cell rearrangement is performed between scan chains by replacing the target scan cell with the candidate scan cell having the smallest number of connections in the same chain obtained by sequentially replacing the target scan cell and the candidate scan cell. Scan cell relocation between such scan chains may be performed using a greedy algorithm.

스캔 체인 간 스캔 셀 재배치 과정은 스캔 체인 간에 셀을 교환하여 스캔 체인 내에서 다수의 연결 관계가 있는 셀이 그 스캔 체인에 속하지 않도록 수행된다. 어느 한 스캔 셀과 연결 관계에 있는 복수의 스캔 셀들이 동일한 스캔 체인 내에서 있다면 그 셀에 고장이 발생하였을 때 스캔 인에 가까이 발생한 고장에 의하여 캡쳐 동작시 고장이 발생하였다 해도 그 체인에 존재하는 고장으로 가려진다. 스캔 체인 내에 연결 관계가 많은 스캔 셀을 다른 체인으로 분배하여 고장의 특징이 다른 체인으로 많이 퍼질 수 있도록 변경할 수 있다. The scan cell relocation process between scan chains is performed by exchanging cells between scan chains so that cells with multiple connections in the scan chain do not belong to the scan chain. If a plurality of scan cells connected to one scan cell are in the same scan chain, when a failure occurs in that cell, a failure exists in the chain even if a failure occurs during capture operation due to a failure close to scan-in. covered with By distributing scan cells with many connections in a scan chain to other chains, the characteristic of a failure can be changed to spread to other chains.

따라서, 스캔 체인 간 스캔 셀 재배치에 의하여 후술할 바와 같이 뉴럴 네트워크 등으로 고장을 인식할 수 있도록 고장에 따른 정확한 패턴을 형성할 수 있으며, 동일한 스캔 체인 내에서 고장이 가려지는 것을 감소시킬 수 있다.Accordingly, by relocating scan cells between scan chains, it is possible to form an accurate pattern according to a failure so that a failure can be recognized by a neural network or the like, as will be described later, and it is possible to reduce the number of failures hidden within the same scan chain.

스캔 체인 내 스캔 셀 재배치를 수행한다(S400). 도 5는 스캔 체인 내 스캔 셀 제배치 단계(S400)의 각 세부 단계를 도시한 도면이다. 도 5를 참조하면, 스캔 체인 내 스캔 셀 재배치 과정(S400)은 연결된 스캔 셀의 개수에 따른 스캔 셀 배치 과정(S410)과, 그룹 내 코릴레이션에 따른 스캔 셀 배치(S420) 단계를 포함할 수 있다. Scan cell rearrangement in the scan chain is performed (S400). 5 is a diagram illustrating detailed steps of the scan cell arrangement step S400 in the scan chain. Referring to FIG. 5 , the scan cell relocation process (S400) in the scan chain may include a scan cell arrangement process (S410) according to the number of connected scan cells, and a scan cell arrangement process (S420) according to a correlation within a group. there is.

도 6은 연결된 스캔 셀의 개수에 따른 스캔 셀 배치 과정(S410)을 간략하게 도시한 도면이고, 표 3은 각 스캔 셀과 연결된 스캔 셀의 개수를 나타낸 표이다. 6 is a diagram schematically illustrating a scan cell arrangement process ( S410 ) according to the number of connected scan cells, and Table 3 is a table showing the number of scan cells connected to each scan cell.

[표 3][Table 3]

Figure pat00004
Figure pat00004

도 6 및 표 3을 참조하면, 스캔 셀의 개수에 따른 스캔 셀 배치 단계는, 연결된 스캔 셀의 개수가 많은 스캔 셀일수록 스캔 인(scan in)쪽으로 배치하고, 연결된 스캔 셀의 개수가 적은 스캔 셀일수록 스캔 아웃(scan out)쪽으로 배치하여 수행된다. 6 and Table 3, in the step of arranging scan cells according to the number of scan cells, the scan cells with a larger number of connected scan cells are arranged toward a scan in side, and the scan cells with a smaller number of connected scan cells are arranged toward the scan in. It is performed by arranging it toward the scan out (scan out) side.

스캔 체인 1(S1)에서, 연결된 스캔 셀 개수가 가장 많은 스캔 셀인 3, 8을 스캔 인에 가장 가깝게 배치한다. 스캔 셀 3과 8은 모두 스캔 셀 6과 연결 관계에 있으므로 이들을 인접하게 배치하면 고장이 가려져 파악되지 않을 수 있다. 따라서, 적어도 하나의 스캔 셀 간격을 두고 이격시켜 배치한다. In scan chain 1 (S1), scan cells 3 and 8, which have the largest number of connected scan cells, are arranged closest to scan-in. Since scan cells 3 and 8 are both connected to scan cell 6, if they are placed adjacent to each other, the fault may be hidden and not detected. Accordingly, at least one scan cell is disposed to be spaced apart from each other.

스캔 체인 2(S2)에서, 연결된 스캔 셀 개수가 가장 많은 4를 스캔 인에 가장 가깝게 배치한다. 따라서, 스캔 체인 2(S2)에서는 스캔 셀 4가 스캔 인과 가장 가깝게 배치된다. In scan chain 2 ( S2 ), 4 having the largest number of connected scan cells is disposed closest to scan-in. Accordingly, in scan chain 2 ( S2 ), scan cell 4 is disposed closest to scan in.

연결된 스캔 셀의 개수가 많을수록 그 고장이 다른 체인들에 많이 전파되어 고장 로그에 많은 영향을 미친다. 따라서 이러한 셀의 위치가 고장을 판별하기 스캔 체인 내의 어려운 자리로 배치되면 이 고장의 영향력에 의하여 고장의 예측이 좀 더 쉬워질 수 있다.The greater the number of connected scan cells, the more the failure propagates to other chains, which greatly affects the failure log. Therefore, if the location of such a cell is placed in a position where it is difficult to identify a failure in the scan chain, the failure can be predicted more easily by the influence of the failure.

스캔 체인 1(S1)에서, 연결된 스캔 셀 개수가 가장 적은 스캔 셀인 1을 스캔 아웃에 가장 가깝게 배치한다. 스캔 체인 2(S2)에서, 연결된 스캔 셀 개수가 가장 적은 스캔 셀인 5를 스캔 아웃에 가장 가깝게 배치한다. 이어서, 상술한 바와 같이 연결된 스캔 셀의 개수의 대로 남아있는 스캔 셀을 재배치한다. In scan chain 1 (S1), scan cell 1 having the smallest number of connected scan cells is disposed closest to scan-out. In scan chain 2 (S2), scan cell 5, which has the smallest number of connected scan cells, is disposed closest to scan-out. Then, as described above, the remaining scan cells are rearranged according to the number of connected scan cells.

이어서, 그룹 내 코릴레이션에 따라 스캔 셀을 배치한다(S420). 스캔 체인 내에서 복수개의 스캔 셀들을 순서대로 그룹짓는다. 일 예로, 한 그룹에 속하는 스캔 셀들은 2 개 이상 30개 미만일 수 있다. Next, scan cells are arranged according to the correlation within the group ( S420 ). A plurality of scan cells are sequentially grouped in a scan chain. For example, the number of scan cells belonging to one group may be 2 or more and less than 30.

이어서, 그룹 내에서 스캔 셀들의 위치를 변화시키고, 스캔 셀 들 사이의 코릴레이션의 합을 연산하여 코릴레이션의 합이 최소가 되는 스캔 셀들의 위치를 연산한다. 일 예로, 코릴레이션의 합은 스캔 체인에 포함된 스캔 셀들의 코릴레이션 값의 합일 수 있다. 다른 예로, 코릴레이션 값의 합은 그룹 내에 포함된 스캔 셀들 사이의 코릴레이션 값의 합일 수 있다. Then, the positions of the scan cells are changed in the group, and the sum of the correlations between the scan cells is calculated to calculate the positions of the scan cells at which the sum of the correlations is the minimum. For example, the sum of correlations may be the sum of correlation values of scan cells included in the scan chain. As another example, the sum of correlation values may be the sum of correlation values between scan cells included in a group.

위에서 설명한 바와 같이 Cor(X, Y)와 Cor(Y, X)의 값은 서로 상이하므로, 그룹 내에서 스캔 셀들의 위치를 변화시킴에 따라 코릴레이션 값의 합은 변화하며, 코릴레이션 값의 합이 최소가 되는 스캔 셀의 위치를 파악할 수 있다. 또한, 스캔 체인에 포함된 스캔 셀들에 대한 코릴레이션 값은 메모리에 저장되어 있어 이를 이용하면 용이하게 스캔 셀 재배치를 수행할 수 있다. As described above, since the values of Cor(X, Y) and Cor(Y, X) are different from each other, the sum of the correlation values changes as the positions of the scan cells in the group are changed, and the sum of the correlation values changes. The position of the scan cell which becomes this minimum can be grasped|ascertained. In addition, correlation values for scan cells included in the scan chain are stored in the memory, so that scan cell rearrangement can be easily performed by using the correlation values.

상술한 바와 같이 스캔 체인 내의 스캔 셀을 재배치함으로써 스캔 체인 내의 고장이 검출 불가능하게 가려지는 것을 막고, 인공 지능을 통하여 용이하게 고장을 진단할 수 있는 패턴을 형성할 수 있다는 장점이 제공된다.As described above, by relocating the scan cells in the scan chain, it is possible to prevent a failure in the scan chain from being undetectable and to form a pattern for easily diagnosing a failure through artificial intelligence.

이상의 설명은 본 발명의 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 실시예들은 본 발명의 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the embodiment of the present invention, and those of ordinary skill in the art to which the embodiment of the present invention pertains may modify various modifications and transformation will be possible. Accordingly, the embodiments of the present invention are not intended to limit the technical spirit of the embodiment of the present invention, but to explain, and the scope of the technical spirit of the embodiment of the present invention is not limited by these embodiments. The protection scope of the embodiment of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

S100~S400: 본 실시예에 의한 스캔 셀 재배치 방법의 개요적 각 단계
S410~S420: 스캔 체인 내 스켄 셀 재배치 단계의 세부 단계
100: 스캔 셀 재배치 장치 110: 입력부
120: 출력부 140: 메모리
150: 프로세서
S100 to S400: each outline of the scan cell rearrangement method according to the present embodiment
S410~S420: Detailed steps of the scan cell relocation step in the scan chain
100: scan cell rearrangement device 110: input unit
120: output unit 140: memory
150: processor

Claims (20)

복수의 스캔 체인들에 포함된 스캔 셀들의 재배치 방법으로, 상기 스캔 셀의 재배치 방법은:
상기 스캔 셀의 연결 관계를 분석하는 단계와,
상기 스캔 셀 사이의 코릴레이션을 연산하는 단계와,
상기 스캔 체인 내의 상기 연결관계에 따라 상기 스캔 체인 간 스캔 셀을 재배치하는 단계 및
상기 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함하는 스캔 셀의 재배치 방법.
A method for relocating scan cells included in a plurality of scan chains, the method comprising:
analyzing the connection relationship of the scan cells;
calculating a correlation between the scan cells;
relocating scan cells between the scan chains according to the connection relationship in the scan chain;
and relocating the scan cells in the scan chain.
제1항에 있어서,
상기 연결 관계를 분석하는 단계는,
상기 스캔 셀이 시스템 로직을 통하여 연결되어 캡쳐시 영향을 미치는 스캔 셀을 파악하여 수행하는 스캔 셀의 재배치 방법.
According to claim 1,
The step of analyzing the connection relationship is
A method of relocating a scan cell in which the scan cell is connected through system logic to identify a scan cell that has an effect upon capture.
제1항에 있어서,
상기 코릴레이션을 연산하는 단계는,
상기 복수의 스캔 체인들에 포함된 상기 복수의 스캔 셀들 각각에 대하여 연산하는 스캔 셀의 재배치 방법.
According to claim 1,
The step of calculating the correlation comprises:
A scan cell rearrangement method for calculating each of the plurality of scan cells included in the plurality of scan chains.
제1항에 있어서,
상기 코릴레이션을 연산하는 단계는,
수학식
Figure pat00005

을 연산하여 수행하는 스캔 셀의 재배치 방법.
(COR(A,B) : A와 B 사이의 코릴레이션, NAB : A와 B 사이에 동일하게 연결된 스캔 셀의 개수, NA : A와 연결된 스캔 셀들의 개수)
According to claim 1,
The step of calculating the correlation comprises:
formula
Figure pat00005

A method of rearranging scan cells that is performed by calculating
(COR(A,B) : Correlation between A and B, N AB : Number of scan cells connected equally between A and B, N A : Number of scan cells connected to A)
제1항에 있어서,
상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
(a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 임계값 이상인 스캔 셀을 파악하는 단계와,
(b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
(c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
(d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 셀을 대치하는 단계를 포함하는 스캔 셀의 재배치 방법.
According to claim 1,
Relocating the scan cells between the scan chains comprises:
(a) identifying a scan cell in which the number of connection relationships is greater than or equal to a threshold value in each scan chain;
(b) identifying a target scan cell and one or more candidate scan cells from the result of step (a);
(c) counting the number of interconnection relationships in the scan chain by replacing the target scan cell with the candidate scan cell; and
and (d) replacing the target cell with a candidate scan cell having the smallest result of counting in step (c).
제1항에 있어서,
상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
(a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 가장 큰 스캔 셀을 파악하는 단계와,
(b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
(c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
(d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 셀을 대치하는 단계를 포함하는 스캔 셀의 재배치 방법.
According to claim 1,
Relocating the scan cells between the scan chains comprises:
(a) identifying a scan cell having the largest number of connection relationships in each scan chain;
(b) identifying a target scan cell and one or more candidate scan cells from the result of step (a);
(c) counting the number of interconnection relationships in the scan chain by replacing the target scan cell with the candidate scan cell; and
and (d) replacing the target cell with a candidate scan cell having the smallest result of counting in step (c).
제1항에 있어서,
상기 스캔 체인 내 스캔 셀을 재배치하는 단계는,
(a) 연결된 스캔 셀의 개수에 따라 스캔 셀을 배치하는 단계 및
(b) 코릴레이션에 따른 스캔 셀 그룹 내 스캔 셀 배치 단계를 포함하여 수행되는 스캔 셀의 재배치 방법.
According to claim 1,
Relocating the scan cells in the scan chain comprises:
(a) placing scan cells according to the number of connected scan cells; and
(b) a scan cell rearrangement method performed including the step of arranging scan cells in a scan cell group according to a correlation.
제7항에 있어서,
상기 (a) 단계는,
연결된 스캔 셀의 개수가 많은 스캔 셀일수록 스캔 인(scan in)쪽으로 배치하여 수행하는 스캔 셀의 재배치 방법.
8. The method of claim 7,
The step (a) is,
A scan cell rearrangement method in which a scan cell having a larger number of connected scan cells is arranged toward a scan in side.
제7항에 있어서,
상기 (a) 단계는,
상기 연결된 스캔 셀의 개수가 동일한 스캔 셀들이 서로 동일한 스캔 셀과 연결되면 서로 하나 이상의 스캔 셀 간격만큼 이격시켜 배치하는 스캔 셀의 재배치 방법.
8. The method of claim 7,
The step (a) is,
When the scan cells having the same number of connected scan cells are connected to the same scan cell, the scan cell rearrangement method is arranged to be spaced apart from each other by one or more scan cell intervals.
제7항에 있어서,
상기 (b) 단계는,
(b1)상기 스캔 체인을 복수의 스캔 셀 그룹으로 분할하는 단계,
(b2) 상기 복수의 스캔 셀 그룹에 포함된 상기 스캔 셀들의 위치를 변화시키면서 상기 스캔 체인에 포함된 각 스캔 셀들 사이의 코릴레이션을 연산하는 단계 및
(b3) 상기 스캔 체인 내의 스캔 셀들의 코릴레이션 값의 합이 최소가 되도록 상기 스캔 셀들을 배치하는 단계를 포함하는 스캔 셀의 재배치 방법.
8. The method of claim 7,
The step (b) is,
(b1) dividing the scan chain into a plurality of scan cell groups;
(b2) calculating a correlation between the scan cells included in the scan chain while changing positions of the scan cells included in the plurality of scan cell groups;
(b3) arranging the scan cells such that a sum of correlation values of the scan cells in the scan chain is minimized.
칩과 연결된 스캔 체인에 포함된 스캔 셀을 재배치하는 장치로, 상기 장치는:
적어도 하나 이상의 프로세서; 및
상기 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 상기 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서들에서,
상기 스캔 체인에 포함된 스캔 셀의 연결 관계를 분석하는 단계와,
상기 스캔 셀 사이의 코릴레이션을 연산하는 단계와,
상기 스캔 체인 간 스캔 셀을 재배치하는 단계 및
상기 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함하는 동작들을 수행하게 하는 스캔 셀 재배치 장치.
A device for relocating scan cells included in a scan chain associated with a chip, 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;
analyzing a connection relationship between scan cells included in the scan chain;
calculating a correlation between the scan cells;
relocating scan cells between the scan chains; and
A scan cell relocation apparatus for performing operations including relocating a scan cell in the scan chain.
제11항에 있어서,
상기 연결 관계를 분석하는 단계는,
상기 스캔 셀이 시스템 로직을 통하여 연결되어 캡쳐시 영향을 미치는 스캔 셀을 파악하여 수행하는 스캔 셀 재배치 장치.
12. The method of claim 11,
The step of analyzing the connection relationship is
A scan cell rearrangement device for relocating the scan cells by recognizing the scan cells that are connected through system logic and affecting the capture.
제11항에 있어서,
상기 코릴레이션을 연산하는 단계는,
상기 복수의 스캔 체인들에 포함된 상기 복수의 스캔 셀들 각각에 대하여 연산하는 스캔 셀 재배치 장치.
12. The method of claim 11,
The step of calculating the correlation comprises:
A scan cell relocation apparatus for calculating each of the plurality of scan cells included in the plurality of scan chains.
제11항에 있어서,
상기 코릴레이션을 연산하는 단계는,
수학식
Figure pat00006

을 연산하여 수행하는 스캔 셀 재배치 장치.
(COR(A,B) : A와 B 사이의 코릴레이션, NAB : A와 B 사이에 동일하게 연결된 스캔 셀의 개수, NA : A와 연결된 스캔 셀들의 개수)
12. The method of claim 11,
The step of calculating the correlation comprises:
formula
Figure pat00006

A scan cell relocation device that calculates
(COR(A,B) : Correlation between A and B, N AB : Number of scan cells connected equally between A and B, N A : Number of scan cells connected to A)
제11항에 있어서,
상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
(a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 임계값 이상인 스캔 셀을 파악하는 단계와,
(b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
(c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
(d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 셀을 대치하는 단계를 포함하는 스캔 셀 재배치 장치.
12. The method of claim 11,
Relocating the scan cells between the scan chains comprises:
(a) identifying a scan cell in which the number of connection relationships is greater than or equal to a threshold value in each scan chain;
(b) identifying a target scan cell and one or more candidate scan cells from the result of step (a);
(c) counting the number of interconnection relationships in the scan chain by replacing the target scan cell with the candidate scan cell; and
(d) replacing the target cell with a candidate scan cell having the smallest result of the counting in step (c).
제11항에 있어서,
상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
(a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 가장 큰 스캔 셀을 파악하는 단계와,
(b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
(c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
(d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 셀을 대치하는 단계를 포함하는 스캔 셀 재배치 장치.
12. The method of claim 11,
Relocating the scan cells between the scan chains comprises:
(a) identifying a scan cell having the largest number of connection relationships in each scan chain;
(b) identifying a target scan cell and one or more candidate scan cells from the result of step (a);
(c) counting the number of interconnection relationships in the scan chain by replacing the target scan cell with the candidate scan cell; and
(d) replacing the target cell with a candidate scan cell having the smallest result of the counting in step (c).
제11항에 있어서,
상기 스캔 체인 내 스캔 셀을 재배치하는 단계는,
(a) 연결된 스캔 셀의 개수에 따라 스캔 셀을 배치하는 단계 및
(b) 코릴레이션에 따른 스캔 셀 그룹 내 스캔 셀 배치 단계를 포함하여 수행되는 스캔 셀 재배치 장치.
12. The method of claim 11,
Relocating the scan cells in the scan chain comprises:
(a) placing scan cells according to the number of connected scan cells; and
(b) a scan cell rearrangement apparatus performed including the step of arranging scan cells in a scan cell group according to a correlation.
제17항에 있어서,
상기 (a) 단계는,
연결된 스캔 셀의 개수가 많은 스캔 셀일수록 스캔 인(scan in)쪽으로 배치하여 수행하는 스캔 셀 재배치 장치.
18. The method of claim 17,
The step (a) is,
A scan cell rearrangement device that performs a scan in which the number of connected scan cells increases by arranging the scan cells toward the scan in side.
제17항에 있어서,
상기 (a) 단계는,
상기 연결된 스캔 셀의 개수가 동일한 스캔 셀들이 서로 동일한 스캔 셀과 연결되면 서로 하나 이상의 스캔 셀 간격만큼 이격시켜 배치하는 스캔 셀 재배치 장치.
18. The method of claim 17,
The step (a) is,
When the scan cells having the same number of connected scan cells are connected to the same scan cells, the scan cell rearrangement apparatus is arranged to be spaced apart from each other by one or more scan cell intervals.
제17항에 있어서,
상기 (b) 단계는,
(b1)상기 스캔 체인을 복수의 스캔 셀 그룹으로 분할하는 단계,
(b2) 상기 복수의 스캔 셀 그룹에 포함된 상기 스캔 셀들의 위치를 변화시키면서 상기 스캔 체인에 포함된 각 스캔 셀들 사이의 코릴레이션을 연산하는 단계 및
(b3) 상기 스캔 체인 내의 스캔 셀들의 코릴레이션 값의 합이 최소가 되도록 상기 스캔 셀들을 배치하는 단계를 포함하는 스캔 셀 재배치 장치.
18. The method of claim 17,
The step (b) is,
(b1) dividing the scan chain into a plurality of scan cell groups;
(b2) calculating a correlation between the scan cells included in the scan chain while changing positions of the scan cells included in the plurality of scan cell groups;
(b3) arranging the scan cells such that a sum of correlation values of the scan cells in the scan chain is minimized.
KR1020200138121A 2020-10-23 2020-10-23 Scan cell reordering method and scan cell reordering apparatus KR102412816B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200138121A KR102412816B1 (en) 2020-10-23 2020-10-23 Scan cell reordering method and scan cell reordering apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200138121A KR102412816B1 (en) 2020-10-23 2020-10-23 Scan cell reordering method and scan cell reordering apparatus

Publications (2)

Publication Number Publication Date
KR20220053870A true KR20220053870A (en) 2022-05-02
KR102412816B1 KR102412816B1 (en) 2022-06-23

Family

ID=81593480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200138121A KR102412816B1 (en) 2020-10-23 2020-10-23 Scan cell reordering method and scan cell reordering apparatus

Country Status (1)

Country Link
KR (1) KR102412816B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220087718A (en) * 2020-12-18 2022-06-27 연세대학교 산학협력단 Fault detection method, fault detection apparatus and weight application circuit with improved detection rate through test point insertion
KR20220143536A (en) * 2021-04-16 2022-10-25 연세대학교 산학협력단 Method and apparatus for determining a self-test inserting node for a scan chain

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005517189A (en) * 2002-01-16 2005-06-09 シンテスト・テクノロジーズ・インコーポレーテッド Method and apparatus for broadcasting scan patterns in a scan-based integrated circuit
KR20050078704A (en) * 2004-01-31 2005-08-08 삼성전자주식회사 The scan based automatic test pattern generation test circuit and test method thereby and scan chain reordering method
US20050235183A1 (en) * 2004-04-20 2005-10-20 Nec Laboratories America, Inc. Restricted scan reordering technique to enhance delay fault coverage
US20140223249A1 (en) * 2013-02-07 2014-08-07 Puneet Dodeja System and method for scan chain re-ordering
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
KR102273138B1 (en) * 2020-02-28 2021-07-02 연세대학교 산학협력단 Apparatus and method for diagnosing multiple faults in the scan chain
KR102279047B1 (en) * 2020-03-31 2021-07-16 연세대학교 산학협력단 Method and Apparatus for Scan Chain Diagnosis Using Filter

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005517189A (en) * 2002-01-16 2005-06-09 シンテスト・テクノロジーズ・インコーポレーテッド Method and apparatus for broadcasting scan patterns in a scan-based integrated circuit
KR20050078704A (en) * 2004-01-31 2005-08-08 삼성전자주식회사 The scan based automatic test pattern generation test circuit and test method thereby and scan chain reordering method
JP2005214981A (en) * 2004-01-31 2005-08-11 Samsung Electronics Co Ltd Scan base atpg test circuit and test method, and scan chain reconfiguration method
US20050235183A1 (en) * 2004-04-20 2005-10-20 Nec Laboratories America, Inc. Restricted scan reordering technique to enhance delay fault coverage
US7188323B2 (en) * 2004-04-20 2007-03-06 Nec Laboratories America, Inc. Restricted scan reordering technique to enhance delay fault coverage
US20140223249A1 (en) * 2013-02-07 2014-08-07 Puneet Dodeja System and method for scan chain re-ordering
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
KR102273138B1 (en) * 2020-02-28 2021-07-02 연세대학교 산학협력단 Apparatus and method for diagnosing multiple faults in the scan chain
KR102279047B1 (en) * 2020-03-31 2021-07-16 연세대학교 산학협력단 Method and Apparatus for Scan Chain Diagnosis Using Filter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220087718A (en) * 2020-12-18 2022-06-27 연세대학교 산학협력단 Fault detection method, fault detection apparatus and weight application circuit with improved detection rate through test point insertion
KR20220143536A (en) * 2021-04-16 2022-10-25 연세대학교 산학협력단 Method and apparatus for determining a self-test inserting node for a scan chain

Also Published As

Publication number Publication date
KR102412816B1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
US8812922B2 (en) Speeding up defect diagnosis techniques
US7844873B2 (en) Fault location estimation system, fault location estimation method, and fault location estimation program for multiple faults in logic circuit
US8438438B2 (en) Enhanced diagnosis with limited failure cycles
US8280687B2 (en) Direct fault diagnostics using per-pattern compactor signatures
US11361248B2 (en) Multi-stage machine learning-based chain diagnosis
US20150370685A1 (en) Defect localization in software integration tests
KR102412816B1 (en) Scan cell reordering method and scan cell reordering apparatus
US20080141085A1 (en) Process for identifying the location of a break in a scan chain in real time
US10795751B2 (en) Cell-aware diagnostic pattern generation for logic diagnosis
US20140115412A1 (en) Scan chain fault diagnosis
US11681843B2 (en) Input data compression for machine learning-based chain diagnosis
Tang et al. Diagnosis of multiple physical defects using logic fault models
US9400311B1 (en) Method and system of collective failure diagnosis for multiple electronic circuits
CN106557420B (en) Test DB data creation method and device
US8843796B2 (en) Profiling-based scan chain diagnosis
US10605863B2 (en) Mapping physical shift failures to scan cells for detecting physical faults in integrated circuits
Hariharan et al. From rtl liveness assertions to cost-effective hardware checkers
US10598730B1 (en) Testing method and testing system
US10338137B1 (en) Highly accurate defect identification and prioritization of fault locations
KR102450484B1 (en) Fault detection method, fault detection apparatus and weight application circuit with improved detection rate through test point insertion
KR102711453B1 (en) Hybrid test method and apparatus for multiple identical cores
Lin et al. On achieving maximal chain diagnosis resolution through test pattern selection
CN110704697A (en) Method for improving business process efficiency based on selection branch construction
KR20230090040A (en) Fault detection method of scan cell and fault detection apparatus of scan cell
KR102382520B1 (en) Scan chain ordering method and scan chain ordering apparatus

Legal Events

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