KR102382520B1 - 스캔 체인 형성 방법 및 스캔 체인 형성 장치 - Google Patents

스캔 체인 형성 방법 및 스캔 체인 형성 장치 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
English (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 KR1020200150874A priority Critical patent/KR102382520B1/ko
Application granted granted Critical
Publication of KR102382520B1 publication Critical patent/KR102382520B1/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/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

Abstract

본 실시예에 의한 스캔 체인 형성 방법은 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계와, 스캔 추정값으로 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계와, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및 파티션된 스캔 체인 내의 각 스캔 셀들을 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 포함한다.

Description

스캔 체인 형성 방법 및 스캔 체인 형성 장치{SCAN CHAIN ORDERING METHOD AND SCAN CHAIN ORDERING APPARATUS}
본 기술은 스캔 체인 오더링 방법 및 스캔 체인 오더링 장치와 관련된다.
칩의 집적도 및 복잡도의 증가에 따라 지속적으로 테스트의 복잡도가 비례하여 증가하고 있다. 이에 대한 대안으로 스캔 테스트 기법이 널리 사용되는데, 스캔 체인에서 고장이 발생하게 되는 경우 플러시 테스트(flush test)으로는 고장이 발생한 체인의 위치는 알아낼 수 있으나 고장이 발생한 스캔 셀의 위치를 확인할 방법이 없다. 따라서 다양한 스캔 체인 진단 방법이 제시되고 있다.
종래 기술의 경우 저전력 테스트를 위한 스캔 체인 스티칭 방법으로 크게 테스트 패턴 기반 방식과 로직 형태(logic topology)를 분석하는 방식으로 나눌 수 있다. 테스트 패턴 기반 방식으로는 테스트 패턴을 사용하여 해당 패턴으로 스캔 테스트를 진행하였을 때 발생하는 전력 소모가 가장 적게 스캔 순서를 변경하는 방법이다. 하지만 테스트 패턴 기반 방식은 정해진 패턴만 사용해야 되며 여러가지 패턴을 사용 하는 경우에는 효과가 없다는 측면에서 한계가 존재한다.
본 기술로 해결하고자 하는 과제 중 하나는 상기한 종래 기술의 난점을 해소하기 위한 것이다. 즉, 저전력 칩을 테스트할 수 있도록 스캔 체인을 배열하는 방법과 장치를 제공하는 것이 본 기술로 해결하고자 하는 과제 중 하나이다.
본 실시예에 의한 스캔 체인 형성 방법은 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계와, 스캔 추정값으로 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계와, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및 파티션된 스캔 체인 내의 각 스캔 셀들을 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 포함한다.
본 실시예의 일 측면에 의하면 스캔 체인 형성 방법은, 스캔 영향도를 연산하는 단계 이후, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함한다.
본 실시예의 일 측면에 의하면 상호 연관도를 연산하는 단계는, 각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나, 각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행된다.
본 실시예의 일 측면에 의하면 스캔 추정값을 연산하는 단계는, 각 스캔 셀의 0 제어도와 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행된다.
본 실시예의 일 측면에 의하면 스캔 추정값을 연산하는 단계는, 수학식
Figure 112020121149767-pat00001
을 연산하여 수행한다.
(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)
본 실시예의 일 측면에 의하면 파티셔닝 하는 단계는, 스캔 체인을 이루는 모든 스캔 셀들을 스캔 추정값의 크기에 따라 배치하여 수행한다.
본 실시예의 일 측면에 의하면 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는, 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행한다.
본 실시예의 일 측면에 의하면, 스캔 영향도를 연산하는 단계는, 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행한다.
본 실시예의 일 측면에 의하면스캔 영향도순으로 배치하는 단계는, 스캔 입력에서 스캔 출력 까지 스캔 영향도 값의 순서대로 스캔 셀을 배치하여 수행한다.
본 실시예에 의한 스캔 체인 형성 장치는 칩과 연결된 스캔 셀을 배치하여 스캔 체인을 형성하는 장치로, 적어도 하나 이상의 프로세서; 및 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서들에서, 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계와, 스캔 추정값으로 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계와 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및 파티션된 스캔 체인 내의 각 스캔 셀들을 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 수행한다.
본 실시예의 일 측면에 의하면 스캔 체인 형성 방법은, 스캔 영향도를 연산하는 단계 이후, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함한다.
본 실시예의 일 측면에 의하면, 상호 연관도를 연산하는 단계는, 각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나, 각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행된다.
본 실시예의 일 측면에 의하면, 스캔 추정값을 연산하는 단계는, 각 스캔 셀의 0 제어도와 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행한다.
본 실시예의 일 측면에 의하면, 스캔 추정값을 연산하는 단계는, 수학식
Figure 112020121149767-pat00002
을 연산하여 수행한다.
(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)
본 실시예의 일 측면에 의하면, 파티셔닝 하는 단계는, 스캔 체인을 이루는 모든 스캔 셀들을 스캔 추정값의 크기에 따라 배치하여 수행한다.
본 실시예의 일 측면에 의하면, 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는, 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행한다.
본 실시예의 일 측면에 의하면, 스캔 영향도를 연산하는 단계는, 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행한다.
본 실시예의 일 측면에 의하면, 스캔 영향도순으로 배치하는 단계는, 스캔 입력에서 스캔 출력 까지 스캔 영향도 값의 순서대로 스캔 셀을 배치하여 수행한다.
본 실시예에 의하면 스캔 셀에 입력되는 신호 및 스캔 셀에서 출력되는 신호의 레벨 변화의 회수를 감소시켜 테스트시 소모되는 전력을 감소시킬 수 있다는 장점이 제공된다.
도 1은 본 실시예에 의한 스캔 체인 형성 방법의 개요를 나타내는 순서도이다.
도 2는 본 실시예에 의한 스캔 체인 형성 장치의 개요를 도시한 블록도이다.
도 3(A)는 각각 복수의 스캔 셀(SC)들을 포함하는 스캔 체인들(scan chain 0, scan chain 1, scan chain n)을 개요적으로 도시한 도면이고, 도 3(B)는 어느 하나의 스캔 체인에서 스캔 파티셔닝을 수행하는 과정을 도시한 도면이다.
도 4는 스캔 영향도(SI)를 연산하는 과정을 개요적으로 도시한 도면이다.
도 5(a)는 각 스캔 체인에 다섯 개의 스캔 셀들을 포함하는 경우에, 각 스캔 셀들과 스캔 셀들의 스캔 영향도(SI)를 회색 삼각형과 그 값으로으로 도시한 도면이고, 도 5(b)는 각 스캔 셀들을 배치하여 스캔 체인을 형성한 과정을 예시한 도면이다.
도 1은 본 실시예에 의한 스캔 체인 형성 방법의 개요를 나타내는 순서도이다. 도 1을 참조하면, 본 실시예에 의한 스캔 체인 형성 방법은 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계(S100)와, 상기 스캔 추정값으로 상기 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계(S200)와, 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계(S300) 및 파티션된 상기 스캔 체인 내의 각 스캔 셀들을 상기 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계(S400)를 포함한다.
도 2는 본 실시예에 의한 스캔 체인 형성 장치의 개요를 도시한 블록도이다. 도 2를 참조하면, 본 실시예에 따른 스캔 체인 형성 장치(100)는 입력부(110), 출력부(120), 프로세서(130), 메모리(140) 및 데이터베이스(150)를 포함한다. 도 2의 스캔 체인 형성 장치(100)는 일 실시예에 따른 것으로서, 도 2에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 스캔 체인 형성 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 스캔 체인 형성 장치(100)는 스캔 셀을 재배치하는 컴퓨팅 장치로 구현될 수 있으며, 스캔 체인 형성 장치(100)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 장치로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.
스캔 체인 형성 장치(100)는 스캔 추정값 연산(S100, 도 1 참조), 스캔 파티셔닝(S200, 도 1 참조), 스캔 영향도 연산(S300, 도 1 참조) 및 스캔 체인 형성(S400, 도 1 참조)의 단계 등을 수행한다.
입력부(110)는 스캔 체인 형성을 위한 신호 또는 데이터를 입력하거나 획득하는 수단을 의미한다. 입력부(110)는 프로세서(130)와 연동하여 다양한 형태의 신호 또는 데이터를 입력하거나, 외부 장치와 연동하여 직접 데이터를 획득하여 프로세서(130)로 전달할 수도 있다. 입력부(110)는 실패 로그정보(fail log), 다양한 조건정보 또는 제어신호 등을 입력하거나 입력 받기 위한 장치 또는 서버 일수 있으나 반드시 이에 한정되는 것은 아니다.
출력부(120)는 프로세서(130)와 연동하여 스캔 추정값, 스캔 영향도 값, 상호 연관도 값, 스캔 실패 로그정보, 스캔 셀의 정보, 현재 배열된 스캔 셀 정보 등을 표시할 수 있다. 출력부(120)는 소정의 정보를 출력하기 위하여 스캔 체인 형성 장치(100)에 구비된 디스플레이(미도시), 스피커 등을 통해 다양한 정보를 표시하는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
프로세서(130)는 메모리(140)에 포함된 적어도 하나의 명령어 또는 프로그램을 실행시키는 기능을 수행한다.
본 실시예에 따른 프로세서(130)는 입력부(110) 또는 데이터베이스(150)로부터 획득한 데이터를 기반으로 각 단계를 수행하기 위한 데이터를 연산하고, 스캔 셀을 배열하여 스캔 체인을 형성하는 동작을 수행한다.
메모리(140)는 프로세서(130)에 의해 실행 가능한 적어도 하나의 명령어 또는 프로그램을 포함한다. 메모리(140)는 관심 영역을 추출, 클래스 결정 등의 처리를 수행하기 위한 명령어 또는 프로그램을 포함할 수 있다. 메모리(140)는 각 단계에서 수행된 결과, 중간값 등의 연관된 값들을 저장할 수 있다.
데이터베이스(150)는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미하는 것으로, 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 뜻하는 것으로, 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 발명의 일 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가지고 있다.
본 실시예에 따른 데이터베이스(150)는 학습용 실패 로그정보, 실패 로그정보, 조건 정보, 신경망 모델정보, 필터정보, 고장 진단 결과정보 등을 저장하고, 저장된 데이터를 제공할 수 있다. 한편, 데이터베이스(140)는 스캔 체인 형성 장치(100) 내에 구현되는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 별도의 데이터 저장장치로 구현될 수도 있다.
도 1 및 도 2를 참조하면, 스캔 추정값을 연산(S100)한다. 테스트 대상인 로직 회로에 테스트 벡터가 입력되는 시프트 인(shift-in) 단계를 거쳐 로직 회로에서 출력되는 값을 획득하는 캡쳐(capture)값이 스캔 체인을 이루는 각 스캔 셀들에 입력된다. 스캔 추정값(scan estimation value, SE)은 각 스캔 셀들에 논리 0이 많이 입력되는지, 논리 1이 많이 입력되는지 확률적으로 연산되는 값이다. 따라서, 스캔 추정값에 따라 스캔 체인 내에 스캔 셀들이 배치됨에 따라 스캔 체인 내 인접한 스캔 셀들 사이에서 출력되는 신호의 L -> H 혹은 H -> L 로의 레벨 전환의 수가 감소하며, 이로부터 테스트시 전력 소모를 감소할 수 있다는 장점이 제공된다.
스캔 추정값은 각 스캔 셀의 0 제어도(controllability, C0) 및 1 제어도(C1)로부터 연산될 수 있다. 일 예로, C0는 회로의 입력(input)으로부터 대상 노드(node)에서 논리 0을 형성하기 어려운 정도를 수치화한 값이고, C1은 회로의 입력으로부터 대상 노드(node)에서 논리 1을 형성하기 어려운 정도를 수치화한 값이다. 따라서, 어떤 노드의 C0값이 크다는 의미는 그 노드에 논리 0 값이 형성되는 확률이 낮고, C1값이 크다는 의미는 그 노드에 논리 1 값이 형성되는 확률이 낮음을 의미한다.
C0 및 C1은 입력에서 출력까지 순차적으로 계산될 수 있으며, 입력된 신호가 하나 이상의 게이트를 통과할 때마다 아래의 표와 같이 C0와 C1이 연산된다.
Figure 112020121149767-pat00003
표 1을 참조하면, 초기 조건으로 입력의 C0와 C1은 각각 1로 설정된다. 일 예로, 신호가 AND 게이트를 통과할 때, AND 게이트의 출력 노드에서 C0는 AND 게이트 입력 노드에서의 C0 값들 중 최소값에 1을 더하여 연산되고, C1은 AND 게이트 입력 노드에서의 C1 값들의 합에 1을 더하여 연산된다.
일 예로, 신호가 OR 게이트를 통과할 때, OR 게이트의 출력 노드에서 C0는 OR 게이트 입력 노드에서의 C0 값들의 합에 1을 더하여 연산되고, C1은 OR 게이트 입력 노드에서의 C1 값들 중 최소값에 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을 더하여 연산된다.
연산된 C0, C1을 이용하여 스캔 추정값(SE)을 연산한다. 스캔 추정값은 아래의 수학식과 같이 연산될 수 있다.
[수학식]
Figure 112020121149767-pat00004
(SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)
상기한 수학식에서, 대상 스캔 셀의 스캔 추정값(SE)는 스캔 셀의 입력 노드에 논리 0가 얼마나 형성되기 힘든 정도를 연산하는 것으로 기재되어 있으나, 이는 일 실시예일 따름이며, 수학식 1에서 C1n(대상 스캔 셀의 1 제어도)가 분자로 위치할 수 있으며, 이 때의 대상 스캔 셀의 스캔 추정값(SE)은 스캔 셀의 입력 노드에 논리 1이 얼마나 형성되기 힘든 정도를 나타내는 것일 수 있다. 이와 같이 연산된 스캔 추정값(SE)는 스캔 체인에 포함되는 모든 스캔 셀들에 대하여 연산된다.
도 3은 복수의 스캔 셀들에 대하여 스캔 파티셔닝을 수행하는 단계(S200)를 설명하기 위한 개요도이다. 도 3(A)는 각각 복수의 스캔 셀(SC)들을 포함하는 스캔 체인들(scan chain 0, scan chain 1, scan chain n)을 개요적으로 도시한 도면이다. 도 3(A)를 참조하면, 각 스캔 체인에는 테스트 입력이 제공되고, 테스트 입력을 테스트 대상 로직 회로(미도시)에 출력하고, 테스트 입력이 제공된 로직 회로가 출력한 값을 제공받는 복수의 스캔 셀(SC)들을 포함한다.
일 실시예로, 스캔 셀(SC)들은 멀티플렉서(multiplexer)가 형성된 D 플립플롭일 수 있다. 스캔 셀(SC)들은 스캔 입력(scan input, SI)과 스캔 출력(scan output, SO) 사이에서 서로 캐스케이드 연결되어 테스트 대상 입력이 연결되고, 로직 회로의 테스트시에 각 스캔 셀들은 멀티플렉서를 통하여 로직 회로에 각각 테스트 입력을 제공할 수 있다. 칩(chip)에 형성되는 스캔 체인의 개수 및 각 스캔 체인에 포함된 스캔 셀들의 개수는 회로의 설계 과정에서 정해진다.
도 3(B)는 어느 하나의 스캔 체인에서 스캔 파티셔닝을 수행하는 과정을 도시한 도면이다. 도 3(B)를 참조하면, 연산된 스캔 추정값(SE)들에 따라 복수의 스캔 셀들을 스캔 체인에 배치한다. 도 3(B)로 도시된 실시예에서, 스캔 셀들의 스캔 추정값이 클수록 스캔 입력(SI)쪽에 배치하고, 스캔 추정값이 작을수록 스캔 출력(SO)쪽에 배치한다. 하나의 스캔 체인(scan chain)에 스캔 셀의 배치가 완료되면 다음 스캔 추정값이 큰 스캔 셀을 스캔 체인의 스캔 입력(SI)에 인접하도록 배치한다. 도시되지 않은 실시예에 의하면, 연산된 스캔 추정값(SE)들에 따라 복수의 스캔 셀들을 스캔 체인에 배치하되, 스캔 추정값(SE)이 작은 값일수록 스캔 체인의 스캔 출력(SO)쪽에 배치하고, 스캔 추정값(SE) 클수록 스캔 입력쪽으로 배치할 수 있다.
스캔 영향도(scan influence, SI)를 연산한다(S300). 도 4는 스캔 영향도(SI)를 연산하는 과정을 개요적으로 도시한 도면이다. 스캔 영향도(SI)는 각 스캔 셀의 출력이 테스트 대상 로직에 포함된 요소들에 제공되어 영향을 미치는지를 수치화한 값이다. 스캔 영향도(SI)는 스캔 셀에서 출력된 신호가 영향을 미치는 모든 게이트를 대상으로 연산되며, 최종 출력 또는 스캔 셀의 입력까지 연산된다. 또한, 스캔 영향도(SI)는 모든 스캔 체인에 포함된 모든 스캔 셀들에 대하여 연산된다. 스캔 영향도(SI)는 스캔 셀이 출력한 신호가 영향을 미치는 모든 게이트의 0 제어도(C0)와 1 제어도(C1)의 합들을 합산하여 연산한다.
도 4로 도시된 예에서, 스캔 셀a(SCa)에서 출력된 신호는 AND 게이트와 OR 게이트로 전파되며, AND 게이트에서 출력된 신호는 NAND 게이트를 거쳐 스캔 셀b(SCb)에 제공된다. 또한, OR 게이트에서 출력된 신호는 AND 게이트와 인버터로 전파되며, AND 게이트의 출력은 스캔 셀c(SCc)에 제공되고, 인버터의 출력은 스캔 셀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으로 연산된다.
이어서, 스캔 영향도(SI)에 따라 스캔 셀들을 배치하여 스캔 체인을 형성한다(S400). 도 5(a)는 각 스캔 체인에 다섯 개의 스캔 셀들을 포함하는 경우에, 각 스캔 셀들과 스캔 셀들의 스캔 영향도(SI)를 회색 삼각형과 그 값으로으로 도시한 도면이고, 도 5(b)는 각 스캔 셀들을 배치하여 스캔 체인을 형성한 과정을 예시한 도면이다. 도 5(a)를 참조하면, 스캔 체인 0(scan chain 0)에 포함된 각 스캔 셀들(SC5, SC2, SC4, SC3, SC1)은 스캔 추정값(SE)에 따라 배치된 상태이며, 각 스캔 셀별 스캔 영향도 값을 회색의 삼각형내에 표시하였다.
도 5(B)로 예시된 것과 같이 스캔 영향도(SI)에 따라 스캔 체인에 포함된 스캔 셀(SC)들을 배치한다. 일 실시예로, 스캔 영향도(SI)가 클수록 스캔 체인에서 스캔 입력(SI)쪽으로 배치하고, 스캔 영향도(SI)가 작을수록 스캔 체인에서 스캔 출력(SO)쪽으로 배치한다. 일 실시예로, 스캔 영향도(SI)에 따라 스캔 체인에 포함된 스캔 셀(SC)들을 배치하는 과정은 동일한 스캔 체인 내에 위치한 스캔 셀들에 대하여 수행될 수 있으며, 복수의 스캔 체인 별로 각각 수행될 수 있다.
스캔 영향도(SI)는 상술한 바와 같이 각 스캔 셀의 출력이 테스트 대상 로직에 포함된 요소들에 제공되어 어느 정도의 영향을 미치는지를 수치화한 값이며, 테스트 대상 로직에 미치는 영향이 큰 스캔 셀을 스캔 체인의 입력쪽으로 배치함으로써 스캔 체인에 테스트 값을 입력할 때(shift-in) 입력되는 신호에서의 레벨 전환 회수를 감소시킬 수 있고, 이로부터 테스트 시 소모되는 전력을 감소시킬 수 있다는 장점이 제공된다.
일 실시예로, 스캔 영향도(SI)에 따라 스캔 셀들을 배치하여 스캔 셀을 형성하는 단계 이전에, 스캔 체인에 포함된 스캔 셀들에 대하여 상호 연관도(correlation)를 연산하고, 유사한 상호 연관도 값을 가지는 스캔 셀들을 그룹으로 묶어서 배치할 수 있다.
스캔 체인에 포함된 스캔 셀들에 대하여 상호 연관도(correlation)를 연산하는 단계는 도 3(B)와 같이 스캔 추정값(SE)에 따라 스캔 셀들이 배치된 상태에서 수행된다. 일 실시예로, 상호 연관도(correlation)는 동일한 스캔 체인 내의 모든 스캔 셀과의 관계에서 연산될 수 있으며, 다른 실시예로, 동일한 스캔 체인 내에서 인접한 스캔 셀 사이에서 연산될 수 있다.
i번째 스캔 셀과 i+1 번째 스캔 셀 사이의 상호 연관도(scan correlation, SC)는 아래의 수학식에 따라 연산될 수 있다.
[수학식]
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 값의 표준 편차)
상기한 수학식과 상기한 표 1의 XOR 연산에서의 제어도를 연산하는 식을 대비하면, X0i와 X1i는 C1i, C0i, C0i+1, C1i+1의 XOR 게이트에 대한 제어도를 연산하는 것으로 대비될 수 있다. 즉, 상호 연관도를 연산하는 i 번째 스캔 셀과 i+1 번째 스캔 셀에 서로 다른 입력이 제공되면 XOR 연산의 값은 1이며, 동일한 입력이 제공되면 XOR 연산의 값은 0이다. 따라서, 상호 연관도 연산 대상의 스캔 셀 사이에서 1과 가까운 값이 출력되면 입력 신호가 서로 상이하므로 이들을 분리하는 것이 필요하며, 0과 가까운 값이 출력되면 입력 신호가 서로 유사하므로 이들을 가까이 배치하는 것이 필요하다.
따라서, 상기한 수학식과 같이 연산된 상호 연관도(SC) 값으로부터 각 스캔 셀에 제공되는 입력이 얼마나 유사한지 알 수 있다. 따라서, 동일한 스캔 체인 내에서 상호 연관도(SC)값이 유사한 스캔 셀끼리 그룹으로 할당하면 그룹내의 스캔 셀들에 유사한 입력이 제공되며, 그에 따라 출력되는 신호의 레벨 변화를 감소시켜 테스트 시의 전력 소모를 줄일 수 있으며, 특히 시프트 아웃(shift-out) 시의 신호의 레벨 변화를 감소시킬 수 있어 전력 소모를 감소시킬 수 있다는 장점이 제공된다.
본 발명에 대한 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 실시를 위한 실시예로, 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
S100~S400: 본 실시예에 의한 스캔 체인 형성 방법의 예시적 각 단계
100: 본 실시예에 의한 스캔 체인 형성 장치
110: 입력부 120: 출력부
130: 데이터베이스 140: 메모리
150: 프로세서

Claims (18)

  1. 스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계;
    상기 스캔 추정값으로 상기 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계;
    파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및
    파티션된 상기 스캔 체인 내의 각 스캔 셀들을 상기 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 포함하는 스캔 체인 형성 방법.
  2. 제1항에 있어서,
    상기 스캔 체인 형성 방법은,
    상기 스캔 영향도를 연산하는 단계 이후,
    상기 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함하는 스캔 체인 형성 방법.
  3. 제2항에 있어서,
    상기 상호 연관도를 연산하는 단계는,
    각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나,
    각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행되는 스캔 체인 형성 방법.
  4. 제1항에 있어서,
    상기 스캔 추정값을 연산하는 단계는,
    상기 각 스캔 셀의 0 제어도와 상기 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행하는 스캔 체인 형성 방법.
  5. 제1항에 있어서,
    상기 스캔 추정값을 연산하는 단계는,
    수학식
    Figure 112020121149767-pat00006
    을 연산하여 수행하는 스캔 체인 형성 방법.
    (SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)
  6. 제1항에 있어서,
    상기 파티셔닝 하는 단계는,
    상기 스캔 체인을 이루는 모든 상기 스캔 셀들을 상기 스캔 추정값의 크기에 따라 배치하여 수행하는 스캔 체인 형성 방법.
  7. 제6항에 있어서,
    상기 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는,
    상기 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행하는 스캔 체인 형성 방법.
  8. 제1항에 있어서,
    상기 스캔 영향도를 연산하는 단계는,
    상기 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행하는 스캔 체인 형성 방법.
  9. 제1항에 있어서,
    상기 스캔 영향도순으로 배치하는 단계는,
    상기 스캔 입력에서 상기 스캔 출력 까지 상기 스캔 영향도 값의 순서대로 상기 스캔 셀을 배치하여 수행하는 스캔 체인 형성 방법.
  10. 칩과 연결된 스캔 셀을 배치하여 스캔 체인을 형성하는 장치로, 상기 장치는:
    적어도 하나 이상의 프로세서; 및
    상기 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 상기 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서들에서,
    스캔 체인(scan chain)을 형성하는 각 스캔 셀의 0 제어도(controllability) 및 1 제어도로부터 스캔 추정값을 연산하는 단계;
    상기 스캔 추정값으로 상기 스캔 셀들을 복수의 스캔 체인으로 파티셔닝 하는 단계;
    파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 스캔 영향도(scan influence)를 연산하는 단계 및
    파티션된 상기 스캔 체인 내의 각 스캔 셀들을 상기 스캔 영향도순으로 배치하여 스캔 체인을 형성하는 단계를 수행하는 스캔 체인 형성 장치.
  11. 제10항에 있어서,
    상기 스캔 체인 형성 방법은,
    상기 스캔 영향도를 연산하는 단계 이후,
    상기 파티션된 각 스캔 체인 내의 각 스캔 셀들에 대하여 상호 연관도(correlation)을 연산하는 단계를 더 포함하는 스캔 체인 형성 장치.
  12. 제11항에 있어서,
    상기 상호 연관도를 연산하는 단계는,
    각 스캔 체인 내의 모든 스캔 셀들 사이에서 수행되거나,
    각 스캔 체인 내의 인접한 스캔 셀들 사이에서 수행되는 스캔 체인 형성 장치.
  13. 제10항에 있어서,
    상기 스캔 추정값을 연산하는 단계는,
    상기 각 스캔 셀의 0 제어도와 상기 각 스캔 셀의 0 제어도와 1 제어도의 합의 비를 연산하여 수행하는 스캔 체인 형성 장치.
  14. 제10항에 있어서,
    상기 스캔 추정값을 연산하는 단계는,
    수학식
    Figure 112020121149767-pat00007
    을 연산하여 수행하는 스캔 체인 형성 장치.
    (SEn: 대상 스캔 셀의 스캔 추정값, C0n: 대상 스캔 셀의 0 제어도, C1n: 대상 스캔 셀의 1 제어도)
  15. 제10항에 있어서,
    상기 파티셔닝 하는 단계는,
    상기 스캔 체인을 이루는 모든 상기 스캔 셀들을 상기 스캔 추정값의 크기에 따라 배치하여 수행하는 스캔 체인 형성 장치.
  16. 제15항에 있어서,
    상기 스캔 추정값의 크기에 따라 배치하여 수행하는 단계는,
    상기 추정값의 크기에 따라 오름차순 및 내림차순 중 어느 하나로 배치하여 수행하는 스캔 체인 형성 장치.
  17. 제10항에 있어서,
    상기 스캔 영향도를 연산하는 단계는,
    상기 스캔 셀의 출력이 영향을 미치는 모든 게이트들의 0 제어도 및 1 제어도를 도합하여 수행하는 스캔 체인 형성 장치.
  18. 제10항에 있어서,
    상기 스캔 영향도순으로 배치하는 단계는,
    상기 스캔 입력에서 상기 스캔 출력 까지 상기 스캔 영향도 값의 순서대로 상기 스캔 셀을 배치하여 수행하는 스캔 체인 형성 장치.
