Fuctional Test

  • 펑션 테스트는 DUT(Device Under Test)가 의도된 논리 기능들을 정확하게 동작하는지를 검증한다.
  • 따라서 DUT 내에 고장들을 검출할 수 있는 테스트 벡터를 사용하는 ATE를 이용하여 디지털 IC의 Fuctional Test가 이루어진다.

 

NOT 게이트 IC의 펑션테스트 계략도

  1. ATE의 패턴메모리에 디지털 IC의 동작을 나타내는 테스트벡터를 저장한다.
  2. 테스트벡터의 입력 데이터를 ATE의 포매터로 부터 파형을 만들고 ATE의 PE에 있는 드라이버에서 전압레벨을 설정하여 입력 신호를 만든다.
  3. 이 입력 신호를 DUT에 인가한다.
  4. DUT에 인가된 입력신호에 따라 동작하여 나오는 출력신호는 테스트벡터의 출력데이터와 ATE의 PE내에 있는 비교기에서 비교되고 동작 여부를 판정한다.
  5. 테스트 타이밍과 결합된 테스트벡터가 펑션테스트의 핵심을 구성한다.

테스트 벡터

고장을 검출하기 위해서 사용되는 패턴인 테스트벡터는 DUT 입력핀들에 인가되는 입력데이터와 DUT 출력핀들에서 나오는 출력신호와 비교되는 출력데이터로 구성된다.

  • 진리표의 한 줄로 한 번에 한 줄씩 IC에 인가
  • 입력데이터와 출력데이터로 구성
  • 입력 데이터: DUT 입력핀들에 인가되는 데이터
  • 출력 데이터: DUT 출력핀들에서 나오는 출력신호와 비교되는 데이터

 

1 2 3
0 0 L
0 1 L
1 0 L
1 1 H

 

  • 즉, 2입력 AND 게이트에서 입력 00과 출력 L이 하나로 00L 형태의 테스트벡터가 된다.
  • 00L, 01L, 10L, 11H 들은 테스트패턴 or 테스트집합이라 한다.
  • 한 번에 한 줄씩 입력데이터가 DUT에 인가되고 DUT 출력으로 나오는 신호와 출력 데이터를 비교하여 양품/불량 판정이 이루어진다.

패턴 프로그램

IC의 기능을 나타내는 진리표, 기능표 또는 테스트벡터는 패턴 프로그램으로 작성된다.

PAT BUFFER
; 1 2 3 (IC Pin Number)
! 0 H 1 ; vector 0
! 0 L 0 ; vector 1
! 1 1 H ; vector 2
! 1 0 L ; vector 3
END

 

  • 패턴 프로그램의 시작은 명령어 PAT
  • PAT 다음에 패턴 프로그램의 이름
  • ! 은 벡터의 시작을 나타냄
  • ; 은 참조 또는 설명문을 나타낸다.
  • 패턴데이터 1, 0은 입력데이터를 나타낸다.
  • 패턴데이터 H, L은 기대되는 출력데이터를 나타낸다.

패턴 메모리

  • 패턴 메모리는 ATE에 따라 다르지만 빠른 속도로 IC에 테스트벡터를 보내는 능력을 가진 고속 메모리이다.
  • 패턴 메모리의 셀에 데스트벡터의 1비트 데이터가 저장된다.
  • 패턴 메모리의 크기는 핀 수와 벡터 주소의 크기에 의해서 결정된다.

테스트 프로그램

1. 패턴 프로그램의 테스트벡터들을 패턴 메모리로 저장하는 테스트 프로그램

LOAD PAT BUFFER ;
  • "LOAD PAT"은 패턴프로그램 "BUFFER"를 ATE의 패턴 메모리로 로드한다.

2. 테스트벡터가 IC에 인가되어 펑션테스트 하는 테스트 프로그램

PAT START = 0;
PAT STOP = 3;
MEASURE PAT BUFFER ;
  • 명령어 "MEASURE PAT"은 패턴 프로그램 BUFFER를 ATE의 패턴메모리로 로드하고, IC에 테스트벡터들이 인가하여 그 결과를 기록한다.
  • "PAT START"는 패턴프로그램의 시작 주소를 지정한다.
  • "PAT STOP"은 패턴프로그램의 끝 주소를 지정한다. 
  • 따라서 패턴메모리의 저장된 0번지에서 3번지까지 저장된 테스트벡터들이 순차적으로 런한다.
  • 패턴메모리로 벡터들을 로드 하는데 걸리는 시간이 펑션테스트 시간에서 많은 부분을 차지하기 때문에, 한 번의 벡터 로드로서 패턴 메모리에 모든 테스트 벡터를 로드 하는 것이 보통이다.