KR102412816B1 - 스캔 셀 재배치 방법 및 스캔 셀 재배치 장치 - Google Patents

스캔 셀 재배치 방법 및 스캔 셀 재배치 장치 Download PDF

Info

Publication number
KR102412816B1
KR102412816B1 KR1020200138121A KR20200138121A KR102412816B1 KR 102412816 B1 KR102412816 B1 KR 102412816B1 KR 1020200138121 A KR1020200138121 A KR 1020200138121A KR 20200138121 A KR20200138121 A KR 20200138121A KR 102412816 B1 KR102412816 B1 KR 102412816B1
Authority
KR
South Korea
Prior art keywords
scan
cells
cell
chain
scan cells
Prior art date
Application number
KR1020200138121A
Other languages
English (en)
Other versions
KR20220053870A (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 KR1020200138121A priority Critical patent/KR102412816B1/ko
Publication of KR20220053870A publication Critical patent/KR20220053870A/ko
Application granted granted Critical
Publication of KR102412816B1 publication Critical patent/KR102412816B1/ko

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

본 실시예에 의한 복수의 스캔 체인들에 포함된 스캔 셀들의 재배치 방법은: 스캔 셀의 연결 관계를 분석하는 단계와, 스캔 셀 사이의 코릴레이션을 연산하는 단계와, 스캔 체인 내의 연결관계에 따라 스캔 체인 간 스캔 셀을 재배치하는 단계 및 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함한다.

Description

스캔 셀 재배치 방법 및 스캔 셀 재배치 장치{SCAN CELL REORDERING METHOD AND SCAN CELL REORDERING APPARATUS}
본 기술은 스캔 체인 고장 진단 방법 및 스캔 셀 재배치 장치와 관련된다.
칩의 집적도 및 복잡도의 증가에 따라 지속적으로 테스트의 복잡도가 비례하여 증가하고 있다. 이에 대한 대안으로 스캔 테스트 기법이 널리 사용되는데, 스캔 체인에서 고장이 발생하게 되는 경우 플러시 테스트(flush test)만으로는 고장이 발생한 체인의 위치는 알아낼 수 있으나 고장이 발생`한 스캔 셀의 위치를 확인할 방법이 없다. 따라서 다양한 스캔 체인 진단 방법이 제시되고 있다.
스캔 체인 진단 방법은 크게 세 가지 방향으로 나뉜다. 첫 번째로는 자동 테스트 장치(Automatic Test Equipment, ATE)와 직접 진단 장치를 이용하여 고장이 발생한 위치를 물리적 고장 분석(Physical Failure Analysis, PFA)를 이용하여 진단하는 방법이다. 이는 특별한 시험 기계를 사용하는 방식으로 매우 비싸고, 시간이 많이 소비되거나 아님 샘플을 파괴시키는 방식이다. 두 번째 방식은 하드웨어를 변경하여 스캔 체인 진단을 하는 방식이다. 스캔 셀의 구조를 좀 더 진단에 편하게 변경하거나 스캔 체인의 중간 부분에 추가적인 하드웨어 구조를 입력하여 스캔 체인 진단을 효율적으로 할 수 있게 한다. 하지만 이 방법은 하드웨어 오버헤드가 크게 발생하여 칩의 사이즈를 키우거나 혹은 경로에 지연을 발생시켜 칩의 성능을 낮출 수 있다는 문제점이 있다. 마지막으로 소프트웨어를 이용하는 방식이 있다. 이 방식은 스캔 체인 진단을 위한 추가적인 패턴을 생성하거나 로직을 테스트하기 위한 패턴을 회로에 입력한 이후 고장 로그(fail log)를 확인하여 고장 패턴과 동일한 패턴을 출력할 수 있는 입력 패턴을 고장 시뮬레이션을 통하여 유추하거나 고장 로그를 이용하여 고장이 발생한 범위를 한정 짓는 방식으로 진행된다. 하지만 이 방식은 하드웨어 오버헤드가 없고, 진단에 시뮬레이션만 필요하다는 장점이 있지만, 고장 시뮬레이션에 시간이 많이 소모된다는 점과 해상도와 정확도가 낮다는 단점이 있다.
이를 해결하기 위하여 기존의 테스트 패턴을 입력하여 형성된 고장 로그(fail log)를 다양한 종류의 인공 지능(Artifical Neural Network)에 학습시켜 스캔 체인 고장을 진단하는 방법으로 스캔 체인 고장의 정확도와 해상도를 향상시킬 방안이 연구되었다. 하지만 이 방법의 경우 스캔 체인 고장의 특성상 SI에서 발생한 고장이 캡처 동작 후 고장 체인에 발현되는 경우 그 발현된 고장이 마스킹(masking)되는 단점이 존재하고, 모여있는 셀들 간의 고장 특징이 비슷하게 추출되는 경우 특정 셀을 예측하기 어려운 단점이 존재한다.
본 기술은 상술한 종래 기술의 난점을 해소하기 위한 것으로, 종래 기술에 비하여 빠르고, 정확하게 고장 진단 및 고장 위치를 파악할 수 있도록 스캔 체인에 포함된 스캔 셀의 배치를 변경하는 방법을 제공하기 위한 것이다.
본 실시예에 의한 복수의 스캔 체인들에 포함된 스캔 셀들의 재배치 방법은: 스캔 셀의 연결 관계를 분석하는 단계와, 스캔 셀 사이의 코릴레이션을 연산하는 단계와, 스캔 체인 내의 연결관계에 따라 스캔 체인 간 스캔 셀을 재배치하는 단계 및 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함한다.
본 실시예에 의한 칩과 연결된 스캔 체인에 포함된 스캔 셀을 재배치하는 장치는: 적어도 하나 이상의 프로세서; 및 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서들에서, 스캔 체인에 포함된 스캔 셀의 연결 관계를 분석하는 단계와, 스캔 셀 사이의 코릴레이션을 연산하는 단계와, 스캔 체인 간 스캔 셀을 재배치하는 단계 및 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함하는 동작들을 수행하게 한다.
본 실시예에 의하면, 셀의 연결 관계 및 셀들 사이의 코릴레이션을 이용하여 스캔 체인 셀들을 재배치함으로써 높은 정확도와 해상도로 고장을 검출할 수 있도록 한다.
도 1은 본 실시예에 의한 스캔 셀 배치 방법의 개요를 도시한 순서도이다.
도 2는 본 발명의 실시예에 따른 스캔 셀 재배치 장치를 개략적으로 나타낸 블록 구성도이다.
도 3은 스캔 체인 1과 스캔 체인 2(S2)에 포함된 스캔셀 들의 연결 관계를 분석하는 단계를 설명하기 위한 개요적 도면이다.
도 4는 스캔 체인 간 스캔 셀 재배치된 스캔 셀들을 개요적으로 도시한 도면이다.
도 5는 스캔 체인 내 스캔 셀 재배치 단계의 각 세부 단계를 도시한 도면이다.
도 6은 연결된 스캔 셀의 개수에 따른 스캔 셀 배치 과정(S410)을 간략하게 도시한 도면이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다. 이하에서는 도면들을 참조하여 본 발명에서 제안하는 필터를 이용한 스캔 체인 고장 진단 방법 및 그를 위한 장치에 대해 자세하게 설명하기로 한다.
이하에서는 첨부된 도면들을 참조하여 본 실시예를 설명한다. 도 1은 본 실시예에 의한 스캔 셀 배치 방법의 개요를 도시한 순서도이다. 도 1을 참조하면, 본 실시예에 의한 스캔 배치 방법은 스캔 셀들 사이의 연결 관계를 분석하는 단계(S100)와, 스캔 셀 사이의 코릴레이션(correlation)을 연산하는 단계(S200)와, 스캔 체인 사이 스캔 셀을 재배치하는 단계(inter-scan-chain scan cell reordering, S300) 및 스캔 체인 내 스캔 셀을 재배치하는 단계(intra-scan-chain scan cell reordering, S400)를 포함한다.
도 2는 본 발명의 실시예에 따른 스캔 셀 재배치 장치를 개략적으로 나타낸 블록 구성도이다. 본 실시예에 따른 스캔 체인 고장을 진단하기 위한 스캔 셀 재배치 장치(100)는 입력부(110), 출력부(120), 프로세서(130), 메모리(140) 및 데이터베이스(150)를 포함한다. 도 2의 스캔 셀 재배치 장치(100)는 일 실시예에 따른 것으로서, 도 2에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 스캔 셀 재배치 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 스캔 셀 재배치 장치(100)는 스캔 셀을 재배치하는 컴퓨팅 장치로 구현될 수 있으며, 스캔 셀 재배치 장치(100)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 장치로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.
스캔 셀 재배치 장치(100)는 스캔 셀들 사이의 연결 관계를 분석하여 스캔 셀 사이의 코릴레이션(correlation)을 연산하고, 스캔 체인 사이 스캔 셀을 재배치하며, 스캔 체인 내 스캔 셀을 재배치하는 동작을 수행한다.
입력부(110)는 스캔 셀들을 재배치하기 위한 신호 또는 데이터를 입력하거나 획득하는 수단을 의미한다. 입력부(110)는 프로세서(150)와 연동하여 다양한 형태의 신호 또는 데이터를 입력하거나, 외부 장치와 연동하여 직접 데이터를 획득하여 프로세서(150)로 전달할 수도 있다. 입력부(110)는 실패 로그정보(fail log), 다양한 조건정보 또는 제어신호 등을 입력하거나 입력 받기 위한 장치 또는 서버 일수 있으나 반드시 이에 한정되는 것은 아니다.
출력부(120)는 프로세서(150)와 연동하여 실패 로그정보, 스캔 셀의 정보, 현재 배열된 스캔 셀 정보 등을 표시할 수 있다. 출력부(120)는 소정의 정보를 출력하기 위하여 스캔 셀 재배치 장치(100)에 구비된 디스플레이(미도시), 스피커 등을 통해 다양한 정보를 표시하는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
프로세서(150)는 메모리(140)에 포함된 적어도 하나의 명령어 또는 프로그램을 실행시키는 기능을 수행한다.
본 실시예에 따른 프로세서(150)는 입력부(110) 또는 데이터베이스(130)로부터 획득한 데이터를 기반으로 스캔 셀들 사이의 연결 관계를 분석하여 스캔 셀 사이의 코릴레이션(correlation)을 연산하고, 스캔 체인 사이 스캔 셀을 재배치하며, 스캔 체인 내 스캔 셀을 재배치하는 동작을 수행한다.
메모리(140)는 프로세서(150)에 의해 실행 가능한 적어도 하나의 명령어 또는 프로그램을 포함한다. 메모리(140)는 관심 영역을 추출, 클래스 결정, 질병 판단 등의 처리를 수행하기 위한 명령어 또는 프로그램을 포함할 수 있다. 메모리(140)는 스캔 셀들 사이의 연결 관계 분석 결과, 및 스캔 셀들 사이에서 연산된 코릴레이션 값들을 저장할 수 있다.
데이터베이스(130)는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미하는 것으로, 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 뜻하는 것으로, 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 발명의 일 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가지고 있다.
본 실시예에 따른 데이터베이스(130)는 학습용 실패 로그정보, 실패 로그정보, 조건 정보, 신경망 모델정보, 필터정보, 고장 진단 결과정보 등을 저장하고, 저장된 데이터를 제공할 수 있다. 한편, 데이터베이스(140)는 스캔 셀 재배치 장치(100) 내에 구현되는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 별도의 데이터 저장장치로 구현될 수도 있다.
도 3은 스캔 체인 1(S1)과 스캔 체인 2(S2)에 포함된 스캔 셀 들의 연결 관계를 분석하는 단계를 설명하기 위한 개요적 도면이다. 도 3으로 예시된 예에서, 스캔 체인 1(S1)은 0, 1, 2, 3 및 4의 다섯 개의 스캔 셀을 포함하고, 스캔 체인 2(S2)는 5, 6, 7, 8 및 9의 다섯 개의 스캔 셀을 포함하는 것을 예시한다. 다만, 이는 간결하고 명확한 이해를 위한 예시이며, 본 발명의 범위를 제한하기 위한 것이 아니다.
연결 관계를 분석하는 단계(S100)에서는 어느 하나의 스캔 셀과 시스템 로직을 통하여 연결되어 있어 캡쳐시 영향을 미치는 셀들을 파악한다. 일 예로, 스캔 셀 0의 연결 관계를 분석하면, 캡쳐(capture)시 스캔 셀 0이 신호를 제공할 때, 스캔 셀 0에 의하여 영향을 받는 스캔 셀인 스캔 셀 5를 검출하여 저장된다. 이와 같은 분석된 연결 관계는 도 3에서 화살표로 도시되었다. 연결 관계를 분석하는 단계(S100)에서는 아래의 표 1로 예시된 것과 같이 각 스캔 체인 내에 포함된 스캔 셀들 사이의 연결 관계를 파악한다. 분석된 연결 관계는 스캔 셀 배치 장치의 메모리(140) 혹은 데이터 베이스(130)에 룩업 테이블(look up table)의 형태로 저장될 수 있다.
[표 1]
Figure 112020112527633-pat00001
스캔 체인들에 포함된 스캔 셀들에 대하여 코릴레이션(correlation)을 연산한다(S200). 코릴레이션은 각 스캔 셀들의 연결 상태가 유사한 정도를 나타내며, 스캔 셀 들 사이의 코릴레이션은 아래의 수학식 1과 같이 연산될 수 있다.
[수학식 1]
Figure 112020112527633-pat00002
COR(A,B) : A와 B 사이의 코릴레이션, NAB : A와 B 사이에 동일하게 연결된 스캔 셀의 개수, NA : 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)는 서로 같지 않을 수 있다.
코릴레이션을 연산하는 단계(S200)는 모든 스캔 셀 들 사이에서 수행되며, 스캔 셀들 사이에서 연산된 코릴레이션 값들은 스캔 셀 배치 장치의 메모리(140) 혹은 데이터 베이스(130)에 룩업 테이블(look up table)의 형태로 저장될 수 있다.
스캔 체인 간 스캔 셀 재배치(inter-scan-chain scan cell reordering)를 수행한다(S300). 도 4는 스캔 체인 간 스캔 셀 재배치된 스캔 셀들을 개요적으로 도시한 도면이고, 표 2는 스캔 체인 1(S1)과 스캔 체인 2(S2)에서 스캔 체인 간 스캔 셀 재배치 전후의 스캔 체인 내 연결 관계의 수를 표시한 표이다.
[표 2]
Figure 112020112527633-pat00003
도 3, 도 4 및 표 2를 참조하면, 스캔 체인 1(S1)과 스캔 체인 2(S2)에서 동일한 체인 내에서 연결 관계의 수가 임계값 이상인 스캔 셀을 파악한다. 예시된 예에서, 임계값이 2인 경우에, 스캔 체인 1(S1)에서 스캔 셀 4와 스캔 체인 2(S2)에서 스캔 셀 8의 동일 체인 내 연결수가 2로 임계값인 2 이상이다. 다른 실시예에서, 각 스캔 체인 내에서 가장 많은 체인 내 연결수를 가지는 스캔 체인에 대하여 스캔 체인 간 스캔 셀 재배치를 수행할 수 있다.
스캔 체인 간 스캔 셀 재배치 과정에서 스캔 체인 1(S1)의 스캔 셀 4와 스캔 체인 2(S2)의 스캔 셀 8의 위치를 바꾼다. 즉, 스캔 체인 1(S1)의 스캔 셀 4는 스캔 체인 2(S2)의 스캔 셀 8로 대치되고, 마찬가지로, 스캔 체인 2(S2)의 스캔 셀 8은 스캔 체인 1(S1)의 스캔 셀 4로 대치된다. 다만, 스캔 체인 간 스캔 셀 재배치 과정에서 재배치되는 스캔 셀과 로직 회로 및 다른 스캔 셀과의 연결 관계는 그대로 유지된다.
복수의 스캔 체인 사이에서 스캔 체인 간 스캔 셀 재배치가 수행될 수 있다. 복수의 스캔 체인들에서, 동일한 체인 내에서 연결 관계의 수가 임계값 이상인 스캔 셀 또는 동일한 체인 내에서 연결 관계의 수가 제일 많은 스캔 셀을 파악한다.
스캔 체인 간 스캔 셀 재배치가 수행될 스캔 체인의 타겟 스캔 셀과 다른 스캔 체인들의 후보 스캔 셀들을 순차적으로 대치하여 동일 체인 내의 연결 수를 파악한다. 타겟 스캔 셀과 후보 스캔 셀을 순차적으로 대치하여 얻어진 동일 체인 내 연결 수 들 중에서 가장 적은 연결 수를 가지는 후보 스캔 셀과 타겟 스캔 셀을 대치하여 스캔 체인 간 스캔 셀 재배치를 수행한다. 이와 같은 스캔 체인 간 스캔 셀 재배치는 그리디 알고리즘(Greedy algorithm)으로 수행될 수 있다.
스캔 체인 간 스캔 셀 재배치 과정은 스캔 체인 간에 셀을 교환하여 스캔 체인 내에서 다수의 연결 관계가 있는 셀이 그 스캔 체인에 속하지 않도록 수행된다. 어느 한 스캔 셀과 연결 관계에 있는 복수의 스캔 셀들이 동일한 스캔 체인 내에서 있다면 그 셀에 고장이 발생하였을 때 스캔 인에 가까이 발생한 고장에 의하여 캡쳐 동작시 고장이 발생하였다 해도 그 체인에 존재하는 고장으로 가려진다. 스캔 체인 내에 연결 관계가 많은 스캔 셀을 다른 체인으로 분배하여 고장의 특징이 다른 체인으로 많이 퍼질 수 있도록 변경할 수 있다.
따라서, 스캔 체인 간 스캔 셀 재배치에 의하여 후술할 바와 같이 뉴럴 네트워크 등으로 고장을 인식할 수 있도록 고장에 따른 정확한 패턴을 형성할 수 있으며, 동일한 스캔 체인 내에서 고장이 가려지는 것을 감소시킬 수 있다.
스캔 체인 내 스캔 셀 재배치를 수행한다(S400). 도 5는 스캔 체인 내 스캔 셀 제배치 단계(S400)의 각 세부 단계를 도시한 도면이다. 도 5를 참조하면, 스캔 체인 내 스캔 셀 재배치 과정(S400)은 연결된 스캔 셀의 개수에 따른 스캔 셀 배치 과정(S410)과, 그룹 내 코릴레이션에 따른 스캔 셀 배치(S420) 단계를 포함할 수 있다.
도 6은 연결된 스캔 셀의 개수에 따른 스캔 셀 배치 과정(S410)을 간략하게 도시한 도면이고, 표 3은 각 스캔 셀과 연결된 스캔 셀의 개수를 나타낸 표이다.
[표 3]
Figure 112020112527633-pat00004
도 6 및 표 3을 참조하면, 스캔 셀의 개수에 따른 스캔 셀 배치 단계는, 연결된 스캔 셀의 개수가 많은 스캔 셀일수록 스캔 인(scan in)쪽으로 배치하고, 연결된 스캔 셀의 개수가 적은 스캔 셀일수록 스캔 아웃(scan out)쪽으로 배치하여 수행된다.
스캔 체인 1(S1)에서, 연결된 스캔 셀 개수가 가장 많은 스캔 셀인 3, 8을 스캔 인에 가장 가깝게 배치한다. 스캔 셀 3과 8은 모두 스캔 셀 6과 연결 관계에 있으므로 이들을 인접하게 배치하면 고장이 가려져 파악되지 않을 수 있다. 따라서, 적어도 하나의 스캔 셀 간격을 두고 이격시켜 배치한다.
스캔 체인 2(S2)에서, 연결된 스캔 셀 개수가 가장 많은 4를 스캔 인에 가장 가깝게 배치한다. 따라서, 스캔 체인 2(S2)에서는 스캔 셀 4가 스캔 인과 가장 가깝게 배치된다.
연결된 스캔 셀의 개수가 많을수록 그 고장이 다른 체인들에 많이 전파되어 고장 로그에 많은 영향을 미친다. 따라서 이러한 셀의 위치가 고장을 판별하기 스캔 체인 내의 어려운 자리로 배치되면 이 고장의 영향력에 의하여 고장의 예측이 좀 더 쉬워질 수 있다.
스캔 체인 1(S1)에서, 연결된 스캔 셀 개수가 가장 적은 스캔 셀인 1을 스캔 아웃에 가장 가깝게 배치한다. 스캔 체인 2(S2)에서, 연결된 스캔 셀 개수가 가장 적은 스캔 셀인 5를 스캔 아웃에 가장 가깝게 배치한다. 이어서, 상술한 바와 같이 연결된 스캔 셀의 개수의 대로 남아있는 스캔 셀을 재배치한다.
이어서, 그룹 내 코릴레이션에 따라 스캔 셀을 배치한다(S420). 스캔 체인 내에서 복수개의 스캔 셀들을 순서대로 그룹짓는다. 일 예로, 한 그룹에 속하는 스캔 셀들은 2 개 이상 30개 미만일 수 있다.
이어서, 그룹 내에서 스캔 셀들의 위치를 변화시키고, 스캔 셀 들 사이의 코릴레이션의 합을 연산하여 코릴레이션의 합이 최소가 되는 스캔 셀들의 위치를 연산한다. 일 예로, 코릴레이션의 합은 스캔 체인에 포함된 스캔 셀들의 코릴레이션 값의 합일 수 있다. 다른 예로, 코릴레이션 값의 합은 그룹 내에 포함된 스캔 셀들 사이의 코릴레이션 값의 합일 수 있다.
위에서 설명한 바와 같이 Cor(X, Y)와 Cor(Y, X)의 값은 서로 상이하므로, 그룹 내에서 스캔 셀들의 위치를 변화시킴에 따라 코릴레이션 값의 합은 변화하며, 코릴레이션 값의 합이 최소가 되는 스캔 셀의 위치를 파악할 수 있다. 또한, 스캔 체인에 포함된 스캔 셀들에 대한 코릴레이션 값은 메모리에 저장되어 있어 이를 이용하면 용이하게 스캔 셀 재배치를 수행할 수 있다.
상술한 바와 같이 스캔 체인 내의 스캔 셀을 재배치함으로써 스캔 체인 내의 고장이 검출 불가능하게 가려지는 것을 막고, 인공 지능을 통하여 용이하게 고장을 진단할 수 있는 패턴을 형성할 수 있다는 장점이 제공된다.
이상의 설명은 본 발명의 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 실시예들은 본 발명의 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
S100~S400: 본 실시예에 의한 스캔 셀 재배치 방법의 개요적 각 단계
S410~S420: 스캔 체인 내 스켄 셀 재배치 단계의 세부 단계
100: 스캔 셀 재배치 장치 110: 입력부
120: 출력부 140: 메모리
150: 프로세서

Claims (20)

  1. 복수의 스캔 체인들에 포함된 스캔 셀들의 재배치 방법으로, 상기 스캔 셀의 재배치 방법은:
    상기 스캔 셀의 연결 관계를 분석하는 단계와,
    상기 스캔 셀 사이의 코릴레이션을 연산하는 단계와,
    상기 스캔 체인 내의 상기 연결관계에 따라 상기 스캔 체인 간 스캔 셀을 재배치하는 단계 및
    상기 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함하고,
    상기 스캔 체인 내 스캔 셀을 재배치하는 단계는,
    (a) 연결된 스캔 셀의 개수에 따라 스캔 셀을 배치하는 단계 및
    (b) 코릴레이션에 따른 스캔 셀 그룹 내 스캔 셀 배치 단계를 포함하여 수행되는 스캔 셀의 재배치 방법.
  2. 제1항에 있어서,
    상기 연결 관계를 분석하는 단계는,
    상기 스캔 셀이 시스템 로직을 통하여 연결되어 캡쳐시 영향을 미치는 스캔 셀을 파악하여 수행하는 스캔 셀의 재배치 방법.
  3. 제1항에 있어서,
    상기 코릴레이션을 연산하는 단계는,
    상기 복수의 스캔 체인들에 포함된 상기 복수의 스캔 셀들 각각에 대하여 연산하는 스캔 셀의 재배치 방법.
  4. 제1항에 있어서,
    상기 코릴레이션을 연산하는 단계는,
    수학식
    Figure 112020112527633-pat00005

    을 연산하여 수행하는 스캔 셀의 재배치 방법.
    (COR(A,B) : A와 B 사이의 코릴레이션, NAB : A와 B 사이에 동일하게 연결된 스캔 셀의 개수, NA : A와 연결된 스캔 셀들의 개수)
  5. 제1항에 있어서,
    상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
    (a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 임계값 이상인 스캔 셀을 파악하는 단계와,
    (b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
    (c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
    (d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 스캔 셀을 대치하는 단계를 포함하는 스캔 셀의 재배치 방법.
  6. 제1항에 있어서,
    상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
    (a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 가장 큰 스캔 셀을 파악하는 단계와,
    (b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
    (c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
    (d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 스캔 셀을 대치하는 단계를 포함하는 스캔 셀의 재배치 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 (a) 단계는,
    연결된 스캔 셀의 개수가 많은 스캔 셀일수록 스캔 인(scan in)쪽으로 배치하여 수행하는 스캔 셀의 재배치 방법.
  9. 제1항에 있어서,
    상기 (a) 단계는,
    상기 연결된 스캔 셀의 개수가 동일한 스캔 셀들이 서로 동일한 스캔 셀과 연결되면 서로 하나 이상의 스캔 셀 간격만큼 이격시켜 배치하는 스캔 셀의 재배치 방법.
  10. 제1항에 있어서,
    상기 (b) 단계는,
    (b1)상기 스캔 체인을 복수의 스캔 셀 그룹으로 분할하는 단계,
    (b2) 상기 복수의 스캔 셀 그룹에 포함된 상기 스캔 셀들의 위치를 변화시키면서 상기 스캔 체인에 포함된 각 스캔 셀들 사이의 코릴레이션을 연산하는 단계 및
    (b3) 상기 스캔 체인 내의 스캔 셀들의 코릴레이션 값의 합이 최소가 되도록 상기 스캔 셀들을 배치하는 단계를 포함하는 스캔 셀의 재배치 방법.
  11. 칩과 연결된 스캔 체인에 포함된 스캔 셀을 재배치하는 장치로, 상기 장치는:
    적어도 하나 이상의 프로세서; 및
    상기 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 상기 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서들에서,
    상기 스캔 체인에 포함된 스캔 셀의 연결 관계를 분석하는 단계와,
    상기 스캔 셀 사이의 코릴레이션을 연산하는 단계와,
    상기 스캔 체인 간 스캔 셀을 재배치하는 단계 및
    상기 스캔 체인 내 스캔 셀을 재배치하는 단계를 포함하는 동작들을 수행하게 하고,
    상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
    (a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 임계값 이상인 스캔 셀을 파악하는 단계와,
    (b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
    (c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
    (d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 셀을 대치하는 단계를 포함하는 스캔 셀 재배치 장치.
  12. 제11항에 있어서,
    상기 연결 관계를 분석하는 단계는,
    상기 스캔 셀이 시스템 로직을 통하여 연결되어 캡쳐시 영향을 미치는 스캔 셀을 파악하여 수행하는 스캔 셀 재배치 장치.
  13. 제11항에 있어서,
    상기 코릴레이션을 연산하는 단계는,
    상기 복수의 스캔 체인들에 포함된 상기 복수의 스캔 셀들 각각에 대하여 연산하는 스캔 셀 재배치 장치.
  14. 제11항에 있어서,
    상기 코릴레이션을 연산하는 단계는,
    수학식
    Figure 112020112527633-pat00006

    을 연산하여 수행하는 스캔 셀 재배치 장치.
    (COR(A,B) : A와 B 사이의 코릴레이션, NAB : A와 B 사이에 동일하게 연결된 스캔 셀의 개수, NA : A와 연결된 스캔 셀들의 개수)
  15. 삭제
  16. 제11항에 있어서,
    상기 스캔 체인 간 스캔 셀을 재배치하는 단계는,
    (a) 각각의 스캔 체인 내에서 상기 연결 관계의 수가 가장 큰 스캔 셀을 파악하는 단계와,
    (b) 상기 (a) 단계의 결과에서 타겟 스캔 셀과 하나 이상의 후보 스캔 셀을 파악하는 단계와,
    (c) 상기 타겟 스캔 셀을 상기 후보 스캔 셀로 대치하여 상기 스캔 체인 내연결 관계의 수를 계수하는 단계 및
    (d) 상기 (c) 단계의 계수 결과가 가장 적은 후보 스캔 셀로 상기 타겟 스캔 셀을 대치하는 단계를 포함하는 스캔 셀 재배치 장치.
  17. 제11항에 있어서,
    상기 스캔 체인 내 스캔 셀을 재배치하는 단계는,
    (a) 연결된 스캔 셀의 개수에 따라 스캔 셀을 배치하는 단계 및
    (b) 코릴레이션에 따른 스캔 셀 그룹 내 스캔 셀 배치 단계를 포함하여 수행되는 스캔 셀 재배치 장치.
  18. 제17항에 있어서,
    상기 (a) 단계는,
    연결된 스캔 셀의 개수가 많은 스캔 셀일수록 스캔 인(scan in)쪽으로 배치하여 수행하는 스캔 셀 재배치 장치.
  19. 제17항에 있어서,
    상기 (a) 단계는,
    상기 연결된 스캔 셀의 개수가 동일한 스캔 셀들이 서로 동일한 스캔 셀과 연결되면 서로 하나 이상의 스캔 셀 간격만큼 이격시켜 배치하는 스캔 셀 재배치 장치.
  20. 제17항에 있어서,
    상기 (b) 단계는,
    (b1)상기 스캔 체인을 복수의 스캔 셀 그룹으로 분할하는 단계,
    (b2) 상기 복수의 스캔 셀 그룹에 포함된 상기 스캔 셀들의 위치를 변화시키면서 상기 스캔 체인에 포함된 각 스캔 셀들 사이의 코릴레이션을 연산하는 단계 및
    (b3) 상기 스캔 체인 내의 스캔 셀들의 코릴레이션 값의 합이 최소가 되도록 상기 스캔 셀들을 배치하는 단계를 포함하는 스캔 셀 재배치 장치.
KR1020200138121A 2020-10-23 2020-10-23 스캔 셀 재배치 방법 및 스캔 셀 재배치 장치 KR102412816B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200138121A KR102412816B1 (ko) 2020-10-23 2020-10-23 스캔 셀 재배치 방법 및 스캔 셀 재배치 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200138121A KR102412816B1 (ko) 2020-10-23 2020-10-23 스캔 셀 재배치 방법 및 스캔 셀 재배치 장치

Publications (2)

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

Family

ID=81593480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200138121A KR102412816B1 (ko) 2020-10-23 2020-10-23 스캔 셀 재배치 방법 및 스캔 셀 재배치 장치

Country Status (1)

Country Link
KR (1) KR102412816B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102450484B1 (ko) * 2020-12-18 2022-09-30 연세대학교 산학협력단 테스트 포인트 삽입을 통하여 향상된 검출율을 가지는 고장 검출 방법, 고장 검출 장치 및 가중치 인가 회로
KR102513278B1 (ko) * 2021-04-16 2023-03-23 연세대학교 산학협력단 스캔 체인의 자가 테스트를 위한 삽입 노드 결정 방법 및 장치

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005517189A (ja) 2002-01-16 2005-06-09 シンテスト・テクノロジーズ・インコーポレーテッド スキャンベースの集積回路でスキャンパターンをブロードキャストする方法および装置
JP2005214981A (ja) 2004-01-31 2005-08-11 Samsung Electronics Co Ltd スキャンベースatpgテスト回路、テスト方法及びスキャンチェーン再配置方法
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 (ko) 2016-02-01 2016-12-02 연세대학교 산학협력단 스캔 셀 파티션에 기반을 둔 x-filling 및 저전력 스캔 셀 재배열 장치 및 방법
KR102273138B1 (ko) 2020-02-28 2021-07-02 연세대학교 산학협력단 스캔 체인 내 다중 고장을 진단하기 위한 장치 및 방법
KR102279047B1 (ko) 2020-03-31 2021-07-16 연세대학교 산학협력단 필터를 이용한 스캔 체인 고장 진단 방법 및 그를 위한 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005517189A (ja) 2002-01-16 2005-06-09 シンテスト・テクノロジーズ・インコーポレーテッド スキャンベースの集積回路でスキャンパターンをブロードキャストする方法および装置
JP2005214981A (ja) 2004-01-31 2005-08-11 Samsung Electronics Co Ltd スキャンベースatpgテスト回路、テスト方法及びスキャンチェーン再配置方法
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 (ko) 2016-02-01 2016-12-02 연세대학교 산학협력단 스캔 셀 파티션에 기반을 둔 x-filling 및 저전력 스캔 셀 재배열 장치 및 방법
KR102273138B1 (ko) 2020-02-28 2021-07-02 연세대학교 산학협력단 스캔 체인 내 다중 고장을 진단하기 위한 장치 및 방법
KR102279047B1 (ko) 2020-03-31 2021-07-16 연세대학교 산학협력단 필터를 이용한 스캔 체인 고장 진단 방법 및 그를 위한 장치

Also Published As

Publication number Publication date
KR20220053870A (ko) 2022-05-02

Similar Documents

Publication Publication Date Title
US8812922B2 (en) Speeding up defect diagnosis techniques
US8280687B2 (en) Direct fault diagnostics using per-pattern compactor signatures
US8438438B2 (en) Enhanced diagnosis with limited failure cycles
JP4791954B2 (ja) コンパクタを使用する試験応答の圧縮
US7844873B2 (en) Fault location estimation system, fault location estimation method, and fault location estimation program for multiple faults in logic circuit
US8280688B2 (en) Compactor independent direct diagnosis of test hardware
US20150370685A1 (en) Defect localization in software integration tests
KR102412816B1 (ko) 스캔 셀 재배치 방법 및 스캔 셀 재배치 장치
US11361248B2 (en) Multi-stage machine learning-based chain diagnosis
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
US20180252768A1 (en) Test Application Time Reduction Using Capture-Per-Cycle Test Points
CN106557420B (zh) 测试db数据生成方法及装置
US10605863B2 (en) Mapping physical shift failures to scan cells for detecting physical faults in integrated circuits
US8843796B2 (en) Profiling-based scan chain diagnosis
US11681843B2 (en) Input data compression for machine learning-based chain diagnosis
US7506279B2 (en) Design supporting apparatus capable of checking functional description of large-scale integrated circuit to detect fault in said circuit
KR102450484B1 (ko) 테스트 포인트 삽입을 통하여 향상된 검출율을 가지는 고장 검출 방법, 고장 검출 장치 및 가중치 인가 회로
CN108984397B (zh) 黑盒故障注入方法和***及介质设备
Lin et al. On achieving maximal chain diagnosis resolution through test pattern selection
US10598730B1 (en) Testing method and testing system
Huang et al. Online scan diagnosis: A novel approach to volume diagnosis
KR102382520B1 (ko) 스캔 체인 형성 방법 및 스캔 체인 형성 장치
KR20230090040A (ko) 스캔 셀의 고장 검출 방법 및 스캔 셀의 고장 검출 장치
KR20230101977A (ko) 회로의 고장 진단 방법 및 장치

Legal Events

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