KR1020200150874A 2020-11-12 2020-11-12 스캔 체인 형성 방법 및 스캔 체인 형성 장치 KR102382520B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200150874A KR102382520B1 (ko) 2020-11-12 2020-11-12 스캔 체인 형성 방법 및 스캔 체인 형성 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200150874A KR102382520B1 (ko) 2020-11-12 2020-11-12 스캔 체인 형성 방법 및 스캔 체인 형성 장치

Publications (1)

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

Family

ID=81183546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200150874A KR102382520B1 (ko) 2020-11-12 2020-11-12 스캔 체인 형성 방법 및 스캔 체인 형성 장치

Country Status (1)

Country Link
KR (1) KR102382520B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085549A (ja) * 2001-09-14 2003-03-20 Sony Corp 記憶装置およびそれを用いた画像処理装置
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 (ja) * 2011-01-31 2012-08-23 Renesas Electronics Corp スキャンチェーン回路、スキャンチェーン構築方法及び試験装置
KR101681862B1 (ko) * 2016-02-01 2016-12-02 연세대학교 산학협력단 스캔 셀 파티션에 기반을 둔 x-filling 및 저전력 스캔 셀 재배열 장치 및 방법
KR101837899B1 (ko) * 2017-04-18 2018-03-13 연세대학교 산학협력단 스캔 체인의 고장을 진단하는 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085549A (ja) * 2001-09-14 2003-03-20 Sony Corp 記憶装置およびそれを用いた画像処理装置
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 (ja) * 2011-01-31 2012-08-23 Renesas Electronics Corp スキャンチェーン回路、スキャンチェーン構築方法及び試験装置
KR101681862B1 (ko) * 2016-02-01 2016-12-02 연세대학교 산학협력단 스캔 셀 파티션에 기반을 둔 x-filling 및 저전력 스캔 셀 재배열 장치 및 방법
KR101837899B1 (ko) * 2017-04-18 2018-03-13 연세대학교 산학협력단 스캔 체인의 고장을 진단하는 장치 및 방법

Similar Documents

Publication Publication Date Title
JP2000148808A (ja) スケジュ―リングされた動作記述に対するストラクチュラルrtlの正当性検証方法
KR102412816B1 (ko) 스캔 셀 재배치 방법 및 스캔 셀 재배치 장치
Iyer et al. Sequentially untestable faults identified without search (" simple implications beat exhaustive search!")
KR102382520B1 (ko) 스캔 체인 형성 방법 및 스캔 체인 형성 장치
JP4445517B2 (ja) 回路設計検証方法および回路設計検証のためのプログラム
Bai et al. HyAC: A Hybrid Structural SAT Based ATPG for Crosstalk.
Hariharan et al. From rtl liveness assertions to cost-effective hardware checkers
Zheng et al. An efficient diagnostic test pattern generation framework using boolean satisfiability
KR102450484B1 (ko) 테스트 포인트 삽입을 통하여 향상된 검출율을 가지는 고장 검출 방법, 고장 검출 장치 및 가중치 인가 회로
Wang et al. An incremental automatic test pattern generation method for multiple stuck-at faults
CN109946592B (zh) 自动测试设备ate中异步测试周期的自适应计算方法
Tibebu et al. Augmenting all solution SAT solving for circuits with structural information
JPH11203158A (ja) テスト回路付パイプライン回路およびテスト回路付パイプライン回路をテストするための自動テストパターン生成方法
KR102412817B1 (ko) X 필링 방법 및 장치
Pomeranz Efficient identification of undetectable two-cycle gate-exhaustive faults
Safarpour et al. Integrating observability don't cares in all-solution SAT solvers
JPH06103101A (ja) 集積回路の組み込み自己試験回路及びその評価方法及び設計方法
CN110516376B (zh) 一种基于随机森林模型的集成电路x值灵敏度预测方法
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
Mao et al. An automatic detection and online quality inspection method for workpiece surface cracks based on machine vision
Ran et al. A classification model for prognosis based on Densenet
Bommu et al. CONCAT: Conflict driven learning in ATPG for industrial designs
Zhang A test case for the evaluation of AI-oriented hardware accelerators reliability
Lin et al. A Dynamic Expansion Order Algorithm for the SAT-based Minimization

Legal Events

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