KR100618859B1 - 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체 - Google Patents
테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체 Download PDFInfo
- Publication number
- KR100618859B1 KR100618859B1 KR1020040070531A KR20040070531A KR100618859B1 KR 100618859 B1 KR100618859 B1 KR 100618859B1 KR 1020040070531 A KR1020040070531 A KR 1020040070531A KR 20040070531 A KR20040070531 A KR 20040070531A KR 100618859 B1 KR100618859 B1 KR 100618859B1
- Authority
- KR
- South Korea
- Prior art keywords
- pin
- error
- data
- information
- test vector
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체가 개시된다. 상기 테스트 벡터 검증 방법에서는, ATE 장비 테스트를 진행하기 전에 설계자로부터 전달받은 테스트 벡터 내의 오류를 미리 검출하기 위하여, 상기 테스트 벡터 내의 데이터에서 입력 핀, 출력 핀 및 양방향 핀의 데이터에 에러가 있는지 체크한다.
Description
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 반도체 집적회로의 일반적인 설계 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 반도체 집적회로 설계 과정을 설명하기 위한 도면이다.
도 3은 테스트 벡터에서 에러를 탐색하는 과정을 설명하기 위한 흐름도이다.
도 4a 내지 4c는 기본 포맷 체크 단계에서의 패스 또는 에러 메시지들을 예시하는 도면이다.
도 5a 및 5b는 입출력 핀의 데이터에 에러 있는 테스트 벡터 및 그때의 에러 메시지를 예시하는 도면이다.
도 6a 및 6b는 양방향 핀의 데이터 홀드 마진에 에러 있는 테스트 벡터 및 그때의 에러 메시지를 예시하는 도면이다.
도 7a 및 7b는 출력 핀의 에지 마스킹이 있는 테스트 벡터 및 그때의 최대 에지 마스킹 메시지를 예시하는 도면이다.
도 8a 및 8b는 스캔 테스트를 위한 입출력 핀의 데이터에 하이 임피던스 데 이터를 포함하는 테스트 벡터 및 그때의 하이 임피던스 메시지를 예시하는 도면이다.
본 발명은 반도체 집적회로 테스트에 관한 것으로서, 특히 반도체 집적회로의 설계 후에 테스트 벡터를 검증하는 방법 및 이 기능을 실현하는 기록 매체에 관한 것이다.
도 1은 반도체 집적회로의 일반적인 설계 과정(100)을 설명하기 위한 도면이다. 시스템 온 칩(SoC : System on a Chip), 반도체 메모리 등과 같은 집적 회로 설계에는, VHDL(Very High speed Description Language), 또는 VERILOG 등과 같은 설계언어로 회로를 구성하여 시뮬레이션(simulation) 할 수 있는 설계 툴(tool)(110)이 이용된다. 집적회로 설계자는 VHDL이나 VERILOG 등으로 설계된 집적회로에 대하여 설계 툴(110)에 의하여 시뮬레이션함으로써, 설계된 집적회로의 정상적인 동작 유무를 파악한다. 이와 같이 설계 툴(110)을 이용한 일련의 설계 과정을 거친 후, 설계자는 제작된 반도체 칩을 ATE(automated test equipment) 장비(120)를 통하여 테스트 할 수 있도록 하기 위한 테스트 벡터(test vector) 및 테스트 플랜(plan)을 완성한다. 제작된 반도체 칩 테스트를 맡은 엔지니어가 ATE 장비(120)에 설계자로부터 받은 테스트 벡터를 입력하면, ATE 장비(120)는 테스트 벡터에 따른 반도체 칩 테스트를 수행한 후 결과를 리포트한다. 테스트 엔지니어는 ATE 장비(120)로부터의 결과 리포트와 설계자로부터 받은 테스트 플랜을 비교함으로써, 반도체 칩의 정상적인 동작 유무를 파악하고, 에러가 있는 지 여부를 설계자에게 피드백한다. 테스트 플랜에는 입출력(input/output) 핀, 양방향(bidirectional) 핀, 스캔 테스트 벡터 여부 등의 정보가 포함된다.
최근들어, 집적회로가 복잡해지고 그 기능이 다양해짐에 따라, 설계자의 실수로 인하여 테스트 벡터에는 많은 오류가 포함되고 있다. 테스트 엔지니어는 이러한 오류로 인한 칩 테스트 결과의 불량 문제를 해결하기 위해 많은 시간과 노력을 허비하고 있다. 테스트 벡터에 포함되는 오류에는 다음과 같은 것들이 있다.
먼저, 입력 및 출력 핀의 데이터에 오류가 있는 경우가 있다. 예를 들어, 입력 핀의 데이터 형태가 '1' 또는 '0'이어야 하는 경우에, 'H' 또는 'L'이면, ATE 장비(120)에서의 테스트 시에 'Vector Fail'이라는 에러가 검출된다. 또한, 출력 핀의 데이터 형태가 'H', 'L', 'M'(high impedance) 또는 'X'(don't carre)이어야 하는 경우에, '1' 또는 '0'으로 나타나는 경우가 발생할 수 있다. 이와 같은 'Vector Fail'의 원인 분석을 위하여 테스트 엔지니어는 많은 시간과 노력을 허비한다는 문제점이 있다.
다른 테스트 벡터 오류로서, 양방향 핀의 데이터 홀드 마진(hold margin)에 오류가 있는 경우가 있다. 양방향 핀이 입력 핀 모드에서 출력 핀 모드로 전환 시 또는 출력 핀 모드에서 입력 핀 모드로 전환 시에, 홀드 마진이 고려되지 않아 결과 리포트에 에러가 포함될 수 있다. 예를 들어, 양방향 핀이 입력 핀 모드에서 출력 핀 모드로 전환되는 경우에, 데이터 진행 순서가 '1' -> 'L', '1' -> 'H', '0' -> 'L', 또는 '0' -> 'H'와 같이, 홀드 마진 없이 진행되면, 테스트 엔지니어는 결과 리포트에 포함된 에러 원인을 찾기 위하여 많은 시간과 노력을 허비한다는 문제점이 있다. 양방향 핀이 출력 핀 모드에서 입력 핀 모드로 전환되는 경우에, 데이터 진행 순서가 'H' -> '0', 'H' -> '1', 'L' -> '0', 또는 'L' -> '1'와 같이, 홀드 마진 없이 진행되는 경우에도 마찬가지이다.
또 다른 테스트 벡터 오류로서, 출력 핀의 에지 마스킹(edge masking)이 부족하여 오류가 발생하는 경우가 있다. 출력 핀의 데이터가 시간에 따라 변할 때, 그 핀의 타이밍 딜레이를 고려하여 충분한 에지 마스킹이 포함되도록 테스트 벡터가 완성되어야 한다. 예를 들어, 베스트(best) 조건으로서, 에지 마스킹 없이 테스트 벡터가 완성된 경우 또는 에지 마스킹은 있으나 부족한 경우에, 결과 리포트에 에러가 포함될 수 있다. 이때, 테스트 엔지니어는 해당 에러를 발견하여 설계자에게 피드백하고, 이에 따라 설계자는 충분한 타이밍 딜레이를 고려한 에지 마스킹이 포함되도록 테스트 벡터를 다시 완성시켜야 한다는 문제점이 있다.
또 다른 테스트 벡터 오류로서, 스캔(scan) 테스트를 위한 테스트 벡터에서 입출력 핀의 데이터에 하이 임피던스 데이터가 존재하는 오류가 있을 수 있다. 일반적으로 스캔 테스트는 플립플롭(flip flop)을 이용하여 다수의 데이터를 병렬로 받아 한 핀을 통하여 시리얼로 출력시켜서, 출력된 시리얼 데이터로부터 칩 동작을 검증하는 방법으로 알려져 있다. 집적회로 설계자는 특정 목적을 제외하고, 스캔 테스트를 위한 입출력 핀의 데이터가 하이 임피던스 데이터로 되지 않기를 원하는 경우가 있다. 그러나, 설계자의 실수로 스캔 테스트를 위한 입출력 핀의 데이터에 하이 임피던스 데이터가 존재하면, 테스트 엔지니어는 해당 에러를 발견하여 설계자에게 피드백하고, 이에 따라 설계자는 이를 제거한 테스트 벡터를 다시 완성시켜야 한다는 문제점이 있다. 또한, 스캔 관련 테스트 벡터는 사이즈가 크고, 컴파일(compile) 및 로딩(loading)을 위한 시간이 많이 소요되므로, 이와 같은 오류 발생시 테스트 디버깅(debugging)을 위하여 많은 시간과 노력을 허비한다는 문제점이 있다.
따라서, 이와 같이 설계자로부터의 테스트 벡터에 의하여 직접 ATE 장비(120) 테스트를 진행하는 종래의 테스트 방법으로는, ATE 장비(120)에서 테스트 벡터를 컴파일하는 시간, 반도체 칩 테스트를 진행하고 결과를 출력하는 시간, 결과를 디버깅하는 시간, 결과에 오류가 포함되어 있으면 설계자에게 피드백하고 설계자는 테스트 벡터를 재제작하는 시간 등이 소요되어 테스트 진행과정의 오버-킬(over-kill)을 발생시키는 문제점이 있다.
따라서, 본 발명이 이루고자하는 기술적 과제는, 테스트 벡터를 이용하여 ATE 장비 테스트를 진행하기 전에 미리 오류를 검출하는 테스트 벡터 검증 방법을 제공하는 데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 테스트 벡터로부터 미리 오류를 검출하는 기능을 실현하는 기록 매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 테스트 벡터 검증 방법 은, 테스트 벡터 파일을 수신하는 단계; 상기 테스트 벡터 파일의 기본 포맷에 에러가 있는지 체크하는 단계; 상기 테스트 벡터 파일에 포함된 테스트 벡터로부터 핀 정보를 추출하는 단계; 상기 핀 정보에 따라 상기 테스트 벡터에서 입력 핀, 출력 핀 및 양방향 핀의 데이터에 에러가 있는지 체크하는 단계; 및 상기 입력 핀, 상기 출력 핀 및 상기 양방향 핀의 데이터의 에러 여부에 따라 패스 또는 에러 종류에 따른 해당 에러 메시지를 출력하는 단계를 구비하는 것을 특징으로 한다.
상기 에러 체크 단계는, 상기 입력 핀의 데이터 형태가 '일' 또는 '제로'인지, 및 상기 출력 핀의 데이터 형태가 '하이', '로우', '하이 임피던스' 또는 '돈 케어'인지를 판단하여, 상기 입력 핀 및 상기 출력 핀의 데이터 에러를 결정하는 것을 포함하는 것을 특징으로 한다. 상기 입력 핀 및 상기 출력 핀의 데이터 에러에 대응하는 상기 에러 메시지는, 상기 입력 핀 및 상기 출력 핀 각각이 입력 핀인지 출력 핀인지를 나타내는 정보, 및 데이터 형태에 관한 정보를 포함하는 것을 특징으로 한다.
상기 에러 체크 단계는, 상기 양방향 핀이 입력 핀 모드에서 출력 핀 모드로 전환되는 기간 또는 상기 양방향 핀이 출력 핀 모드에서 입력 핀 모드로 전환되는 기간에, 상기 데이터 형태 중 상기 '돈 케어'를 가지는 홀드 마진 마스킹이 있는지를 판단하여, 상기 양방향 핀의 데이터 에러를 결정하는 것을 포함하는 것을 특징으로 한다. 상기 양방향 핀의 데이터 에러에 대응하는 상기 에러 메시지는, 상기 양방향 핀이라는 정보, 및 상기 전환 기간에 포함된 데이터 진행 형태에 관한 정보를 포함하는 것을 특징으로 한다. 상기 양방향 핀의 데이터 에러에 대응하는 상기 에러 메시지는, 상기 양방향 핀이 입력 핀 모드일 때와 출력 핀 모드 일 때 사이에 존재하는 홀드 마진 마스킹의 횟수에 관한 정보를 더 포함하는 것을 특징으로 한다.
상기 에러 체크 단계는, 상기 출력 핀의 에지 마스킹 기간에 대하여, 그 중 최대 에지 마스킹 기간을 탐색하여, 상기 출력 핀의 에지 마스킹 정보를 추출하는 것을 포함하는 것을 특징으로 한다. 상기 에지 마스킹 정보에 대응하는 상기 에러 메시지는, 상기 최대 에지 마스킹 기간에 포함된 데이터 진행 형태 및 그 때의 마스킹 횟수에 관한 정보를 포함하는 것을 특징으로 한다.
상기 에러 체크 단계는, 스캔 테스트를 위한 핀들에 대하여, 상기 데이터 형태 중 상기 '하이 임피던스'를 가지는 지를 판단하여, 상기 스캔 테스트 핀들의 하이 임피던스 정보를 추출하는 것을 포함하는 것을 특징으로 한다. 상기 하이 임피던스 정보는, 상기 스캔 테스트 핀들이 입력 핀인지 출력 핀인지를 나타내는 정보, 및 상기 '하이 임피던스' 데이터의 총 개수를 포함하는 것을 특징으로 한다.
상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 컴퓨터에서 판독할 수 있고 실행 가능한 코드가 기록된 테스트 벡터 검증 기능 기록 매체는, 테스트 벡터 파일을 수신하는 기능; 상기 테스트 벡터 파일의 기본 포맷에 에러가 있는지 체크하는 기능; 상기 테스트 벡터 파일에 포함된 테스트 벡터로부터 핀 정보를 추출하는 기능; 상기 핀 정보에 따라 상기 테스트 벡터에서 입력 핀, 출력 핀 및 양방향 핀의 데이터에 에러가 있는지 체크하는 기능; 및 상기 입력 핀, 상기 출력 핀 및 상기 양방향 핀의 데이터의 에러 여부에 따라 패스 또는 에러 종류에 따른 해당 에러 메시지를 출력하는 기능을 포함하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 일실시예에 따른 반도체 집적회로 설계 과정(200)을 설명하기 위한 도면이다. 도 2의 반도체 집적회로 설계 과정(200)의 설명에 도 3의 흐름도(300)가 참조된다.
집적회로 설계자는 설계 툴(210)을 이용하여 VHDL, 또는 VERILOG 등과 같은 설계언어로 SoC, 반도체 메모리 등과 같은 집적회로를 설계한다(도 3의 S310). 또한, 설계자는 설계된 집적회로의 정상적인 동작 유무를 파악하기 위하여 설계된 집적회로를 시뮬레이션한다(도 3의 S320).
설계 툴(210)에 의한 시뮬레이션 결과로서 해당 집적회로에 관한 테스트 벡터를 포함하는 파일이 추출된다. 일반적으로 테스트 벡터 파일은 카탈리스트 포맷(Catalyst Format) 형태의 "*.trd"로서 추출된다. 설계자는 이와 같이 추출된 테스트 벡터 파일을 테스트 엔지니어에게 전달하고, 테스트 엔지니어는 상기 테스트 벡터 파일을 이용하여 ATE(automated test equipment) 장비(230)를 통한 반도체 칩 테스트 전에, 본 발명의 일실시예에 따른 고성능 에러 탐색기(Smart Error Finder)(220)를 통하여 미리 테스트 벡터(DTV)의 에러를 체크한다. 테스트 엔지니어는 상기 테스트 벡터 파일과 함께 설계자로부터 전달된 테스트 플랜(plan)과 상기 고성능 에러 탐색기(220)의 결과를 비교하면서, 테스트 플랜 상의 각종 핀들에 대한 정보와 그 결과가 일치하는지를 체크한다.
본 발명의 일실시예에 따른 상기 고성능 에러 탐색기(220)의 테스트 벡터 검증 알고리즘에 따라, 먼저 상기 고성능 에러 탐색기(220)는 테스트 엔지니어가 입력하는 테스트 벡터 파일을 수신한다(도 3의 S330). 상기 테스트 벡터 파일을 수신한 상기 고성능 에러 탐색기(220)는 상기 테스트 벡터 파일이 기본 포맷을 갖추고 있는지를 체크한다(도 3의 S340). 이때, 상기 고성능 에러 탐색기(220)는 기본 포맷의 에러 여부에 따라 패스(pass) 또는 에러 종류에 따른 해당 에러 메시지를 출력한다. 상기 테스트 벡터 파일은 기본적으로 테스트 벡터, 상기 테스트 벡터의 시작(initial)을 지시하는 정보, 및 상기 테스트 벡터의 종료(holt)를 지시하는 정보로 구성된다. 예를 들어, 상기 테스트 벡터 파일이 기본 포맷을 갖춘 경우에는, 상기 고성능 에러 탐색기(220)는, 도 4a와 같이, 패스(pass)를 알리는 메시지를 출력한다. 또한, 테스트 벡터의 종료(holt)를 지시하는 정보 또는 시작(initial)을 지시하는 정보가 없는 경우에는, 상기 고성능 에러 탐색기(220)는, 도 4b 및 도 4c와 같이, 해당 정보가 없음을 알리는 메시지를 출력한다.
상기 테스트 벡터 파일이 기본 포맷을 갖춘 경우에, 상기 고성능 에러 탐색기(220)는, 위와 같이 패스(pass)를 알리는 메시지를 출력함과 동시에, 자동으로 또는 테스트 엔지니어의 명령에 따라, 상기 테스트 벡터 파일에 포함된 테스트 벡 터로부터 핀 정보를 추출한다(도 3의 S350). 상기 핀 정보는 입출력(input/output) 핀, 양방향(bidirectional) 핀, 스캔(scan) 테스트에 해당하는 입출력 핀 등의 정보가 포함된다. 위에서 기술한 바와 같이, 스캔 테스트는 직렬 연결된 다수의 플립플롭(flip flop)들을 이용하여 다수의 데이터를 병렬로 받고, 상기 플립플롭(flip flop)들의 동작으로 병렬 데이터를 시리얼로 출력시켜서, 출력된 시리얼 데이터가 하나의 핀을 통하여 출력될 때, 그 데이터로부터 칩 동작의 정상 여부를 검증하는 방법으로 알려져 있다. 이와 같은 스캔 테스트에 대해서는 잘 알려져 있으므로, 이 분야에서 통상의 지식을 가진 자라면 용이하게 이해될 수 있다.
한편, 상기 고성능 에러 탐색기(220)가 위와 같이 핀 정보를 추출하면, 상기 핀 정보에 따라 상기 테스트 벡터 내의 데이터를 탐색하여, 입력 핀, 출력 핀 및 양방향 핀의 데이터에 에러가 있는지 체크한다(도 3의 S360~S391). 상기 고성능 에러 탐색기(220)에서 수행하는 상기 테스트 벡터 내의 데이터 에러 체크에 대해서는 S360~S391 각각의 단계별로 아래에서 자세히 기술될 것이다.
상기 고성능 에러 탐색기(220)에서 상기 테스트 벡터(DTV) 내의 데이터 에러가 체크된 결과, 에러가 없다면, 상기 고성능 에러 탐색기(220)는 상기 테스트 벡터(DTV)의 합격을 알리는 패스 메시지를 출력하고, 이때 상기 테스트 벡터 파일에 포함된 테스트 벡터는 최종 테스트 벡터(FTV)로서 ATE 장비(230)에 적용될 수 있다(도 3의 S392~S393). 상기 고성능 에러 탐색기(220)에서 상기 테스트 벡터(DTV) 내의 데이터 에러가 체크된 결과, 에러가 있다면, 상기 고성능 에러 탐색기(220)는 상기 테스트 벡터(DTV)의 불합격을 알리는 메시지로서 상기 입력 핀, 상기 출력 핀 및 상기 양방향 핀의 데이터의 에러 종류에 따라 해당 에러 메시지를 출력하고, 이때 테스트 엔지니어는 설계자로부터 받은 상기 테스트 벡터(DTV)및 테스트 플랜에 오류가 있음을 설계자에게 피드백한다. 이에 따라, 설계자는 설계 툴(210)을 이용하여 다시 집적회로를 설계하고 시뮬레이션하여, 재완성된 테스트 벡터(DTV)를 테스트 엔지니어에게 전달하고(도 3의 S310, S320), 이와 같은 과정은 테스트 벡터(DTV)에 오류가 없을 때까지 반복된다.
이와 같은 과정에 의하여 최종 테스트 벡터(FTV)가 완성되면, 제작된 반도체 칩 테스트를 맡은 엔지니어는 ATE 장비(230)에 상기 최종 테스트 벡터(FTV)를 입력하고, 이에 따라 ATE 장비(230)는 상기 최종 테스트 벡터(FTV)에 따른 반도체 칩 테스트를 수행한 후 결과를 리포트한다. 테스트 엔지니어는 ATE 장비(230)로부터의 결과 리포트와 설계자로부터 받은 테스트 플랜을 비교함으로써, 반도체 칩의 정상적인 동작 유무를 파악하고, 에러가 있는 지 여부를 설계자에게 피드백한다.
이와 같이, 본 발명에서는 테스트 벡터의 정합성 여부를, ATE 장비(230) 적용 전에 설계자의 관련 정보 제공 없이도 미리 확인할 수 있다. 따라서, ATE 장비(230)의 반복 적용에 의한 단가 상승을 억제하고, 반도체 칩 불량 발생에 대한 디버깅에 소요되는 시간을 획기적으로 줄일 수 있도록 하였다.
이하, 상기 고성능 에러 탐색기(220)에서 수행하는 상기 테스트 벡터 내의 데이터 에러 체크에 대해서 S360~S391 각각의 단계별로 자세히 기술한다.
도 5a는 입출력 핀의 데이터에 에러 있는 테스트 벡터를 예시하고, 5b는 그때의 에러 메시지를 예시하는 도면이다. 상기 고성능 에러 탐색기(220)가 핀 정보 를 추출하면, 상기 핀 정보에 따라 상기 테스트 벡터 내의 입력 핀 및 출력 핀의 데이터에 에러가 있는지 탐색한다(도 3의 S360). 일반적인 카탈리스트 포맷(Catalyst Format)에서는, 상기 입력 핀의 데이터 형태가 '일(1)' 또는 '제로(0)'으로 이루어지고, 상기 출력 핀의 데이터 형태는 '하이(H:High)', '로우(L:Low)', '하이 임피던스(M으로 표시됨:High impedance)' 또는 '돈 케어(X로 표시됨:Don't care)'로 이루어진다. 이와 같은 기준으로 상기 고성능 에러 탐색기(220)는 상기 입력 핀 및 상기 출력 핀의 데이터에 에러가 있는지를 결정한다. 예를 들어, 도 5a에서 입력 핀의 데이터로 표시된 부분과 같이, 입력 핀임에도 불구하고, 데이터 형태가 '하이(H)', '로우(L)', '하이 임피던스(M)' 또는 '돈 케어(X)'로 존재하는 경우에, 상기 고성능 에러 탐색기(220)는 해당 입력 핀에 에러가 있는 것으로 결정하여, 도 5b와 같은 에러 메시지를 출력한다(도 3의 S361). 도 5b를 참조하면, 도 5a 중 싸이클(cycle) 34, 35, 및 36 각각에서의 에러 메시지가 예시되어 있다. 도 5b에서, 에러 메시지는 해당 입력 핀에 대한 종류를 알리는 컬럼 번호(예를 들어, Column 21), 해당 핀 이름(예를 들어, i_JTRSTn), 해당 핀이 입력 핀인지 출력 핀인지를 나타내는 IO 타입(예를 들어, 입력 핀임을 나타내는 I), 및 그 때의 데이터 형태(예를 들어, 데이터가 '하이(H)' 임을 나타내는 Stimulus:H) 등에 관한 정보를 포함한다. 에러 핀이 출력 핀인 경우에도 상기 고성능 에러 탐색기(220)는 도 5b와 유사한 형태의 에러 메시지를 출력한다.
도 6a는 양방향 핀의 데이터 홀드 마진에 에러 있는 테스트 벡터를 예시하고, 도 6b는 그때의 에러 메시지를 예시하는 도면이다. 상기 고성능 에러 탐색기 (220)가 핀 정보를 추출하면, 상기 핀 정보에 따라 상기 테스트 벡터 내의 양방향 핀의 데이터 홀드 마진에 에러가 있는지 탐색한다(도 3의 S370). 즉, 상기 고성능 에러 탐색기(220)는 상기 양방향 핀이 입력 핀 모드에서 출력 핀 모드로 전환되는 기간 또는 상기 양방향 핀이 출력 핀 모드에서 입력 핀 모드로 전환되는 기간에, 상기 데이터 형태 중 상기 '돈 케어(X)'를 가지는 홀드 마진 마스킹(masking)이 있는지를 판단하여, 상기 양방향 핀의 데이터에 에러가 있는지를 결정한다. 예를 들어, 도 6a에서 원(circle)으로 표시된 부분과 같이, 양방향 핀이 입력 핀 모드에서 출력 핀 모드로 전환되는 기간(Cycle 75016~Cycle 75018)에 '돈 케어(X)'를 가지는 홀드 마진 마스킹 없이 데이터가 진행하는 경우에, 상기 고성능 에러 탐색기(220)는 해당 양방향 핀에 에러가 있는 것으로 결정하여, 도 6b와 같은 에러 메시지를 출력한다(도 3의 S371). 도 6b를 참조하면, 도 6a 중 입력 핀 모드에서 출력 핀 모드로 전환되는 시점인 싸이클(cycle) 75016에 관한 에러 메시지가 예시되어 있다. 도 6b에서, 에러 메시지는 해당 양방향 핀에 대한 종류를 알리는 컬럼 번호(예를 들어, Column 12), 해당 핀 이름(예를 들어, io_MDATAP), 해당 핀의 타입을 나타내는 IO 타입(양방향 핀임을 나타내는 B), 및 그 때의 데이터 진행 형태 등에 관한 정보를 포함한다. 예를 들어, 컬럼 12의 싸이클 75016에서 75018 까지 데이터 진행 형태는 '일(1)' -> '일(1)' -> '로우(L)'이다. 상기 양방향 핀이 출력 핀 모드에서 입력 핀 모드로 전환되는 기간의 경우에도 상기 고성능 에러 탐색기(220)는 도 6b와 유사한 형태의 에러 메시지를 출력한다.
이외에도, 홀드 마진은 반도체 칩의 양방향 핀이 모드 전환 시에 데이터를 안정적으로 입력 또는 출력할 수 있도록 하기 위한 것이므로, 홀드 마진이 없는 경우 이외에 홀드 마진이 있어도 그 마진으로는 부족한 경우가 생길 수 있다. 이와 같은 경우를 위하여, 상기 고성능 에러 탐색기(220)는 양방향 핀의 데이터 홀드 마진 탐색에서, 입력 핀 모드일 때와 출력 핀 모드 일 때 사이에 존재하는 홀드 마진 마스킹의 횟수에 관한 정보를 출력할 수 있다. 예를 들어, 양방향 핀에서의 데이터 진행 형태가 '일(1)' -> '일(1)' -> '돈 케어(X)'-> '돈 케어(X)'-> '로우(L)' 등과 같이 된 경우에, '돈 케어(X)'로 홀드 마진이 마스킹된 횟수 2를 상기 에러 메시지에 포함시켜 출력함으로써, 테스트 엔지니어 또는 설계자는 홀드 마진 마스킹이 적절한지를 확인할 수 있다.
도 7a는 출력 핀의 에지 마스킹이 있는 테스트 벡터를 예시하고, 도 7b는 그때의 최대 에지 마스킹 메시지를 예시하는 도면이다. 상기 고성능 에러 탐색기(220)가 핀 정보를 추출하면, 상기 핀 정보에 따라 상기 테스트 벡터 내의 출력 핀의 에지 마스킹 기간을 탐색한다(도 3의 S380). 즉, 상기 고성능 에러 탐색기(220)는 상기 출력 핀의 에지 마스킹 기간에 대하여, 그 중 최대 에지 마스킹 기간을 탐색하여, 상기 출력 핀의 에지 마스킹 정보를 추출한다. 출력 핀의 에지 마스킹 기간은 도 3의 S350 단계의 핀 정보 추출에서 추출될 수 있다. 예를 들어, 도 7a에서 원(circle)으로 표시된 부분과 같이, 출력 핀의 최대 에지 마스킹 기간(Cycle 74975~Cycle 74978)에 '돈 케어(X)' 2개를 가지는 에지 마스킹으로 데이터가 진행하는 경우에, 상기 고성능 에러 탐색기(220)는 해당 출력 핀의 에지 마스킹 정보를 추출하여, 도 7b와 같은 메시지를 출력한다(도 3의 S381). 도 7b를 참조하면, 도 7a 중 최대 에지 마스킹 기간의 시작점인 싸이클(cycle) 74975에 관한 메시지가 예시되어 있다. 도 7b에서, 이때의 메시지는 해당 출력 핀에 대한 종류를 알리는 컬럼 번호(예를 들어, Column 12), 해당 핀 이름(예를 들어, o_MDA), 해당 핀의 타입을 나타내는 IO 타입(출력 핀임을 나타내는 O), 그 때의 데이터 진행 형태, 및 그 때의 마스킹 횟수(예를 들어 2 times) 등에 관한 정보를 포함한다. 예를 들어, 컬럼 12의 싸이클 74975에서 74978 까지 데이터 진행 형태는 '하이(H)' -> '돈 케어(X)'-> '돈 케어(X)'-> '로우(L)'이고, '돈 케어(X)'로 에지 마스킹된 횟수는 2번(2 times)이다. 이와 같은, 출력 핀의 에지 마스킹은 시스템의 성능에 따라 베스트(best) 조건과 워스트(worst) 조건을 판단하기 위하여 이루어지고 있다. 즉, 에지 마스킹 횟수가 많으면 데이터의 타이밍 딜레이가 큰 경우를 예상한 경우이고, 적으면 데이터의 타이밍 딜레이를 작게 주어 고속 동작을 예상한 경우이다.
도 8a는 스캔 테스트를 위한 입출력 핀의 데이터에 하이 임피던스 데이터를 포함하는 테스트 벡터이고, 도 8b는 그때의 하이 임피던스 메시지를 예시하는 도면이다. 상기 고성능 에러 탐색기(220)가 핀 정보를 추출하면, 상기 핀 정보에 따라 상기 테스트 벡터 내의 스캔 테스트를 위한 핀들을 탐색한다(도 3의 S390). 즉, 상기 고성능 에러 탐색기(220)는 상기 스캔 테스트를 위한 핀들에 대하여, 데이터 형태 중 상기 '하이 임피던스(M)'를 가지는 지를 탐색하여, 상기 스캔 테스트 핀들의 하이 임피던스 정보를 추출한다. 상기 스캔 테스트 핀들은 도 3의 S350 단계의 핀 정보 추출에서 추출될 수 있다. 예를 들어, 도 8a에서 원(circle)으로 표시된 부분과 같이, 스캔 테스트 핀들의 데이터에 '하이 임피던스(M)'가 존재하는 경우에, 상 기 고성능 에러 탐색기(220)는 해당 핀들의 하이 임피던스 정보를 추출하여, 도 8b와 같은 메시지를 출력한다(도 3의 S391). 도 8b를 참조하면, 도 8a 중 컬럼 12의 '하이 임피던스(M)'에 관한 메시지가 예시되어 있다. 도 8b에서, 이때의 메시지는 해당 핀에 대한 종류를 알리는 컬럼 번호(예를 들어, Column 12), 해당 핀 이름(예를 들어, o_MDB), 해당 핀의 타입을 나타내는 IO 타입(출력 핀임을 나타내는 O), 및 해당 핀에서의 '하이 임피던스(M)' 데이터의 총 개수(예를 들어 11211 Points) 등에 관한 정보를 포함한다. 이와 같은, 하이 임피던스 정보의 추출은, 집적회로 설계자가 특정 목적을 제외하고, 스캔 테스트를 위한 입출력 핀의 데이터가 하이 임피던스 데이터로 되지 않기를 원하는 경우를 위한 것이다.
위에서 기술한 바와 같이, 본 발명의 일실시예에 따른 테스트 벡터 검증 방법에서는, 설계 툴(210)에 의하여 생성된 테스트 벡터를 가지고 ATE 장비(230) 테스트 진행하기 전에 미리 에러가 검출되고, 검출된 에러를 제거한 최종 테스트 벡터(FTV)가 완성되면, 최종 테스트 벡터(FTV)를 이용하여 ATE 장비(230)에 의한 반도체 칩 테스트가 진행된다. 테스트 벡터로부터 에러를 검출하는 고성능 에러 탐색기(220)에 사용된 알고리즘은, ASIC, 미디어(media) 칩, SOC 등 다양한 제품군에 따라 라이브러리(library) 형태로 존재하여, 그와 같은 제품군들에 용이하게 적용될 수 있다.
본 명세서에서 개시된 테스트 벡터 검증 방법에서 사용되는 기능은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 테스트 벡터 검증 방법은, 다양한 제품군에서 완성된 테스트 벡터의 정합성 여부를, ATE 장비 적용 전에 설계자의 관련 정보 제공 없이도 미리 확인하여, 설계자에 피드백 할 수 있다. 따라서, ATE 장비의 반복 적용에 의한 단가 상승을 억제하고, 반도체 칩 불량 발생에 대한 디버깅에 소요되는 시간을 획기적으로 줄일 수 있는 효과가 있다.
Claims (15)
- 테스트 벡터 파일을 수신하는 단계;상기 테스트 벡터 파일의 기본 포맷에 에러가 있는지 체크하는 단계;상기 테스트 벡터 파일에 포함된 테스트 벡터로부터 핀 정보를 추출하는 단계;상기 핀 정보에 따라 상기 테스트 벡터에서 입력 핀, 출력 핀 및 양방향 핀의 데이터에 에러가 있는지 체크하는 단계; 및상기 입력 핀, 상기 출력 핀 및 상기 양방향 핀의 데이터의 에러 여부에 따라 패스 또는 에러 종류에 따른 해당 에러 메시지를 출력하는 단계를 구비하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 1항에 있어서, 상기 에러 체크 단계는,상기 입력 핀의 데이터 형태가 '일' 또는 '제로'인지, 및 상기 출력 핀의 데이터 형태가 '하이', '로우', '하이 임피던스' 또는 '돈 케어'인지를 판단하여, 상기 입력 핀 및 상기 출력 핀의 데이터 에러를 결정하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 2항에 있어서, 상기 입력 핀 및 상기 출력 핀의 데이터 에러에 대응하는 상기 에러 메시지는,상기 입력 핀 및 상기 출력 핀 각각이 입력 핀인지 출력 핀인지를 나타내는 정보, 및 데이터 형태에 관한 정보를 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 1항에 있어서, 상기 에러 체크 단계는,상기 양방향 핀이 입력 핀 모드에서 출력 핀 모드로 전환되는 기간 또는 상기 양방향 핀이 출력 핀 모드에서 입력 핀 모드로 전환되는 기간에, 상기 데이터 형태 중 상기 '돈 케어'를 가지는 홀드 마진 마스킹이 있는지를 판단하여, 상기 양방향 핀의 데이터 에러를 결정하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 4항에 있어서, 상기 양방향 핀의 데이터 에러에 대응하는 상기 에러 메시지는,상기 양방향 핀이라는 정보, 및 상기 전환 기간에 포함된 데이터 진행 형태에 관한 정보를 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 5항에 있어서, 상기 양방향 핀의 데이터 에러에 대응하는 상기 에러 메시지는,상기 양방향 핀이 입력 핀 모드일 때와 출력 핀 모드 일 때 사이에 존재하는 홀드 마진 마스킹의 횟수에 관한 정보를 더 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 1항에 있어서, 상기 에러 체크 단계는,상기 출력 핀의 에지 마스킹 기간에 대하여, 그 중 최대 에지 마스킹 기간을 탐색하여, 상기 출력 핀의 에지 마스킹 정보를 추출하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 7항에 있어서, 상기 에지 마스킹 정보에 대응하는 상기 에러 메시지는,상기 최대 에지 마스킹 기간에 포함된 데이터 진행 형태 및 그 때의 마스킹 횟수에 관한 정보를 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 1항에 있어서, 상기 에러 체크 단계는,스캔 테스트를 위한 핀들에 대하여, 상기 데이터 형태 중 상기 '하이 임피던스'를 가지는 지를 판단하여, 상기 스캔 테스트 핀들의 하이 임피던스 정보를 추출하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 제 7항에 있어서, 상기 하이 임피던스 정보는,상기 스캔 테스트 핀들이 입력 핀인지 출력 핀인지를 나타내는 정보, 및 상기 '하이 임피던스' 데이터의 총 개수를 포함하는 것을 특징으로 하는 테스트 벡터 검증 방법.
- 테스트 벡터 파일을 수신하는 단계;상기 테스트 벡터 파일의 기본 포맷에 에러가 있는지 체크하는 단계;상기 테스트 벡터 파일에 포함된 테스트 벡터로부터 핀 정보를 추출하는 단계;상기 핀 정보에 따라 상기 테스트 벡터에서 입력 핀, 출력 핀 및 양방향 핀의 데이터에 에러가 있는지 체크하는 단계; 및상기 입력 핀, 상기 출력 핀 및 상기 양방향 핀의 데이터의 에러 여부에 따라 패스 또는 에러 종류에 따른 해당 에러 메시지를 출력하는 단계를 수행하는 테스트 벡터 검증 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
- 제 11항에 있어서, 상기 에러 체크 단계는,상기 입력 핀의 데이터 형태가 '일' 또는 '제로'인지, 및 상기 출력 핀의 데이터 형태가 '하이', '로우', '하이 임피던스' 또는 '돈 케어'인지를 판단하여, 상기 입력 핀 및 상기 출력 핀의 데이터 에러를 결정하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
- 제 11항에 있어서, 상기 에러 체크 단계는,상기 양방향 핀이 입력 핀 모드에서 출력 핀 모드로 전환되는 기간 또는 상기 양방향 핀이 출력 핀 모드에서 입력 핀 모드로 전환되는 기간에, 상기 데이터 형태 중 상기 '돈 케어'를 가지는 홀드 마진 마스킹이 있는지를 판단하여, 상기 양방향 핀의 데이터 에러를 결정하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
- 제 11항에 있어서, 상기 에러 체크 단계는,상기 출력 핀의 에지 마스킹 기간에 대하여, 그 중 최대 에지 마스킹 기간을 탐색하여, 상기 출력 핀의 에지 마스킹 정보를 추출하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
- 제 11항에 있어서, 상기 에러 체크 단계는,스캔 테스트를 위한 핀들에 대하여, 상기 데이터 형태 중 상기 '하이 임피던스'를 가지는 지를 판단하여, 상기 스캔 테스트 핀들의 하이 임피던스 정보를 추출하는 것을 포함하는 것을 특징으로 하는 테스트 벡터 검증 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040070531A KR100618859B1 (ko) | 2004-09-03 | 2004-09-03 | 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040070531A KR100618859B1 (ko) | 2004-09-03 | 2004-09-03 | 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060021690A KR20060021690A (ko) | 2006-03-08 |
KR100618859B1 true KR100618859B1 (ko) | 2006-08-31 |
Family
ID=37128476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040070531A KR100618859B1 (ko) | 2004-09-03 | 2004-09-03 | 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100618859B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114460436A (zh) * | 2021-12-22 | 2022-05-10 | 中国电子科技集团公司第五十八研究所 | 一种在eda仿真中自适应生成ate测试码的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020025800A (ko) * | 2000-09-29 | 2002-04-04 | 가부시키가이샤 어드밴티스트 | 복합 ic의 설계 타당성 검사용 방법 |
-
2004
- 2004-09-03 KR KR1020040070531A patent/KR100618859B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020025800A (ko) * | 2000-09-29 | 2002-04-04 | 가부시키가이샤 어드밴티스트 | 복합 ic의 설계 타당성 검사용 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20060021690A (ko) | 2006-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478028B2 (en) | Method for automatically searching for functional defects in a description of a circuit | |
US7661050B2 (en) | Method and system for formal verification of partial good self test fencing structures | |
US6463560B1 (en) | Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits | |
JP3872954B2 (ja) | 有限状態機械を識別して回路設計を検査するシステムおよび方法 | |
US7596731B1 (en) | Test time reduction algorithm | |
US20120159274A1 (en) | Apparatus to facilitate built-in self-test data collection | |
US5583787A (en) | Method and data processing system for determining electrical circuit path delays | |
US10657207B1 (en) | Inter-cell bridge defect diagnosis | |
US7761825B2 (en) | Generating testcases based on numbers of testcases previously generated | |
US7228262B2 (en) | Semiconductor integrated circuit verification system | |
US6339837B1 (en) | Hybrid method for design verification | |
Eggersglüß et al. | High Quality Test Pattern Generation and Boolean Satisfiability | |
Prabhu et al. | A SMT-based diagnostic test generation method for combinational circuits | |
US7139948B2 (en) | Method for determining the impact on test coverage of scan chain parallelization by analysis of a test set for independently accessible flip-flops | |
CN116227398B (zh) | 一种自动化生成ip核测试激励的方法及系统 | |
US9404972B2 (en) | Diagnosis and debug with truncated simulation | |
US8413102B2 (en) | Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop | |
US6449751B1 (en) | Method of analyzing static current test vectors with reduced file sizes for semiconductor integrated circuits | |
US8943457B2 (en) | Simulating scan tests with reduced resources | |
US7103859B2 (en) | System and method for improving testability independent of architecture | |
US7260793B2 (en) | Apparatus and method for test-stimuli compaction | |
KR100618859B1 (ko) | 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체 | |
US11693054B2 (en) | Computer-readable recording medium storing analysis program, analysis method, and analysis device | |
Husin et al. | Built in self test for RAM Using VHDL | |
US7328386B2 (en) | Methods for using checksums in X-tolerant test response compaction in scan-based testing of integrated circuits |
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 | ||
FPAY | Annual fee payment |
Payment date: 20090814 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |