KR101555736B1 - 생성 장치, 생성 방법 및 프로그램 - Google Patents

생성 장치, 생성 방법 및 프로그램 Download PDF

Info

Publication number
KR101555736B1
KR101555736B1 KR1020117004931A KR20117004931A KR101555736B1 KR 101555736 B1 KR101555736 B1 KR 101555736B1 KR 1020117004931 A KR1020117004931 A KR 1020117004931A KR 20117004931 A KR20117004931 A KR 20117004931A KR 101555736 B1 KR101555736 B1 KR 101555736B1
Authority
KR
South Korea
Prior art keywords
signal line
internal signal
value
bit
specific internal
Prior art date
Application number
KR1020117004931A
Other languages
English (en)
Other versions
KR20110068989A (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 고쿠리츠 다이가쿠 호진 큐슈 코교 다이가쿠
Publication of KR20110068989A publication Critical patent/KR20110068989A/ko
Application granted granted Critical
Publication of KR101555736B1 publication Critical patent/KR101555736B1/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/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

내부 신호선에 착안하면서 실제 속도 스캔 테스트로서, 테스트 데이터량, 고장 검출률, 퍼포먼스(performance), 회로 설계에는 영향을 미치지 않고, 테스트 콤프레션(compression)의 경우와 같이 입력 비트 중의 미정값(돈 케어(don't care)) 비트가 적은 경우라도, 런치 천이 나아가서는 제품 수율 손실 리스크를 줄이는 것이 가능하고, 또한 테스트에 있어서의 소비 전력의 삭감도 가능하게 하는 것을 목적으로 한다. 변환 장치(1)는 특정 내부 신호선 추출부(3)와, 특정 내부 신호선 구별부(5)와, 입력 비트에 있어서의 입력 미정값 비트 및 입력 논리 비트를 특정하는 특정부(7)와, 특정된 입력 미정값 비트를 포함하는 입력 비트에 있어서의 미정값 비트에 논리값 1 또는 논리값 0을 할당하는 할당부(9)를 구비한다. 특정부(7)는 입력 미정값 비트 특정부(11)와 입력 논리 비트 특정부(13)를 구비한다.

Description

생성 장치, 생성 방법 및 프로그램{GENERATING DEVICE, GENERATING METHOD, AND PROGRAM}
본 발명은 생성 장치, 생성 방법 및 프로그램에 관한 것으로, 특히 조합 회로 또는 풀 스캔(full scan) 순서 회로의 조합 회로 부분 등의 고장 검출의 대상 회로에 대한 테스트에 관한 생성 장치, 생성 방법 및 프로그램에 관한 것이다.
도 9에 나타내듯이, 반도체 논리 회로는 설계, 제조, 테스트의 3단계를 거쳐 출하된다. 여기서, 테스트라는 것은 제조된 반도체 논리 회로에 대해서 0 또는 1의 논리값이 각 논리 비트에 정해진 테스트 벡터를 인가하여, 반도체 논리 회로로부터 테스트 응답을 관측하여, 그것을 기대 테스트 응답과 비교하여 우량품, 불량품의 판별을 행한다. 그 우량품률을 제품 수율이라고 부르며, 제품 수율은 반도체 논리 회로의 품질, 신뢰성 및 제조 비용을 크게 좌우한다.
도 10은 일반적인 논리 회로에 있어서의 풀 스캔 순서 회로의 모식도이다.
일반적으로, 반도체 논리 회로는 주로 순서 회로이다. 순서 회로는 앤드(AND) 게이트, 낸드(NAND) 게이트, 오아(OR) 게이트, 노아(NOR) 게이트 등의 논리 소자로 이루어지는 조합 회로부(1201)와, 회로의 내부 상태를 기억하는 플립 플롭(flip flop)(1203)으로 이루어진다. 이 경우, 조합 회로부(1201)는 외부 입력선 PI, 플립 플롭의 출력선인 랜덤(random) 외부 입력선 PPI, 외부 출력선 PO, 플립 플롭의 입력선인 랜덤 외부 출력선 PPO를 가진다. 조합 회로부(1201)로의 입력은 외부 입력선에 의해 직접 주어지는 것과 랜덤 외부 입력선을 개입시켜 주어지는 것으로 이루어진다. 또한, 조합 회로부(1201)로부터의 출력은 외부 출력선에 직접 나타나는 것과 랜덤 외부 출력선에 나타나는 것으로 이루어진다.
순서 회로의 조합 회로부(1201)를 테스트하기 위해서 조합 회로부(1201)의 외부 입력선 PI와 랜덤 외부 입력선 PPI로부터 필요한 테스트 벡터v를 인가하여, 조합 회로부(1201)의 외부 출력선 PO와 랜덤 외부 출력선 PPO로부터 테스트 응답 f(v)를 관측할 필요가 있다. 1개의 테스트 벡터는 외부 입력선과 랜덤 외부 입력선에 대응하는 입력 비트로 이루어진다. 또한, 1개의 테스트 응답은 외부 출력선과 랜덤 외부 출력선에 대응하는 출력 비트로 이루어진다.
그러나, 순서 회로의 플립 플롭(1203)의 출력선(랜덤 외부 입력선)과 입력선(랜덤 외부 출력선)은, 일반적으로 외부로부터 직접 액세스(access)할 수 없다. 따라서, 조합 회로부(1201)를 테스트하기 위해서는 랜덤 외부 입력선의 제어 가능성 및 랜덤 외부 출력선의 관측 가능성에 문제가 있다.
상술의 조합 회로부(1201)의 테스트에 있어서의 제어 가능성 및 관측 가능성의 문제를 해결하는 주된 수법으로서 풀 스캔(full scan) 설계가 있다. 풀 스캔 설계라는 것은, 플립 플롭을 스캔 플립 플롭(scan flip flop)으로 치환한 다음 그것들을 이용하여 1개 또는 복수 개의 스캔 체인(scan chain)을 형성하는 것이다. 스캔 플립 플롭의 동작은 스캔 인에이블(scan enable)(SE) 신호선으로 제어된다. 예를 들면, SE=0 일 때, 종래의 플립 플롭과 같은 동작을 하여 클록 펄스(clock pulse)가 주어지면 조합 회로부로부터의 값으로 스캔 플립 플롭의 출력값이 갱신되고, 또한 SE=1 일 때, 같은 스캔 체인에 있는 다른 스캔 플립 플롭과 1개의 시프트 레지스터(shift register)를 형성하고, 클록 펄스가 주어지면 외부로부터 새로운 값이 스캔 플립 플롭에 시프트 인(shift in)됨과 아울러 스캔 플립 플롭에 현존의 값이 외부로 시프트 아웃(shift out)된다. 일반적으로, 같은 스캔 체인에 있는 스캔 플립 플롭은 같은 스캔 인에이블(SE) 신호선을 공유하지만, 다른 스캔 체인의 스캔 인에이블(SE) 신호선은 동일한 경우도 있지만 다른 경우도 있다.
풀 스캔 순서 회로의 조합 회로부의 테스트는 스캔 시프트(scan shift)와 스캔 캡쳐(scan capture)를 반복함으로써 행해진다. 스캔 시프트는 스캔 인에이블(SE) 신호가 논리값 1로 되어 있는 시프트 모드(shift mode)에서 행해진다. 시프트 모드에 있어서는, 1개 또는 복수의 클록 펄스가 주어져 외부로부터 1개 또는 복수의 새로운 값이 스캔 체인 내의 스캔 플립 플롭에 시프트 인(shift in)된다. 또한, 그와 동시에 그 스캔 체인 내의 스캔 플립 플롭에 현존의 1개 또는 복수의 값이 외부로 시프트 아웃된다. 스캔 캡쳐는 스캔 인에이블(SE) 신호가 논리값 0으로 되어 있는 캡쳐 모드에서 행해진다. 캡쳐 모드에 있어서는 1개의 스캔 체인에 있는 모든 스캔 플립 플롭에 동시에 1개의 클록 펄스가 주어지고, 조합 회로부의 랜덤 외부 출력선의 값이 모든 스캔 플립 플롭에 집어 넣어진다.
스캔 시프트는 랜덤 외부 입력선을 개입시켜 조합 회로부(1201)에 테스트 벡터를 인가하기 위해서와, 랜덤 외부 출력선을 개입시켜 조합 회로부(1201)로부터 테스트 응답을 관측하기 위해서 이용된다. 또한, 스캔 캡쳐는 조합 회로부(1201)의 테스트 응답을 스캔 플립 플롭(1203)에 집어 넣기 위해서 이용된다. 모든 테스트 벡터에 대해서, 스캔 시프트와 스캔 캡쳐를 반복함으로써 조합 회로부(1201)를 테스트할 수가 있다. 이러한 테스트 방식은 스캔 테스트 방식이라고 한다.
스캔 테스트 방식에서는, 조합 회로부(1201)로의 테스트 벡터의 인가는 외부 입력으로부터 직접 행해지는 부분과, 스캔 시프트에 의해 행해지는 부분이 있다. 스캔 시프트에 의해 임의의 논리값을 임의의 스캔 플립 플롭에 설정할 수가 있으므로 랜덤 외부 입력선의 제어 가능성의 문제가 해결된다. 조합 회로부(1201)로부터의 테스트 응답의 관측은 외부 출력으로부터 직접 행해지는 부분과 스캔 시프트에 의해 행해지는 부분이 있다. 스캔 시프트에 의해 임의의 스캔 플립 플롭의 출력값을 관측할 수가 있기 때문에, 랜덤 외부 출력선의 관측 가능성의 문제가 해결된다. 이와 같이 스캔 테스트 방식에 있어서는, 자동 테스트 패턴 생성(ATPG) 프로그램을 이용하여 테스트 벡터 및 기대 테스트 응답을 구하는 것만으로 충분하다.
도 11은 테스트 입력과 테스트 응답의 관계를 나타낸 모식도이다.
도 11에 있어서, 테스트 벡터에 미정값 X(논리값 1과 논리값 0 중 어느 것이라도 좋은 돈 케어(don't care)(X))가 존재하는 경우, 그것에 따라 테스트 응답에도 미정값 X(돈 케어(X))가 나타난다. 미정값으로서의 돈 케어가 존재하는 원인은, 1개 또는 복수의 고장을 검출하기 위해서, 테스트 입력의 일부의 비트에만 논리값이 정해지면 충분하다는 것에 의한다. 이와 같이 고장 검출 등의 소정의 목적을 달성하는데 있어서 논리값 1과 논리값 0의 어느 것이라도 좋은 돈 케어로 할 수 있는 것은 테스트 큐브(test cube)로 불리고, ATPG 또는 돈 케어 발견 수법에 의해 구해진다. 돈 케어에는 자유롭게 논리값 1 또는 0을 할당할 수가 있다. 테스트 입력의 비트를 논리 비트로 해야 하는지 혹은 돈 케어 비트로 해야 하는지에 대해서는, 예를 들면 특허 문헌 1에 기재와 같이 본원 발명자 등에 의해 제안된 것이 있다.
특허 문헌 1에 기재의 기술은, 논리 회로의 입출력 관계에 기초하는 조건에 의해 돈 케어 비트로 해도 좋은 후보 비트 및 돈 케어 비트로 해서는 안되는 고정 비트를 설정하고, 설정된 후보 비트만으로 특정된 돈 케어 비트를 포함하는 테스트 큐브에 대해서 입력 비트와 출력 비트로 이루어지는 복수의 비트 쌍간의 관계를 고려하여 돈 케어 비트에 논리값을 할당하는 기술이다.
또한, 돈 케어 추출을 가능하게 하고 있는 기술로서는 그 밖에도 본원 발명자 등에 의해 특허 문헌 2에 기재의 기술도 있다.
특허 문헌 2에 기재의 기술은, 지금까지의 축퇴(縮退) 고장 검출을 대상으로 하는 것과는 달리, 천이(遷移) 지연 고장 검출을 대상으로 할 수 있어 테스트 패턴의 압축에 의한 사이즈의 삭감을 도모하고, 테스트 인가 시간을 단축할 수 있는 기술이다.
여기서, 테스트 큐브와 테스트 벡터에 대해서 설명하여 둔다. 도 12를 참조하여, X로 나타내지고 있는 돈 케어 비트를 포함하는 C1, C2, C3로 이루어지는 것이 테스트 큐브이다. 논리값 0과 논리값 1 중 어느 것의 논리 비트의 테스트 벡터로 이루어지는 집합이 테스트 벡터 집합이다.
다음에, 테스트 큐브를 구하는 방법도 설명하여 둔다. 도 13은 테스트 큐브를 구하는 방법의 개념을 설명하는 도로서, 테스트 데이터 조작의 예를 설명하기 위한 도이다. 도 14는 테스트 릴랙제이션(test relaxation)(돈 케어 판정)의 예를 간단하게 설명하기 위한 도이다.
도 13을 참조하여 고장 검출 등의 소정의 목적을 달성하는데 있어서, 논리값 0과 논리값 1 중 어느 것이라도 좋은 돈 케어가 X로 나타내지고 있다. 테스트 큐브는, ATPG에 의한 테스트 생성 중에 돈 케어 비트를 일으키는 동적 기법과, ATPG 후에 테스트 릴랙제이션(test relaxation)이라고 하고 돈 케어로 할 수 있는 돈 케어 비트를 찾아내는 정적 기법에 의해 구해진다. 이러한 테스트 큐브는 논리값이 정해지고(X-Filling), 최종적으로는 논리값 0과 논리값 1의 어느 것인가에 의해 값이 채워진 논리 비트의 테스트 벡터로 이루어지는 테스트 벡터 집합으로서 얻어진다. 이하에서는 돈 케어 비트에의 논리값의 할당에 관해서, 캡쳐시의 신호값 변화가 적게 되도록 결정된다. 또한, 상기 정적 기법은 압축한 테스트 벡터 집합에도 적용할 수 있어 테스트 데이터량은 적게 된다.
도 14를 참조하여, 테스트 큐브 내에 포함되는 돈 케어로 할 수 있는 비트를 찾아내는 테스트 릴랙제이션에는, 고장 시뮬레이션, 임의 조작, 정당화 조작이 이용되어 돈 케어는 제약하에서 찾아낼 수 있는데, 일반적으로 말하는 제약은 특정의 고장 모델에 대해서 고장 검출률을 조정하는 것을 말한다.
여기서, 통상 60% ~ 90%의 비트가 돈 케어로 될 수 있다. 그에 대해 이하에서는 고장 검출률은 변화하지 않는 제약을 가능하게 하고 있다. 또한, 당초의 테스트 벡터 집합은 동적 압축 혹은 랜덤(random) 할당에 의해 컴팩트(compact)한 테스트 벡터 집합으로서 주어지는 것도 가능하다.
또한, 실제 속도 스캔 테스트라고 하는 생각이 있고, 이것은 타이밍 관계의 테스트 품질을 향상시키기 위해서 필수로 여겨진다. 이것을 실현하기 위해서 패스(pass)의 출발점으로써 천이가 런치(launch)되어, 그 응답이 시스템의 속도로 패스의 종점에서 캡쳐된다. 실제로는 런치온 캡쳐(Launch On Capture: LOC) 클록킹(clocking) 방식은 실제 속도 스캔 테스트에 널리 이용되고 있다.
도 15는 LOC 클록킹 방식을 설명하기 위한 도이다.
도 15를 참조하여, 테스트 벡터가 SL를 최후로 하는 일련의 시프트 클록 펄스(L:최장 스캔 체인(scan chain)의 길이)에 의해 로드(load)된 후에, 천이가 최초의 캡쳐 클록 펄스 C1에 의해 대응하는 스캔 FF인 곳에서 런치된다. 천이는 SL에 의해 도입된 값과 C1에 의해 집어 넣어진 값의 차이에 의해 생긴다. 또한, 천이 런치(C1)와 응답 캡쳐(C2)의 사이의 테스트 사이클은 정격의 시스템 클록 주기이다.
스캔 테스트는 타이밍 관련의 테스트 품질을 향상시키기 위해서 불가결로 여겨지지만, 그 적용 가능성은 테스트 유발성 제품 수율 손실이 큰 과제로 되고 있다. 이 테스트 유발성 제품 수율 손실이라는 것은, 기능적으로 문제없는 집적회로가 실제 속도 스캔 테스트의 사이에만 기능하지 않는 경우에 생기는 것이라고 말할 수 있다. 이 문제의 주된 원인은, 전원 노이즈(noise), 즉 IR 드롭(drop) 및 그라운드 바운스(Ground Bounce)이고, 이것들은 C1에 있어서의 과도한 런치 천이로부터 생겨 지연 증가를 일으켜 버린다. 지금까지 전원 전압이 10% 저하하면, 패스 지연이 30% 증대하는 것이 나타나고 있는 문헌도 있다. 이것은 C2에 있어서의 캡쳐 고장을 초래하고 나아가서는 테스트 유발성 제품 수율 손실로 연결되어 버린다. 딥 서브 미크론(deep sub micron)이고 저전력의 칩(chip)에서는 이 문제는 급속히 악화되어 있는 상황에 있다. 따라서, 과도한 전원 노이즈에 의해 유발되는 제품 수율 손실 리스크를 저감시키는 것이 매우 요구된다.
런치 천이를 줄이기 위한 종래의 기술은 이하의 3개의 기술에 기초하고 있다.
(1) 부분적 캡쳐:C1(도 15)에 있어서 캡쳐하는 FF의 수는 회로의 변경, 원 핫 클록킹(one-hot clocking), 캡쳐 클록킹 스태거링(capture clocking staggering)에 의해 줄이는 것이 가능하다. 그러나, 이 접근은 현저한 ATPG의 변화, 테스트 데이터의 증가, 또한 고장 검출률의 저하까지 일으킬 수도 있다.
(2) 저캡쳐 전력 ATPG:테스트 벡터 내의 1 및 0을 주의 깊게 생성하여, 런치 천이를 FF에 있어서의 입출력 등치화, 클록 게이팅 등의 기술에 의해 줄일 수가 있다. 그러나 이 접근은 테스트 데이터의 현저한 증가와 CPU 시간의 증대로 고민될 수 있다.
(3) 테스트 릴랙제이션과 X-필링(test relaxation & X­filling):테스트 릴랙제이션이라는 것은 논리값이 모두 특정된 테스트 벡터 집합으로부터, 고장 검출률을 저하시키는 일 없이 돈 케어 비트(X비트)를 특정하는 것이다. 그 다음에, 테스트 릴랙제이션에 의해 얻어진 부분적으로 특정된 테스트 큐브에 대해서, 가능한 한 많은 FF의 입력값과 출력값을 동일하게 하기 위해서 X­필링이 실행된다. 이와 같이 하여 런치 천이가 삭감된다.
도 16은 테스트 릴랙제이션과 X-필링 수법의 개념을 나타낸 도이다.
테스트 릴랙제이션에 대해서 설명한다. 도 16에 나타내듯이, 테스트 릴랙제이션은 모두 특정된 테스트 벡터 집합 V로부터 돈 케어 비트(X비트)를 특정하여, 부분적으로 특정된 테스트 큐브 집합 C를, V의 특성의 몇 개인가는 C에 의해 보유되어 있는 것을 보증하면서 생성하는 프로세스(process)이다. 보유되는 특성 중에는 축퇴 고장 검출률, 천이 지연 고장 검출률, 또한 천이 지연 고장 검출을 위한 모든 활성화 패스(pass)까지가 포함된다.
X비트는 랜덤-필(random-fill)을 무효화하는 것에 의한 테스트 생성으로부터도 직접 얻어지지만 ATPG 시간 및 테스트 데이터량이 증대한다. 예를 들면, 랜덤-필을 무효화하여 저전력 X­필링을 위한 X비트를 방치하면, 테스트 벡터수는 144.8%로 증가하는 것이 나타나고 있다. 따라서, 랜덤-필을 이용하여 최대한 테스트 컴팩션(test compaction)를 적용하여 우선은 컴팩트한 초기(모두 특정된) 테스트 벡터 집합을 생성하고, 이어서 테스트 릴랙제이션을 이용하여(부분적으로 특정된) 테스트 큐브를 생성하는 것이 바람직하다. 이렇게 하여 얻어진 컴팩트한 최종 테스트 벡터 집합에는 X­필링을 실행한 후의 부수적인 이익도 있다.
다음에, X­필링에 대해서 설명한다. 도 16에 나타내듯이, X­필링은 어느 테스트 큐브 내의 X비트에 어느 목적을 위해서 논리값을 할당하는 프로세스이다. 예를 들면, X­필링은 런치 천이(LSA)를 삭감하기 위해서 이용된다. 여기서, LSA는 C1인 곳에서 일어난다(도 15 참조). 다수의 저LSA의 X­필링 수법이 제안되어 있다.
도 17은 그것들 중 하나인 JP-필(JP-fill)로 불리는 것을 나타내는 도이다.
도 17에서는 테스트 큐브는 c=<10XX>이고, 조합 부분의 논리 함수는 F이다. 따라서, <c:PPI>=<0XX>이고, <F(c):PPO>=<XXX>이다. 우선, 정당화(도 17의 ①)를 실행하여, p1이 0이므로 p2에 0을 설정하도록 시도한다. 이어서, 형식 X­X, 의 q1­q2 및 r1­r2의 비트 쌍에 대해서는, 각 PPO의 X비트가 0으로 되는 확률 및 1로 되는 확률을 산출하는 데에는, 각 입력 X비트가 0으로 되는 확률 및 1로 되는 확률에 0.50을 설정하여 확률 전반(propogation)을 실행한다. q2가 0일 확률(0.93)은 q2가 1일 확률(0.07)보다 매우 크기 때문에, q1에 0을 할당하는 것은 이치에 맞는다(도 17의 ②). 그러나 r2가 0인 확률(0.49)은 r2가 1인 확률(0.51)에 가깝기 때문에, r1에 대해서는 아무 것도 결정되지 않는다(도 17의 ③). 이 경우, 3값 논리 시뮬레이션이 실행되어, JP­필의 또 하나의 패스(pass)(도 17의 ④)가 정당화 및/혹은 확률 전반을 이용하여 실행된다. 요컨대, JP­필은 스캘러빌러티(scalability)를 확률 전반에 의해 향상시킴과 아울러, 정당화 및 복수의 패스를 이용하여 X­필링의 효율을 향상시킨다. 이와 같이 하여 JP­필은 효율과 스캘러빌러티를 균형있게 실현한다.
그런데, 클록 게이팅 방식의 일례를 도 18에 나타내지만, 클록 게이팅 방식은 가장 널리 실제로 이용되고 있는 소비 전력 관리 메카니즘이다. 또한, 회로에는 클록 게이팅 블록이 복수 포함되어 있어도 좋다. 도 18에는 i번째의 클록 게이팅 블록으로서 스캔 실험용으로 강화되어 있는 것을 나타내고 있다. 시프트 모드(SE=1)에서는, 시프트 조작이 적절히 실행되도록 모든 FF가 항상 클록 CK에 의해 구동되고 있다. 클록 제어 신호(ENi)는 CK의 상승 에지(rising edge)인 곳에서 생성되어, 캡쳐 모드(SE=0)의 제어를 계승한다. GENi는 CK와 AND 소자에 연결되어 직접 FF에 접속되는 게이트 클록 GCKi를 생성한다. 클록 게이팅은 캡쳐 모드에 있어서 런치 천이를 삭감하는데 이용된다. 이 때문에 최종 시프트 펄스 SL에 있어서 ENi를 0으로 설정하면 좋다. 이렇게 하여 도 19에 나타내듯이, 런치 캡쳐 클록킹 펄스(도 15의 C1)는 억제되고, GCKi로 제어되고 있는 모든 FF, 즉 도 18에 나타낸 FF1 i ~ FFp i는 캡쳐하지 않는다. 즉, FF에 있어서의 런치 천이가 정리되어 삭감되는 것으로 된다.
여기서, 이하의 정의를 행한다. 어느 FF의 클록이 게이트 클록인 경우 그 FF는 클록 게이트 FF라고 한다. 그렇지 않은 경우 그 FF는 비클록 게이트 FF라고 한다. 같은 게이트 클록으로 제어되고 있는 FF군은 클록 게이트 FF군이라고 한다. 어느 클록 트리(tree)를 개입시켜 접속되어 있는 모든 FF는 1개의 클록 게이트 FF군이라고 여겨진다.
ATPG의 관점으로부터 클록 게이팅은 다음의 2개의 기본적인 접근에 의해 이용된다.
접근(1)(검출 지향):테스트 생성을 실행할 때에는, 보다 많은 FF를 천이 고장 검출에 있어서의 런치 및 캡쳐에 사용 가능하게 하기 위해서, FF에의 신호를 가능한 한 액티브화(즉 클록 게이팅을 무효화)하도록 실행한다. 많은 상업적 ATPG 시스템은 이 접근을 음으로 양으로 이용하고 있다. 이렇게 함으로써, 런치 천이가 보다 활발하게 되는 대신에 테스트 벡터 집합이 작아져, 고장 검출률이 향상하여 테스트 인가 시간이 작아진다.
접근 2(삭감 지향):테스트 생성에 있어서 클록 게이팅은 런치 천이를 삭감하기 위해서 적극적으로 이용된다. 그러나, 이렇게 함으로써 천이 고장 검출에 있어서의 런치 및 캡쳐에 사용 가능한 FF의 수는 감소하고, 테스트 벡터수가 증가하고, 테스트 인가 시간이 증대하고, 또한 어느 조건하에서는 고장 검출률의 손실까지 일어난다.
이와 같이 FF군이 활성화되는지 혹은 활성화되지 않는지를 결정할 수 있는 신호 GCK가 있지만, 이 신호 GCK는 클록 게이팅 회로를 제어하는 제어 신호 ENi에 의해 그 값이 결정된다. 이 제어 신호 ENi(혹은 신호 GCK)의 값을 제어할 수 있으면, FF군의 비활성화에 의한 대폭적인 소비 전력 삭감도 가능하게 된다.
클록 게이팅 회로의 활성화와 비활성화를 제어하여 소비 전력 삭감을 도모하려고 한 것에는 비특허 문헌 1이 있다.
특허 문헌 1 : 일본국 특허공개 2007-155339호 공보 특허 문헌 2 : 국제공개 WO 2008/001818
비특허 문헌 1 : R. Illman, 외 2명 저, 「ATPG power reduction using clock gate "default"constraints.」First International Workshop on the Impact of Low-Power Design on Test and Reliability(fringe to ETS 2008), Proceedings LPonTR 2008, 29 May 2008, Hotel Majestic Pallanza, Lago Maggiore, Italy
그렇지만, 특허 문헌 1에 기재와 같은 종래의 어느 기술에 있어서도, 상기한 것처럼 랜덤(random) 외부 입력선의 제어 가능성 및 랜덤 외부 출력선의 관측 가능성의 문제 해결의 흐름도 있어, 입력 비트와 출력 비트와의 관계를 고려하고 있는 것에 머물고 있었다. 또한, 특허 문헌 2에 기재와 같은 종래의 어느 기술에 있어서도, 돈 케어(don't care) 추출을 가능하게 하고 있지만, 입력 비트와 출력 비트를 넘는 착안, 즉 외부 입력선(랜덤 외부 입력선) 및 외부 출력선(랜덤 외부 출력선)을 넘는 착안은 되지 않았었다.
또한, 테스트 릴랙제이션과 X­필링 수법이라고 하는 접근은 중대한 제한으로 고민된다. 즉, 테스트 벡터 집합으로부터 특정된 X비트의 수가 적었던 경우, 런치 천이를 줄이는 효율이 불충분하게 될 수 있다. 그러한 X비트 부족은 테스트 컴팩션(compaction) 혹은 테스트 컴프레션(compression)에 의해 일어날 수 있다. 구체적으로 설명하면, 도 20에 실용적인 회로의 일례(게이트수 60만 및 천이 지연 테스트 벡터수 600)에 대한 그래프를 나타내는데, 이 회로에 있어서의 테스트 생성의 초기 단계에서 얻어진 테스트 벡터는 X비트가 적다(60%에도 못 미친다).
또한, 비특허 문헌 1의 기술은 고장 검출률과 소비 전력 삭감을 양립하는 것은 아니고, 고장 검출률을 유지하여 소비 전력 삭감을 행한다고 하면 추가 데이터가 필요하게 되어, 테스트 데이터량에 관한 사이즈는 커져 버린다고 하는 문제가 있다. 즉, FF군을 단순하게 비활성화한다고 하면 소비 전력 삭감은 가능하게 되지만, 테스트에서는 고장 검출이라고 하는 대전제가 있어, 고장 검출률이라고 하는 최종적으로 얻어지는 테스트 벡터의 특성은 매우 중요하기 때문에, 상기 접근 1의 검출 지향에 의해 고장 검출률을 올리려고 하면 FF군을 활성화시키는 경향에 빠져 버린다. 그 결과, 고장 검출률과 같은 특성을 고려하면서도, 상기 접근 2의 삭감 지향에 의해 테스트 데이터량에 관한 사이즈의 증가를 일으키지 않고, 또한 소비 전력 삭감도 가능하게 하도록 한 제안이 요구되고 있었다.
특히, 상기한 것처럼 실제 속도 스캔 테스트에서는, 과도한 런치 천이에 의한 전원 노이즈에 기인하는 제품 수율 손실 리스크를 받기 쉽고, 테스트 데이터량, 고장 검출률, 퍼포먼스(performance), 회로 설계에는 영향을 미치지 않고, 테스트 컴프레션(compression)의 경우와 같이 입력 비트 중의 돈 케어 비트가 적은 경우라도, 런치 천이 나아가서는 제품 수율 손실 리스크(risk)를 줄이는 것이 기대되고 있다.
그러므로, 본원과 관련되는 발명은 내부 신호선에 착안하면서 실제 속도 스캔 테스트로서, 테스트 데이터량, 고장 검출률, 퍼포먼스, 회로 설계에는 영향을 미치지 않고, 테스트 컴프레션의 경우와 같이 입력 비트 중의 미정값(돈 케어) 비트가 적은 경우라도 런치 천이 나아가서는 제품 수율 손실 리스크를 줄이는 것이 가능하고, 또한 테스트에 있어서의 소비 전력의 삭감도 가능하게 하는 것을 목적으로 한다.
청구항 1과 관련되는 발명은, 테스트로서 고장 검출 대상의 논리 회로에 인가되는, 주어지는 집합으로서, 상기 논리 회로에 입력되는 입력 비트가 논리값 1 혹은 논리값 0의 논리 비트로 이루어지는 테스트 벡터의 집합, 적어도 하나의 비트가 미정값의 미정값 비트를 포함하고, 잔여의 비트가 논리 비트인 테스트 큐브의 집합, 또는 테스트 벡터와 테스트 큐브의 조합의 집합으로부터 상기 주어진 집합의 고장 모델을 유지하면서 또는 고장 검출률을 유지하면서 혹은 향상시키면서 테스트 벡터 집합, 테스트 큐브합 또는 테스트 벡터와 테스트 큐브의 조합의 집합을 생성하는 생성 장치로서, 상기 논리 회로 내의 특정의 내부 신호선을 추출하는 특정 내부 신호선 추출부와, 상기 특정의 내부 신호선을 당해 특정의 내부 신호선이 가지는 논리값에 기초하여 구별하는 특정 내부 신호선 구별부와, 상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 특정부를 구비하고, 상기 논리 회로 내의 상기 특정의 내부 신호선에는 후단 회로가 접속되어 있고, 상기 특정부가, 상기 특정 내부 신호선 추출부에 의해 추출된 상기 특정의 내부 신호선으로서, 상기 특정 내부 신호선 구별부에 의해 상기 후단 회로를 활성화시키는 각각에 지정되는 논리값을 가지고 있는 제1의 특정 내부 신호선, 상기 후단 회로를 비활성화시키는 각각에 지정되는 논리값과는 다른 논리값을 가지고 있는 제2의 특정 내부 신호선, 및 미정값을 가지고 있는 제3의 특정 내부 신호선으로 구별된 내부 신호선에 관련하여, 상기 주어진 집합에 기초하여 상기 고장 모델을 유지하면서 또는 상기 고장 검출률을 유지하면서 혹은 향상시키면서, 상기 제1의 특정 내부 신호선이 가지는 당해 각 지정되는 논리값의 적어도 하나를 미정값 상태로 변경시키는 것, 상기 제2의 특정 내부 신호선에는 당해 다른 논리값의 적어도 하나를 유지시켜 당해 유지된 다른 논리값을 가지는 제2의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것, 및 상기 제3의 특정 내부 신호선에는 당해 미정값의 적어도 하나를 유지시켜 또는 상기 다른 논리값으로 변경시켜, 당해 유지된 미정값을 가지는 또는 당해 변경된 다른 논리값을 가지는 제3의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것 중에서, 적어도 어느 것인가가 가능하도록, 상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 것이다.
여기서, '고장 모델'이란, 축퇴 고장 또는 지연 고장을 포함하며, 검출 대상으로 하는 고장의 종류를 나타낸다.
청구항 2와 관련되는 발명은, 청구항 1에 있어서, 상기 후단 회로는 플립 플롭 회로군이며, 상기 논리 회로 내의 상기 특정의 내부 신호선은 상기 플립 플롭 회로군을 제어하기 위한 신호선인 것이다.
청구항 3과 관련되는 발명은, 청구항 2에 있어서, 상기 특정 내부 신호선 추출부에 의해 추출된, 상기 특정의 내부 신호선이 미리 설정된 논리값을 가지도록, 상기 특정부에 의해 특정된 비트에 상기 특정의 내부 신호선에 논리값 1 또는 논리값 0을 할당하는 할당부를 한층 더 구비하고, 상기 할당부가 상기 특정부에 의해 특정된 미정값 비트로 해야할 비트를 포함하는 입력 비트에 있어서의 미정값 비트에 대해, 상기 제1의 특정 내부 신호선이 미정값의 상태로 변경 가능한 것에 대해서는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하고, 상기 제3의 특정 내부 신호선이 유지된 미정값을 가지고 있는 경우에는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하는 것이다.
청구항 4와 관련되는 발명은, 테스트로서 고장 검출 대상의 논리 회로에 인가되는, 주어지는 집합으로서, 상기 논리 회로에 입력되는 입력 비트가 논리값 1 혹은 논리값 0의 논리 비트로 이루어지는 테스트 벡터의 집합, 적어도 하나의 비트가 미정값의 미정값 비트를 포함하고, 잔여의 비트가 논리 비트인 테스트 큐브의 집합, 또는 테스트 벡터와 테스트 큐브의 조합의 집합으로부터 상기 주어진 집합의 고장 모델을 유지하면서 또는 고장 검출률을 유지하면서 혹은 향상시키면서 테스트 벡터 집합, 테스트 큐브 집합 또는 테스트 벡터와 테스트 큐브의 조합의 집합을 생성하는 청구항 1 내지 3 중 어느 하나에 기재된 생성 장치에 의한 생성 방법으로서, 특정 내부 신호선 추출부가 상기 논리 회로 내의 특정의 내부 신호선을 추출하는 특정 내부 신호선 추출 처리와, 특정 내부 신호선 구별부가 특정의 내부 신호선을 당해 특정의 내부 신호선이 가지는 논리값에 기초하여 구별하는 특정 내부 신호선 구별 처리와, 특정부가 상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 특정 처리를 포함하고, 상기 특정의 내부 신호선에는 후단 회로가 접속되고 있고, 상기 특정 처리에 있어서 상기 특정부가 상기 특정 내부 신호선 추출 처리에 있어서 추출된 상기 특정의 내부 신호선으로서, 상기 특정 내부 신호선 구별 처리에 있어서 상기 후단 회로를 활성화시키는 각각에 지정되는 논리값을 가지고 있는 제1의 특정 내부 신호선, 상기 후단 회로를 비활성화시키는 각각에 지정되는 논리값과는 다른 논리값을 가지고 있는 제2의 특정 내부 신호선, 및 미정값을 가지고 있는 제3의 특정 내부 신호선으로 구별된 내부 신호선에 관련하여, 상기 주어진 집합에 기초하여 상기 고장 모델을 유지하면서 또는 상기 고장 검출률을 유지하면서 혹은 향상시키면서, 상기 제1의 특정 내부 신호선이 가지는 당해 각 지정되는 논리값의 적어도 하나를 미정값 상태로 변경시키는 것, 상기 제2의 특정 내부 신호선에는 당해 다른 논리값의 적어도 하나를 유지시켜 당해 유지된 다른 논리값을 가지는 제2의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것, 및 상기 제3의 특정 내부 신호선에는 당해 미정값의 적어도 하나를 유지시켜 또는 상기 다른 논리값으로 변경시켜, 당해 유지된 미정값을 가지는 또는 당해 변경된 다른 논리값을 가지는 제3의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것에 대하여, 적어도 어느 것인가가 가능하도록 상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 방법인 것이다.
또한, 상기 청구항 1 및 4에 있어서의 특정 처리에 있어서 제2의 특정 내부 신호선에 대해서 「적어도 하나」라고 표현하고 있지만 가능한 한 많은 것에 대하여 다른 논리값을 유지시키는 것이 바람직하고, 모두에 대해서 다른 논리값을 유지시키는 것이 보다 바람직하다. 마찬가지로 상기 특정 처리에 있어서 제3의 특정 내부 신호선에 대해서도 「적어도 하나」라고 표현하고 있지만, 가능한 한 많은 것에 대하여 미정값을 유지시키는 것 또는 다른 논리값으로 변경시키는 것이 바람직하고, 모두에 대해서 미정값을 유지시키는 것 또는 다른 논리값으로 변경시키는 것이 보다 바람직하다. 또한, 상기 특정 처리에 대해서, 3개의 처리에 관해서 「적어도 어느 것인가 가능한」이라고 하고 있는데, 미정값이 발생하고 있지 않은 경우에는 제3의 특정 내부 신호선의 처리를 할 수 없는 경우도 있을 수 있지만 3개의 처리가 모두 행해지는 것이 바람직하다.
청구항 5와 관련되는 발명은, 청구항 4에 있어서, 상기 후단 회로는 플립 플롭 회로군이며, 상기 논리 회로 내의 상기 특정의 내부 신호선은 상기 플립 플롭 회로군을 제어하기 위한 신호선인 것이다.
청구항 6과 관련되는 발명은, 청구항 5에 있어서, 할당부가 상기 특정부의 상기 특정 처리에 의해 특정된 미정값 비트로 해야할 비트를 포함하는 입력 비트에 있어서의 미정값 비트에 대해, 상기 제1의 특정 내부 신호선이 미정값의 상태로 변경 가능한 것에 대해서는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하고, 상기 제3의 특정 내부 신호선이 유지된 미정값을 가지고 있는 경우에는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하는 할당 처리를 포함하는 것이다.
또한, 청구항 2, 3, 5, 또는 6에 있어서의 상기 플립 플롭 회로군을 제어하기 위한 신호선으로서는, 클록 제어 신호선을 예로 들 수 있지만 게이트 클록 신호선으로서 파악해도 좋다.
청구항 7과 관련되는 발명은, 청구항 4 내지 6의 어느 것인가에 기재의 생성 방법을 컴퓨터로 실행시키는 것이 가능한 프로그램이 기록된 컴퓨터로 독출 가능한 기록 매체이다.
본원과 관련되는 발명에 의하면, 특정의 내부 신호선을 제1, 제2 및 제3 특정 내부 신호선으로 구별하고, 제1의 특정 내부 신호선에 대해서는 각 지정되는 논리값을 미정값의 상태로 변경시키는 것이 가능하고, 제2의 특정 내부 신호선 및 제3의 특정 내부 신호선에 대해서는 각 지정되는 논리값이 아닌 상태로 하는 것이 가능하게 되도록 입력 비트에 있어서의 논리 비트 및 미정값 비트를 특정하므로, 주어진 집합의 사이즈를 변경할 것도 없고, 즉 특성의 저하를 억제하면서 특히 제1의 특정 내부 신호선의 상태를 제어할 수 있는 새로운 테스트 큐브를 포함하는 새로운 집합을 생성할 수 있다.
그 결과, 예를 들면 특정의 내부 신호선이 플립 플롭군의 활성화와 비활성화를 제어하는 신호선이면, 가능한 한 많은 특정의 내부 신호선이 비활성화하는 것을 선택함으로써, 수많은 플립 플롭을 비활성으로 할 수 있어 테스트에 있어서의 소비 전력의 삭감이 가능하게 된다.
또한, 실제 속도 스캔 테스트라도, 테스트 데이터량, 고장 검출률, 퍼포먼스, 회로 설계에는 영향이 미치지 않고, 두 테스트 콤프레션의 경우와 같이 입력 비트 중의 돈 케어 비트가 적은 경우라도 런치 천이 나아가서는 제품 수율 손실 리스크를 줄이는 것이 가능하게 된다.
도 1은 본 발명의 실시의 형태에 따른 테스트 큐브 집합의 생성 방법을 실시 가능한 변환 장치를 나타낸 블록도이다.
도 2는 도 1의 변환 장치의 동작을 구체적으로 설명하기 위한 도이다.
도 3은 CTX의 기본적인 사고 방식을 설명하기 위한 도이다.
도 4는 CTX의 기본 개념을 나타낸 플로우도이다.
도 5는 CTX를 위한 테스트 생성을 목적으로 하는 m개의 클록 게이팅 블록을 포함하는 회로의 모델을 나타내는 도이다.
도 6은 제한 있는 테스트 릴랙제이션을 설명하기 위한 도이다.
도 7은 실험 결과를 설명하기 위한 2개의 표를 나타내는 도이다.
도 8은 부분 스캔 회로를 설명하기 위한 도이다.
도 9는 반도체 논리 회로가 설계, 제조, 테스트의 3단계를 거쳐 출하되는 것을 나타낸 도이다.
도 10은 일반적인 논리 회로에 있어서의 풀 스캔 순서 회로의 모식도이다.
도 11은 테스트 입력과 테스트 응답의 관계를 나타낸 모식도이다.
도 12는 테스트 큐브와 테스트 벡터에 대해서 설명하기 위한 도이다.
도 13은 테스트 큐브를 구하는 방법의 개념을 설명하는 도로서 테스트 데이터 조작의 예를 설명하기 위한 도이다.
도 14는 테스트 릴랙제이션의 예를 간단하게 설명하기 위한 도이다.
도 15는 LOC 클록킹 방식을 설명하기 위한 도이다.
도 16은 테스트 릴랙제이션과 X­필링 수법의 개념을 나타낸 도이다.
도 17은 다수의 저LSA의 X­필링 수법의 하나인 JP-필로 불리는 것을 나타내는 도이다.
도 18은 클록 게이팅 방식의 일례를 나타낸 도이다.
도 19는 도 17의 클록 게이팅 회로에 관한 신호의 타이밍 차트를 나타낸 도이다.
도 20은 실용적인 회로의 일례(게이트수 60만 및 천이 지연 테스트 벡터수 600)에 대한 테스트 벡터수와 미정값 X의 비율을 나타낸 그래프이다.
<실시예>
도 1은 본 발명의 실시의 형태에 따른 테스트 큐브 집합의 생성 방법을 실시 가능한 변환 장치를 나타낸 블록도다.
도 1을 참조하여, 이 변환 장치(1)는 고장 검출 대상의 논리 회로 내의 내부 신호선 중에서 특정의 내부 신호선을 추출하는 특정 내부 신호선 추출부(3)와, 추출된 특정 내부 신호선을 후술하듯이 구별하는 특정 내부 신호선 구별부(5)와, 입력 비트에 있어서의 입력 미정값 비트 및 입력 논리 비트를 특정하는 특정부(7)와, 특정된 입력 미정값 비트를 포함하는 입력 비트에 있어서의 미정값 비트에 논리값 1 또는 논리값 0을 할당하는 할당부(9)를 구비한다. 특정부(7)는 입력 미정값 비트 특정부(11)와, 입력 논리 비트 특정부(13)를 구비한다. 이러한 구성을 가지는 변환 장치(1)는 입력 비트에 관한 주어진 집합의 일례인 초기 테스트 벡터 집합(15)으로부터 새로운 집합의 일례로서의 테스트 큐브 집합(17)을 생성하고, 또한 테스트 큐브 집합(17)으로부터 최종 테스트 벡터 집합(19)으로 변환하여 테스트로서 고장 검출 대상의 논리 회로에 인가되는 집합을 생성할 수 있다.
여기서, 특정 내부 신호선 추출부(3)가 추출하는 특정의 내부 신호선으로서는, 예를 들면 후단 회로로서의 플립 플롭 회로군의 활성화와 비활성화를 결정할 수 있는 클록 게이팅 회로에 입력되는 클록 제어 신호선을 들 수 있다. 그리고, 특정 내부 신호선 구별부(5)는 상기와 같은 클록 제어 신호선이 논리값 1(0)의 경우와 논리값 0(1)의 경우를 구별하고, 예를 들면 논리값 1을 가지는 클록 제어 신호선을 제1의 특정 내부 신호선으로 하고 논리값 0을 가지는 클록 제어 신호선을 제2의 특정 내부 신호선으로 한다. 또한, 주어지는 집합에 미정값(돈 케어) 비트가 포함되어 있는 경우에는, 특정 내부 신호선 구별부(5)는 미정값 X를 가지는 클록 제어 신호선을 제3의 특정 내부 신호선으로서 더 구별할 수 있는 것으로 한다.
도 2는 도 1의 변환 장치의 동작을 구체적으로 설명하기 위한 도이다.
도 2(A)에 나타낸 것은 도 1의 초기 테스트 벡터 집합(15)의 일례이다. 초기 테스트 벡터 집합은, 예를 들면 자동 테스트 패턴 생성(ATPG) 프로그램에 의해 생성된다. 이것에 대해서, 특정 내부 신호선 추출부(3) 및 특정 내부 신호선 구별부(5)의 동작에 의해 입력 비트에 관한 제약 비트 집합(21)이 결정된다. 이 제약 비트 집합(21) 중에서 「*」가 붙은 비트는 미정값(돈 케어) X로 할 수 있는 것이 기대되는 비트이고, 「―」가 붙은 비트는 논리값 1과 논리값 0 중 어느 것인 논리 비트로 여겨지는 비트이다. 특정부(7)는 플립 플롭군을 활성화시키는, 예를 들면 논리값 1(지정되는 논리값)을 가지고 있는 상기한 제1의 클록 제어 신호선, 플립 플롭군을 비활성화시키는 예를 들면 논리값 0(지정되는 논리값과는 다른 논리값)을 가지고 있는 제2의 클록 제어 신호선에 관계되고, 고장 시뮬레이션에 의해 고장 검출률이라고 하는 특성의 저하를 억제하면서, 제1의 클록 제어 신호선이 가지는 논리값 1을 미정값의 상태로 변경시키는 것, 및 제2의 클록 제어 신호선에는 논리값 0을 유지시켜 논리값 1이 아닌 상태로 하는 것의 양자를 가능한 한 행하도록 입력 비트에 있어서의 논리 비트 및 미정값 비트를 특정하는 특정 처리를 행한다. 그 결과, 도 2(C)에 나타내는 것 같은 □로 둘러싸여 특정되어 있는 미정값 비트로 해야할 비트(도 1의 입력 미정값 비트 특정부(11)에 의해 얻어진다.)와, ○으로 둘러싸여 특정되어 있는 논리 비트(도 1의 입력 논리 비트 특정부(13)에 의해 얻어진다.)가 나타난 집합이 얻어진다. 이것에 의해, 도 2(D)에 나타내는 것 같은 테스트 큐브 집합(17)이 새로운 집합으로서 생성된다. 새로운 테스트 큐브 집합(17)은 초기 테스트 벡터 집합과의 관계에서는 테스트 데이터량이라고 하는 사이즈의 증가는 없고, 고장 검출률이라고 하는 것 같은 특성의 저하는 억제되면서, 제1의 클록 제어 신호선을 예를 들면 논리값 1로부터 논리값 0과 같이 플립 플롭군을 활성화시키는 논리값으로부터 비활성화시키는 논리값으로 변경시키는 집합이다. 마지막으로, 할당부(9)가 동작하여 특정 처리에 의해 특정된 미정값 비트로 해야할 비트를 포함하는 입력 비트에 있어서의 미정값 비트에 대해, 제1의 클록 제어 신호선이 미정값의 상태로 변경 가능한 것에 대해서는 플립 플롭군을 비활성화시키는, 예를 들면 논리값 0을 가지도록 논리값 1 또는 논리값 0을 할당하는 할당 처리를 행하여 도 2(E)에 나타내는 것 같은 최종 테스트 벡터 집합(19)이 얻어진다.
또한, 주어지는 집합에 미정값(돈 케어) 비트가 포함되어 있는 경우에는, 특정 내부 신호선 구별부(5)는 미정값 X를 가지는 클록 제어 신호선을 제3의 특정 내부 신호선으로서 더 구별할 수 있기 때문에, 특정부(7)는 제3의 클록 제어 신호선에는 당해 미정값을 유지시켜 또는 예를 들면 논리값 0(지정되는 논리값과는 다른 논리값)으로 변경시켜 논리값 1이 아닌 상태로 하는 것을 가능한 한 행하고, 입력 비트에 있어서의 논리 비트 및 미정값 비트(미정값 비트로 해야할 비트를 포함한다)를 특정하는 특정 처리를 행하면 좋다. 그리고 할당부(9)는 제3의 클록 제어 신호선이 유지된 미정값을 가지고 있는 경우에는 플립 플롭군을 비활성화시키는 예를 들면 논리값 0을 가지도록, 논리값 1 또는 논리값 0을 할당하는 할당 처리를 행하면 좋다.
또한, 상기의 설명에서는 특정의 내부 신호선으로서 클록 제어 신호선을 일례로서 들었지만 그 이외의 내부 신호선을 특정 내부 신호선으로 해도 좋고 모두 동일 종류의 내부 신호선을 특정 내부 신호선으로 할 필요는 반드시 없다.
또한, 상기에서는 특정 내부 신호선의 일례로서 클록 제어 신호선을 예로 들어, 클록 제어 신호선이 가지는 논리값으로서 후단의 플립 플롭군을 활성화하는 경우의 논리값을 1, 비활성화하는 경우의 논리값을 0으로 하였지만, 클록 신호와의 출력을 AND로 할지 OR로 할지에 따라서 다르고, 각각에서 지정되는 논리값을 가지는 것을 제1의 특정 내부 신호선으로 하고 각각에서 지정되는 논리값과는 다른 논리값을 가지는 것을 제2의 특정 내부 신호선으로 하면 좋다.
또한, 제1의 내부 신호선과 제2의 내부 신호선과 제3의 내부 신호선의 모두에 관해서 상기한 특정 처리를 행할 필요는 없고, 제1의 내부 신호선만, 제2의 내부 신호선만, 제3의 내부 신호선만, 혹은 그러한 것 사이의 조합에 관해서 상기한 특정 처리를 행하여도 좋다. 또한, 예를 들면 제1의 내부 신호선이 다수 있는 경우에는 적어도 그 하나에 관해서 상기의 특정 처리가 행해지는 것이라도 좋고, 이것에 관해서는 제2, 제3 내부 신호선에 관해서도 마찬가지이다.
이하, 도 1 및 도 2를 이용하여 설명한 본원 발명과 관련해서 더 설명한다.
[CTX(Clock-Gating-Based Test Relaxation)의 기본 개념]
도 3은 CTX의 기본적인 사고 방식을 설명하기 위한 도이다. 도 3에 나타내는 기본적인 사고 방식은, 클록 게이팅을 정교하게 이용한 테스트 릴랙제이션과 X­필링이다. 도 3(A)에서는 4개의 플립 플롭(이하, FF)이 ENA와 ENB의 2개의 클록 제어 신호에 의해 제어되고 있고, ENA와 ENB의 값은 초기 테스트 벡터에 대해서는 1이다. 이것으로부터 모든 FF가 액티브, 즉 C1(도 15)에 있어서 캡쳐하게 되어 결과적으로 4개의 초기 런치 천이가 생긴다. CTX는 다음의 2개의 스테이지(stage)로 이루어진다.
 <스테이지 1(클록 무효화)>
도 3(B)에 나타나고 있듯이, 우선 테스트 릴랙제이션을 실행하여 가능한 한 많은 유효화 클록 제어 신호(값=1)를 뉴트럴(neutral) 신호(값=X)로 치환하고, 다음에 도 3(C)에 나타내고 있듯이 X­필링을 실행하여 가능한 한 많은 뉴트럴 클록 제어 신호를 무효화 신호(값=0)로 치환한다. 무효화 클록 제어 신호(도 3(C)의 FF1 및 FF2)로 제어된 모든 FF가 비액티브하므로, 런치 천이는 효율 좋게 정리하여 줄여진다. 이 스테이지 1의 처리가 도 1의 변환 장치(1)에 의해 행해진다.
 <스테이지 2(FF정지화)>
테스트 릴랙제이션을 실행하여 가능한 한 많은 액티브 천이 FF(입력값≠출력값, 즉 도 3(C)의 FF3 및 FF4)를 뉴트럴 FF(입력값 또는 출력값=X, 즉 도 3(D)의 FF3 및 FF4)로 치환하고, 다음에 X­필링을 실행하여 뉴트럴 FF의 입력값과 출력값을 등치화함으로써 가능한 한 많은 뉴트럴 FF를 비천이 FF(입력값=출력값, 즉 도 3(E)의 FF4)로 치환한다. 이와 같이 하여, 개개의 FF에 있어서의 런치 천이의 수가 줄여진다. 이 스테이지 2의 처리는 본원 발명자 등에 의해 다른 출원에서 제안된 기술 등이 이용된다.
CTX 방식의 주된 공헌은 아래와 같다. (1) 클록 무효화에 기초하는 테스트 릴랙제이션과 X­필링:CTX는 실제 속도 스캔 테스트에 있어서의 클록 게이팅의 전력 절약 가능성을 완전하게 탐색한다. (2) FF정지화에 기초하는 테스트 릴랙제이션 및 X­필링:CTX는 액티브(active)인 채의 FF의 입력값과 출력값을 가능한 한 일치시켜 개개의 FF에 있어서의 런치 천이를 더 줄인다. (3) 클록 게이팅의 비간섭적 용법:테스트 데이터 조작을 통해서 클록 게이팅을 이용함으로써, CTX는 ATPG의 변화도 테스트 데이터의 증가도 고장 검출률의 감소도 전혀 일으키지 않는다. (4) X비트 효율:클록 무효화 및 FF정지화에 의해 CTX는 X비트가 거의 없어도 런치 천이를 현저하게 줄인다.
 [문제의 형식화]
실제 속도 스캔 테스트에 있어서의 클록 게이팅에 기초하는 런치 천이를 감소한다고 하는 과제는 이하와 같이 된다. Vinitial를 어느 테스트 벡터 집합으로 가정한다. 이하의 조건하에서 새로운 테스트 벡터 집합 Vfinal를 찾아낸다. (1) Vfinal의 고장 검출률은 Vinitial의 고장 검출률보다 작지는 않다. (2) Vfinal의 사이즈는 Vinitial의 사이즈와 동일하다. (3) Vfinal의 피크 런치 천이는 클록 무효화 및 FF정지화를 이용하여 Vinitial의 피크 런치 천이보다 가능한 한 작게 한다.
 [기본 개념]
상기의 과제를 해결하기 위해서, CTX(Clock-Gating-Based Test Relaxation and X-Filling)를 제안한다. 이하는 CTX의 순서를 서술하는데 있어서 유용한 용어이고 이하와 같이 정의한다.
정의 A:입력 벡터에 있어서의 클록 제어 신호 EN의 값이 논리값 1(0)일 때, EN은 유효하다(무효이다)라고 한다. 값이 X일 때, EN은 뉴트럴(neutral)이라고 한다. 예를 들면, 도 3(A)(B)(C)에 있어서의 ENA는 각각, 유효한, 뉴트럴인, 무효인 클록 제어 신호이다.
정의 B:FF 혹은 클록 게이트 FF군에의 클록이 유효(무효)일 때, 그 FF 혹은 그 클록 게이트 FF군은 액티브(비액티브)라고 한다. 예를 들면, 도 3(C)에 있어서의 FF1 및 FF2(FF3 및 FF4)는 비액티브(액티브) FF이다. 클록 게이트 FF군{FF1, FF2}({FF3, FF4})는 비액티브(액티브)라고도 한다.
정의 C:FF의 입력값과 출력값이 같은(다른) 논리값일 때, 그 FF는 비천이 FF(천이 FF)라고 한다. FF의 입력값 혹은 출력값이 X일 때, 그 FF는 뉴트럴 FF라고 한다. 예를 들면, 도 3(D)의 FF3 및 FF4는 양쪽 모두 뉴트럴 FF이다. 도 3(E)에 있어서, FF3는 천이 FF이고, FF4는 비천이 FF이고, 양쪽 모두 액티브하다.
CTX는 이하의 2개의 견해에 기초하고 있다.
견해 1:모든 유효 클록 제어 신호가 실제로 유효할 필요는 없다. 이것이 일어나는 것은, 어느 테스트 벡터 내의 고장을 검출하기 위해서 클록 제어 신호를 유효하게 하였지만, 후에 그 고장이 그 클록 제어 신호가 유효할 필요가 없는 다른 테스트 벡터에 의해 검출될지도 모르는 경우이다.
견해 2:고장 검출을 위해서 어느 FF만이 액티브로만 있으면 좋은 경우라도 같은 클록 게이트 FF군에 있는 FF는 같은 클록 제어 신호를 공유하고 있으므로, 다른 모든 FF도 액티브하지 않으면 안된다. 이 결과, 클록 게이팅이 엉성한 경우에는 특히 불필요한 천이가 일어난다.
도 4는 CTX의 기본 개념을 나타낸 플로우 도면이다.
첫번째의 견해는 도 4에 나타낸 CTX의 스테이지 1(Clock-Disabling)로 통하고 있다. 테스트 릴랙제이션을 실행하여 가능한 한 많은 유효 클록 제어 신호를 뉴트럴 신호로 치환하고, 다음에 X­필링을 실행하여 가능한 한 많은 뉴트럴 클록 제어 신호를 무효 신호로 치환한다. 이와 같이 하여, 클록 게이팅을 정리하여 삭감하는 능력의 덕분에 런치 천이는 클록 게이트 FF군 레벨에서 효율적으로 삭감된다. 도 1의 변환 장치(1)의 동작이 실행되는 내용이다.
두번째의 견해는 도 14에 나타낸 CTX의 스테이지 2(FF정지화)로 통하고 있다. 테스트 릴랙제이션을 실행하여 가능한 한 많은 액티브 천이 FF를 뉴트럴 FF로 치환하고, 다음에 X­필링을 가능한 한 많은 뉴트럴 FF를 비천이 FF로 치환한다. 이와 같이 하여, 런치 천이는 개개의 FF레벨에서 더 삭감된다.
 [회로 모델]
도 5는 CTX를 위한 테스트 생성을 목적으로 하는 m개의 클록 게이팅 블록을 포함하는 회로의 모델을 나타내는 도이다.
우선, 도 15에 나타내듯이 모두 특정된 테스트 벡터ν는 최종 시프트 펄스 SL의 상승 에지(rising edge)시에 로드(load)된다. ν는 FF의 출력값에 대응하는 PPI부<ν:PPI> 및 초기 입력값에 대응하는 PI부<ν:PI>로 이루어진다. 클록 제어 논리 회로의 조합은 도 5에 나타나고 있는 것처럼, m개의 클록 게이팅 블록에 대응하는 m개의 클록 제어 신호 EN1, EN2,···ENm를 생기게 한다. 클록 제어 신호는 각각 무효일지도 모르고 유효일지도 모르고, 대응하는 클록 게이트 FF군이 런치 캡쳐 펄스 C1일 때에 액티브한지 아닌지를 결정한다.
[CTX의 순서]
상기한 도 4에 나타낸 CTX의 기본 개념에 기초하여 CTX의 수속은 다음과 같이 기술할 수 있다.
입력:V0={ν0 i|i=1, 2,···, n}  /초기 테스트 벡터 집합
출력:V2={ν2 i|i=1, 2,···, n}  /최종 테스트 벡터 집합
<스테이지 1(클록 무효화)>
(1-1) i=1, 2,···, n에 대해서, RS(ν0 i)={ν0 i하에서 적어도 하나의 유효 클록 제어 신호로부터 도달가능한 ν0 i 내의 비트}로 한다.
(1-2) T1=RS(v0 1)∪RS(ν0 2)···∪RS(ν0 n)로 한다.
(1-3) V0에 제한 있는 테스트 릴랙제이션을 실행하여, V0의 고장 검출률을 보유하면서 T1 내의 가능한 한 많은 비트를 X비트로 치환한다. 얻어진 부분적으로 특정된 테스트 큐브를 C1={c1 i|i=1, 2,···, n}로 한다.
(1-4) i=1, 2,···, n에 대해서, c1 i 내의 각 몇 개의 X비트에 대해서 적절한 논리값을 할당함으로써 c1 i하의 각 뉴트럴 클록 제어 신호에 대해서 0을 정당화하도록 시도한다.
(1-5) i=1, 2,···, n에 대해서, c1 i 내에 남아 있는 X비트에 대해서 저LSA의 X­필링을 실행한다. 얻어진 모두 특정된 테스트 벡터의 집합을 V1={ν1 i|i=1, 2,···, n}로 한다.
<스테이지 2(FF정지화)>
(2-1) i=1, 2,···, n에 대해서, RF(v1 i)={v1 i하에서 액티브 천이 FF에 대응하는 v1 i 내의 비트}로 한다.
(2-2) T2=RF(v1 1)∪RF(v1 2)···∪RF(v1 n)로 한다.
(2-3) V1에 제한 있는 테스트 릴랙제이션을 실행하여, (1) V1의 고장 검출률 및 (2) 모든 클록 제어 신호의 논리값을 보유하면서, T2 내의 가능한 한 많은 비트를 X비트로 치환한다. 얻어진 부분적으로 특정된 테스트 큐브를 C2={c2 i|i=1, 2,···, n}로 한다.
(2-4) i=1, 2,···, n에 대해서, c2 i 내의 X비트에 대해서 저LSA의 X­필링을 실행한다. 얻어진 모두 특정된 테스트 벡터의 집합을 V2={ν2 i|i=1, 2,···, n}로 한다.
[제한 있는 테스트 릴랙제이션]
CTX의 키(key)로 되는 조작은, 모두 특정된 테스트 벡터 집합 V에 실행되는 제한 있는 릴랙제이션이고, (1) V의 고장 검출률 및 (2) S 내의 타겟(target)열의 논리값을 보유한 채로, T 내의 가능한 한 많은 타겟 비트를 X비트로 치환하기 위해서 실행한다. 결과적으로 부분적으로 특정된 테스트 큐브 C가 얻어진다. 이상의 것은 도 6에 나타나고 있고, *표시는 타겟 비트의 위치를 나타내고 있다. 스텝(1-3)에서는 S=φ를 가정하는 것이 가능하고, 여기서의 제한 있는 테스트 릴랙제이션에서는 고장 검출률만이 보유될 필요가 있다.
[제한 있는 테스트 릴랙제이션의 순서]
도 6은 제한 있는 테스트 릴랙제이션의 순서를 설명하기 위한 도이다.
우선, 도 6에 있어서 입력 V는 모두 특정된 테스트 벡터 집합이다. T는 타겟 비트 집합이다. S는 타겟열 집합(CTX의 스텝(1-3)에서는, S=φ)이다. 출력 C:결과적으로 얻어지는 부분적으로 특정된 테스트 큐브 집합이다.
스텝 S-1에서는, V의 모든 필수 고장을 특정한다. 그것들의 고장은 각각 V 내의 어느 테스트 벡터에 의해서만 검출되고, 2회 검출 고장 시뮬레이션에 의해 특정된다.
스텝 S-2에서는, V 내의 비트로서, (1) 모든 필수 고장을 검출하기 위해서 및 (2) S 내의 모든 타겟열의 논리값을 보유하기 위해서, 논리값이 필요하게 되는 모든 비트를, T 내의 비트는 가능한 한 피하도록 하는 방식으로 특정한다. 그러한 비트는 ATPG에서도 널리 응용되고 있는 정당화 조작을 이용하여 용이하게 찾아내진다. 이어서, V 내의 특정된 비트를 X비트로 치환하여 중간 테스트 큐브 집합 C′가 얻어진다.
스텝 S-3에서는, 3값 고장 시뮬레이션을 C′에 실행하여, V의 모든 비필수 고장을 구한다. 검출되지 않은 모든 비필수 고장에 대해서는 그것들을 검출하기 위해서 논리값이 필요하게 되는 V 내의 X비트를, T 내의 비트는 가능한 한 피하도록 하는 방식으로 특정한다. 이어서, 특정된 X비트를 V 내의 그 비트의 원래의 논리값을 이용하여 회복한다. 이렇게 하여 최종 테스트 큐브 집합 C가 얻어진다.
또한, 제한 있는 테스트 릴랙제이션의 순서의 시간적 코스트(cost)는 O(M×N)이다. 여기서, M 및 N는 각각 고장의 수 및 테스트 벡터의 수이다.
[실험 결과]
도 7은 실험 결과를 설명하기 위한 2개의 표를 나타내는 도이다.
CTX 테스트 생성 방식은 평가 실험을 위해서 C언어를 이용하여 실장되어 있다. 게이트 클록을 구비한 벤치마크(bench mark) 회로를 입수할 수 없기 때문에, 오픈 소스(open source)의 마이크로 프로세서 디자인인 picoJava(등록상표)를 합성하여, 도 7(A)의 표에 나타내는 2개의 테스트 회로 TC-1 및 TC-2를 작성하였다. 1개의 클록 게이팅 블록은 1개의 클록 게이트 FF군에 대응하고 있다. 평가 실험은 TC-1 및 TC-2에 대해서 행해지고 결과는 도 7(B)의 표에 정리하였다. 천이 LOC 지연 테스트 벡터는 TetraMAX(등록상표)에 의해 생성된다. 테스트 벡터수 및 고장 검출률은 각각 “벡터수” 및 “고장 검출률(%)”의 아래에 표시되어 있다. (1) 프리퍼드-필(Preferred­Fill)을 이용한 XID, (2) JP-필(JP­Fill)을 이용한 XID, (3) 제안한 CTX 방식을 이용한 3개의 실험을 행하였다. 여기서, XID라는 것은 게이트 클록을 이용하지 않는 테스트 릴랙제이션 시스템이다. WSA 기준에 의한 최초의 테스트 벡터 집합에 대한 런치 천이의 삭감율은 각각 “XID+Preferred”, “XID+JP”, “CTX”의 아래에 나타나고 있다. 도 7(B)의 표는 CTX 방식이 종래의 테스트 릴랙제이션과 X­필링에 기초한 지금까지의 방식보다 효율적인 것을 나타내고 있다. 또한, 클록 게이트 메카니즘이 대량으로 이용되고 있는 저전력 디바이스에 CTX가 특히 효율적인 것도 나타나고 있다.
실험 결과도 근거하여 이하의 것을 말할 수 있다.
(1) CTX는 실제 속도 스캔 테스트에 있어서의 제품 수율 손실 리스크를 삭감하는데 있어서, CTX는 테스트 데이터의 증가도, 고장 검출률의 저하도, 회로/클록킹의 변경도, 회로의 퍼포먼스의 저하도, 전혀 일으키지 않는다고 하는 의미로 비간섭적이다. 이것이 CTX를 어느 파워 세이프(power safe) 테스트 생성 플로우에 있어서도 이용가치가 높은 것으로 하고 있다. (2) CTX는 테스트 큐브 내의 X비트의 수가 한정되어 있는 테스트 컴팩션 및 테스트 콤프레션에 적용 가능하다. CTX는 최초의 테스트 벡터량이 불변인 것 같은 정교한 방식으로 클록 게이트를 충분히 활용함으로써 그러한 X비트 부족을 보충하고 있다.
[정리]
이상과 같이, 실제 속도 스캔 테스트에 있어서 제품 수율 손실을 생기게 할 수 있는 런치 천이를 효율적으로 삭감하기 위해서, CTX(Clock-Gating-Based Test Relaxation and X-Filling)라고 하는 방식을 제안하였다. 기본적인 사고 방식은 클록 게이팅을 이용하여 고장 검출에 공헌하지 않는 FF를 가능한 한 많이 무효화하는 것이다. CTX는 테스트 릴랙제이션 및 X­필링에 클록 게이팅을 충분히 활용하는 종류의 것으로는 처음의 것이다. CTX는 테스트 사이즈, 고장 검출률, ATPG·회로·클록의 설계, 및 기능상의 퍼포먼스에 전혀 영향을 미치지 않고, 제품 수율 손실을 삭감할 수 있다. 또한, CTX는 X비트가 한정되어 있는 것 같은 어떠한 테스트 콤프레션 방식에도 적용 가능하다.
또한, 상기까지에서는 도 10에 나타내는 것 같은 풀 스캔(full scan) 순서 회로를 이용하여 설명하였지만, 도 8에 나타내는 것 같은 부분 스캔 회로에도 적용 가능하다. 여기서, 부분 스캔 회로라는 것은 일부의 플립 플롭을 스캔 플립 플롭으로 치환한 다음 그것들을 이용하여 1개 혹은 복수개의 스캔 체인(scan chain)을 형성하는 것이다. 또한, 파이프라인(pipeline) 순서 회로에 대해서도 적용 가능하다.
구체적으로는, 조합 회로 부분(3000)과, 순서 회로의 플립 플롭(3001)과, 부분 스캔 순서 회로의 스캔 플립 플롭(3002)으로 구성된다. 조합 회로 부분(3000)은 도 10의 조합 회로부(1201)와 마찬가지지만, 그 입력은 <v:PPI>가 스캔 시프트에 의해 스캔 플립 플롭(3002)으로 설정되는 부분<v:PPIn2>와, 플립 플롭(3001)으로 설정되는 부분<v:PPIn1>로 이루어진다. 또한, 조합 회로 부분(3000)으로부터의 출력은 동일하게 도 10의 조합 회로부(1201)와 마찬가지지만, 테스트 벡터v에 대한 테스트 응답 f(v)로서의 외부 출력선에 직접 나타나는 부분<f(v):PO>과 랜덤 외부 출력선에 나타나는 부분<f(v):PPO> 중, <f(v):PPO>는 스캔 캡쳐에 의해 스캔 플립 플롭(3002)에 집어 넣어지는 부분<f(v):PPOn2>와 플립 플롭(3001)에 집어 넣어지는 부분<f(v):PPOn1>로 이루어진다.
도 8(b)는 도 8(a)에 있어서의 스캔 플립 플롭(3002)에 있어서의 스캔 캡쳐의 전과 후에 있어 논리값에 차이가 발생하는 경우의 일례를 나타낸다.
도 10(b)도 마찬가지지만, 도 8(b)에 있어서 테스트 벡터<v:PPIn2>의 요소인 하나의 비트 a와 그것에 대응하는 테스트 응답<f(v):PPOn2>가 스캔 플립 플롭(3002)에서 다른 논리값을 취하면, 캡쳐 모드 시에 논리값의 차이(이하, 천이로 한다)가 발생한다. 어느 하나의 테스트 벡터에 대한 천이의 수는, 그 테스트 벡터를 원인으로 한 조합 회로 부분(3000)을 포함한 회로 전반에서 발생하는 소비 전력과 깊이 관계하고 있기 때문에, 테스트 벡터에 대한 캡쳐시의 천이의 수를 삭감함으로써 캡쳐시의 소비 전력을 저감할 수가 있다. 이러한 처리가 도 4의 스테이지 2(FF정지화)의 처리로서 행해진다.
또한, 상기에서는 고장 검출 대상의 논리 회로의 예로서, 풀 스캔 순서 회로의 조합 회로 부분의 경우 외, 부분 스캔 회로의 조합 회로 부분의 경우도 나타냈지만 파이프라인(pipeline) 방식의 논리 회로 등의 다른 논리 회로라도 좋다.
7 : 특정부 9 : 할당부
11 : 입력 미정값 비트 특정부 13 : 입력 논리 비트 특정부

Claims (7)

  1. 테스트로서 고장 검출 대상의 논리 회로에 인가되는, 주어지는 집합으로서, 상기 논리 회로에 입력되는 입력 비트가 논리값 1 혹은 논리값 0의 논리 비트로 이루어지는 테스트 벡터의 집합, 적어도 하나의 비트가 미정값의 미정값 비트를 포함하고, 잔여의 비트가 논리 비트인 테스트 큐브의 집합, 또는 테스트 벡터와 테스트 큐브의 조합의 집합으로부터 상기 주어진 집합의 고장 모델을 유지하면서 또는 고장 검출률을 유지하면서 혹은 향상시키면서 테스트 벡터 집합, 테스트 큐브 집합 또는 테스트 벡터와 테스트 큐브의 조합의 집합을 생성하는 생성 장치로서,
    상기 논리 회로 내의 특정의 내부 신호선을 추출하는 특정 내부 신호선 추출부(3)와,
    상기 특정의 내부 신호선을 당해 특정의 내부 신호선이 가지는 논리값에 기초하여 구별하는 특정 내부 신호선 구별부(5)와,
    상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 특정부(7)를 구비하고,
    상기 논리 회로 내의 상기 특정의 내부 신호선에는 후단 회로가 접속되어 있고,
    상기 특정부(7)가, 상기 특정 내부 신호선 추출부(3)에 의해 추출된 상기 특정의 내부 신호선으로서, 상기 특정 내부 신호선 구별부에 의해 상기 후단 회로를 활성화시키는 각각에 지정되는 논리값을 가지고 있는 제1의 특정 내부 신호선, 상기 후단 회로를 비활성화시키는 각각에 지정되는 논리값과는 다른 논리값을 가지고 있는 제2의 특정 내부 신호선, 및 미정값을 가지고 있는 제3의 특정 내부 신호선으로 구별된 내부 신호선에 관련하여,
    상기 주어진 집합에 기초하여 상기 고장 모델을 유지하면서 또는 상기 고장 검출률을 유지하면서 혹은 향상시키면서,
    상기 제1의 특정 내부 신호선이 가지는 당해 각 지정되는 논리값의 적어도 하나를 미정값 상태로 변경시키는 것,
    상기 제2의 특정 내부 신호선에는 당해 다른 논리값의 적어도 하나를 유지시켜 당해 유지된 다른 논리값을 가지는 제2의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것, 및
    상기 제3의 특정 내부 신호선에는 당해 미정값의 적어도 하나를 유지시켜 또는 상기 다른 논리값으로 변경시켜, 당해 유지된 미정값을 가지는 또는 당해 변경된 다른 논리값을 가지는 제3의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것 중에서,
    적어도 어느 것인가가 가능하도록, 상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 생성 장치.
  2. 제1항에 있어서,
    상기 후단 회로는 플립 플롭 회로군이며, 상기 논리 회로 내의 상기 특정의 내부 신호선은 상기 플립 플롭 회로군을 제어하기 위한 신호선인 생성 장치.
  3. 제2항에 있어서,
    상기 특정 내부 신호선 추출부(3)에 의해 추출된, 상기 특정의 내부 신호선이 미리 설정된 논리값을 가지도록, 상기 특정부(7)에 의해 특정된 비트에 상기 특정의 내부 신호선에 논리값 1 또는 논리값 0을 할당하는 할당부(9)를 한층 더 구비하고,
    상기 할당부(9)가 상기 특정부(7)에 의해 특정된 미정값 비트로 해야할 비트를 포함하는 입력 비트에 있어서의 미정값 비트에 대해,
    상기 제1의 특정 내부 신호선이 미정값의 상태로 변경 가능한 것에 대해서는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하고,
    상기 제3의 특정 내부 신호선이 유지된 미정값을 가지고 있는 경우에는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하는 생성 장치.
  4. 테스트로서 고장 검출 대상의 논리 회로에 인가되는, 주어지는 집합으로서, 상기 논리 회로에 입력되는 입력 비트가 논리값 1 혹은 논리값 0의 논리 비트로 이루어지는 테스트 벡터의 집합, 적어도 하나의 비트가 미정값의 미정값 비트를 포함하고, 잔여의 비트가 논리 비트인 테스트 큐브의 집합, 또는 테스트 벡터와 테스트 큐브의 조합의 집합으로부터 상기 주어진 집합의 고장 모델을 유지하면서 또는 고장 검출률을 유지하면서 혹은 향상시키면서 테스트 벡터 집합, 테스트 큐브 집합 또는 테스트 벡터와 테스트 큐브의 조합의 집합을 생성하는 청구항 1 내지 3 중 어느 하나에 기재된 생성 장치에 의한 생성 방법으로서,
    특정 내부 신호선 추출부(3)가 상기 논리 회로 내의 특정의 내부 신호선을 추출하는 특정 내부 신호선 추출 처리와,
    특정 내부 신호선 구별부(5)가 특정의 내부 신호선을 당해 특정의 내부 신호선이 가지는 논리값에 기초하여 구별하는 특정 내부 신호선 구별 처리와,
    특정부(7)가 상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 특정 처리를 포함하고,
    상기 논리 회로 내의 상기 특정의 내부 신호선에는 후단 회로가 접속되고 있고,
    상기 특정 처리에 있어서 상기 특정부(7)가 상기 특정 내부 신호선 추출 처리에 있어서 추출된 상기 특정의 내부 신호선으로서, 상기 특정 내부 신호선 구별 처리에 있어서 상기 후단 회로를 활성화시키는 각각에 지정되는 논리값을 가지고 있는 제1의 특정 내부 신호선, 상기 후단 회로를 비활성화시키는 각각에 지정되는 논리값과는 다른 논리값을 가지고 있는 제2의 특정 내부 신호선, 및 미정값을 가지고 있는 제3의 특정 내부 신호선으로 구별된 내부 신호선에 관련하여,
    상기 주어진 집합에 기초하여 상기 고장 모델을 유지하면서 또는 상기 고장 검출률을 유지하면서 혹은 향상시키면서,
    상기 제1의 특정 내부 신호선이 가지는 당해 각 지정되는 논리값의 적어도 하나를 미정값 상태로 변경시키는 것,
    상기 제2의 특정 내부 신호선에는 당해 다른 논리값의 적어도 하나를 유지시켜 당해 유지된 다른 논리값을 가지는 제2의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것, 및
    상기 제3의 특정 내부 신호선에는 당해 미정값의 적어도 하나를 유지시켜 또는 상기 다른 논리값으로 변경시켜, 당해 유지된 미정값을 가지는 또는 당해 변경된 다른 논리값을 가지는 제3의 특정 내부 신호선을 상기 지정되는 논리값이 아닌 상태로 하는 것에 대하여,
    적어도 어느 것인가가 가능하도록 상기 입력 비트에 있어서의 논리 비트 및 미정값 비트로 해야할 비트를 특정하는 생성 방법.
  5. 제4항에 있어서,
    상기 후단 회로는 플립 플롭 회로군이며, 상기 논리 회로 내의 상기 특정의 내부 신호선은 상기 플립 플롭 회로군을 제어하기 위한 신호선인 생성 방법.
  6. 제5항에 있어서,
    할당부(9)가 상기 특정부(7)의 상기 특정 처리에 의해 특정된 미정값 비트로 해야할 비트를 포함하는 입력 비트에 있어서의 미정값 비트에 대해,
    상기 제1의 특정 내부 신호선이 미정값 상태로 변경가능한 것에 대해서는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하고, 상기 제3의 특정 내부 신호선이 유지된 미정값을 가지고 있는 경우에는 상기 각 지정되는 논리값과는 다른 논리값을 가지도록 논리값 1 또는 논리값 0을 할당하는 할당 처리를 포함하는 생성 방법.
  7. 청구항 4에 기재된 생성 방법을 컴퓨터로 실행시키는 것이 가능한 프로그램이 기록된 컴퓨터로 독출 가능한 기록 매체.
KR1020117004931A 2008-08-20 2009-07-30 생성 장치, 생성 방법 및 프로그램 KR101555736B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008211473 2008-08-20
JPJP-P-2008-211473 2008-08-20

Publications (2)

Publication Number Publication Date
KR20110068989A KR20110068989A (ko) 2011-06-22
KR101555736B1 true KR101555736B1 (ko) 2015-10-06

Family

ID=41707111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117004931A KR101555736B1 (ko) 2008-08-20 2009-07-30 생성 장치, 생성 방법 및 프로그램

Country Status (5)

Country Link
US (1) US8429472B2 (ko)
JP (1) JP5311351B2 (ko)
KR (1) KR101555736B1 (ko)
CN (1) CN102144167B (ko)
WO (1) WO2010021233A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5750829B2 (ja) * 2010-03-19 2015-07-22 富士通セミコンダクター株式会社 半導体装置の試験方法
US8917123B2 (en) 2013-03-29 2014-12-23 Stmicroelectronics International N.V. Integrated circuit with reduced power consumption in a test mode, and related methods
US9891279B2 (en) 2013-06-17 2018-02-13 Stmicroelectronics International N.V. Managing IR drop
CN112668267A (zh) * 2020-12-24 2021-04-16 瓴盛科技有限公司 一种ip核的扫描时钟生成装置和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006047013A (ja) 2004-08-02 2006-02-16 Sharp Corp 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法
JP2007155339A (ja) 2005-11-30 2007-06-21 Japan Science & Technology Agency 変換装置、変換方法、変換方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
JP2008082867A (ja) 2006-09-27 2008-04-10 Japan Science & Technology Agency 生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7036106B1 (en) * 2000-02-17 2006-04-25 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
US6986090B2 (en) * 2002-02-20 2006-01-10 International Business Machines Corporation Method for reducing switching activity during a scan operation with limited impact on the test coverage of an integrated circuit
US7203876B2 (en) * 2004-11-30 2007-04-10 International Business Machines Corporation Method and apparatus for controlling AC power during scan operations in scannable latches
WO2008001818A1 (fr) * 2006-06-30 2008-01-03 Japan Science And Technology Agency dispositif de conversion, procédé de conversion, programme et support d'enregistrement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006047013A (ja) 2004-08-02 2006-02-16 Sharp Corp 半導体集積回路、スキャン回路設計方法、テストパターン生成方法、および、スキャンテスト方法
JP2007155339A (ja) 2005-11-30 2007-06-21 Japan Science & Technology Agency 変換装置、変換方法、変換方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
JP2008082867A (ja) 2006-09-27 2008-04-10 Japan Science & Technology Agency 生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体

Also Published As

Publication number Publication date
WO2010021233A1 (ja) 2010-02-25
CN102144167B (zh) 2014-03-12
US20110140734A1 (en) 2011-06-16
KR20110068989A (ko) 2011-06-22
JPWO2010021233A1 (ja) 2012-01-26
US8429472B2 (en) 2013-04-23
JP5311351B2 (ja) 2013-10-09
CN102144167A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
Wen et al. Low-capture-power test generation for scan-based at-speed testing
US8499209B2 (en) At-speed scan testing with controlled switching activity
Li et al. On reducing peak current and power during test
WO2007013306A1 (ja) 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム
KR101555736B1 (ko) 생성 장치, 생성 방법 및 프로그램
US8037387B2 (en) Conversion device, conversion method, program, and recording medium
McLaurin Periodic online lbist considerations for a multicore processor
JP4752029B2 (ja) 半導体論理回路装置のテスト方法及びテストプログラム
Arvaniti et al. Low-power scan testing: A scan chain partitioning and scan hold based technique
Moghaddam et al. Low capture power at-speed test in EDT environment
US8726109B2 (en) Architecture, system, method, and computer-accessible medium for eliminating scan performance penalty
Czysz et al. On deploying scan chains for data storage in test compression environment
Novak et al. Test-per-clock testing of the circuits with scan
Patil et al. A review on power optimized TPG using LP-LFSR for low power BIST
Chloupek et al. Test pattern decompression in parallel scan chain architecture
Makar et al. Iddq test pattern generation for scan chain latches and flip-flops
Ying et al. Multi-Scan Architecture with Scan Chain Disabling Technique for Capture Power Reduction.
Kavitha et al. A novel two-fold state skip logic Built-In Self-Test scheme for digital circuits
US9557382B1 (en) Inter-block scan testing with share pads
Lu et al. Speeding up emulation-based diagnosis techniques for logic cores
Liu et al. An effective deterministic test generation for test-per-clock testing
Ladnushkin Flip-flops fanout splitting in scan designs
Moghaddam On low power test and low power compression techniques
Wang et al. Low power logic BIST with high test effectiveness
Sinanoglu Scan to nonscan conversion via test cube analysis

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee