1. Test Flow
일반적으로 설계한 IC가 Foundary(fab)에서 제조되어 나온 다음에 아래와 같은 Test 과정을 거친다.
정말 대략적인것이고 어플리케이션에 따라 다르다.

1.1 EDS Test
Electrical Die Sorting
Wafer (간혹 Die 상태)에서 Test를 하는 것이다.
주로 간소화 테스트를 하는데 칩이 동작하는지 안하는지 Open(전기적 연결이 끊어진 상태) , Short(의도하지 않은 전기적 연결이 생긴 상태, 전류가 원래 흐르지 않아야 할 곳으로 흐르게 되는 단락(Short Circuit)) 정도만 Test한다.
왜냐하면 Die를 Package하여 Chip으로 나가는데 동작도 안하는 Die에 대해 Package 하는 것은 돈 낭비이다.
이와 별도로 Chip 불량시 Debugging을 하기 위해 HTOL(High Temperature Operating Life)테스트를 하거나 Chip을 Wafer 상태에서 수정하기 위해 FIB(Focus Ion Beam)작업을 하여 일부 Metal Line을 수정할 수 있다.
양산중인 경우에도 일부 Burn-in Test나 Laser 를 이용하여 Memory Write나 Laser Repair 등 다양한 Test 또한 할 수 잇다.
1.2 Package Test
Assembly가 된후(Die에 껍데기나 다리 등을 씌워 Pin으로 나오게 한 Chip) Test 하는 것을 말한다.
몇몇 Sampling은 별도의 온도 Test를 거치고 대부분의 동작 상태를 확인한다.
특히 성능을 많이 본다.
단품 IC를 판매하는 회사의 경우 Package Test가 Final Test가 되기도 한다.
1.3 Final Test (FT)
Package Test가 마지막 테스트가 될 수 잇기도 하지만 Module Level에서 정확한 성능이 나오는 IC인 경우 Module 작업 후 진행하는 Test가 최종 Test이다. 혹은 Application Test인 경우도 있다.
방법은 무궁무진한데 Chip Test를 안하고 바로 Final Test로 진행되기도 하고 Module 측정이 어려운 경우(Chip과 연결되는 외부소자에 대한 조립이 별도인 경우) Chip Test에서 외부소자를 저항이나 Cap, Function generator 등으로 교체하여 테스트 하기도 한다.
2. Fault
동작에 오류를 발생을 Fault가 생겼다고 하는데 Fault에는 아래와 같은 종류가 있다.
Permanent Fault : 영구적인 오류로, 주로 물리적인 오류(생산중 먼지 등 때문에)가 원인인데 defect이 생겼다고 말Non-permanent Fault: 이게 어려운 오류인데 문제가 환경(온도, 습도, 전압)이나 노화 등에 의해 발생하는 오류이다.
약간 랜덤하게 발생하기 때문에 테스트 과정에서 이를 찾지 못하면 돈을 물어줘야 한다.
Fault란 오동작인데 설계가 100% 완벽하더라도 제조, 주위 환경에 의해 발생하기도 한다.
3. DC / AC Parametric Testing, Function Testing
DC(Direct Current)는 말 그대로 시간에 따라 변화하지 않는 Parameter인 전력 소모, 출력 Level, Voltage Margin 등을 Test 하는 것을 말한다.
흔히 들고 다니는 멀티 미터로 측정할 수 있는 파라미터를 생각해 보자.
AC(Alternating Current)Test는 시간에 따라 변화하는 조건에서 측정할 수 있는 Parameter인 Setup time, Hold time, Power-on Reset time 등을 의미한다.
오실로 스코프 등으로 측정할 수 있는 파라미터를 생각해보자.
Function Testing은 말 그대로 기능 동작인데 사실 LDO 같은 IC의 경우 간단하다. DC, AC Testing에서 모든 기능이 다 테스트 되기 때문이다. 하지만 SoC나 Digital IC인 경우 일련의 Sequency에 따라 다양한 동작을 하기 때문에 좀 복잡하다.
4. Fault Model
우리가 IC 불량에 대해 분석할때 불량의 원인은 주먹 구구로 나열하면 알기 어렵기 때문에 Fault Model로 로직화하여 포현을 한다.
5. Fault Coverage & Test Coverage
Test coverage는 칩에서 Fault의 경우에서가 여러개있는데 Test 해볼수 있는 Fault에 대해 Test로 얼마나 많은 Fault를 얼마나 검출해낼 수 있느냐를 말하는 것이다. 당연히 100% 검출하면 좋겠지만 Test 시간의 증대는 가격 상승을 유발한다.
또한 물리적인 출력 Pad로 볼 수 있는 것은 숫자의 한계가 있다.
따라서 모든 내부 신호를 Test하기는 어렵다.
Test Coverage는 Fault 중에서 Test 할 수 있는 것 중에서 Test 하는 비율을 의미한다면 Fault coverage는 모든 Fault 중에서 Test 하는 Fault 의 비율을 의미한다.
따라서 일반적으로 Test coverage(테스트 할 수 없는 Fault 제외) > Fault coverage(테스트를 할 수 없는 Fault도 포함됨) 이다.
6. Stuck-at Fault Model (SAF)
Stuck-at 0, Stuck-at 1 fault가 있는데, 줄여서 SA0, SA1 이라고 표현하기도 한다.
Logic 값이 0에 고정되어 있거나 1에 고정되어 있느 경우를 말한다.
(예를 들어 or gate 입력에 1,1을 넣었는데 출력이 0이 나온다면 SA0 Fault 이다)
Open, Short 등 Physical Defect가 원인이다.
7. Transition Fault Model (TF)
0에서 1로 갈때 혹은 1에서 0으로 갈때(transition 할때) 오류가 발생하는 것을 의미한다.
앞서 SA0, SA1 과 비슷하게 보일 수 있으나,
예를 들어 DFF 등에서 Setup/Hold Time Margin이 부족하거나 logic의 두 입력의 Delay차로 인해 발생할 수 도 잇다.
8. Stuck-Open Fault (SOF), Stuck-Short Fault (SSF)
말그대로 Metal Line혹은 입 출력 transistor가 Open이나 Short 난 상태를 의미한다.
9. Testability
IP를 테스트하려면 입력을 제어하고 출력을 관찰할 수 있어야 한다.
- Controllability: 노드(Node)의 신호를 제어하는 난이도 또는 가능성을 나타내는 지표이다.
- Observability: 노드의 신호를 관찰할 수 있는지를 나타내는 지표이다.
- Testability: Controllability와 Observability를 합친 개념이다.

위의 회로에서 Node X에 대해 Testability를 분석한 결과이다.
X Node를 0으로 만들기 위해서는 A 또는 B 둘중에 하나만 0이면 되기 때문에 0-Controllability는 1이다.
반대로 1이 되기 위해서는 A와 B 둘다 1이 되어야 하기 때문에 1-Controllability는 2이 된다.
또한 X 값을 보기 위해서는 Z 값을 보면 되는데 C,D가 둘다 0이어야 하므로 observability는 2가 되는 것이다.
(C와 D가 둘다 0이면 X=Z이므로 o(Z)는 0이다)
'DFT(Design for Testability)' 카테고리의 다른 글
[논문 리뷰] A Survey of Repair Analysis Algorithms for Memories(1) (0) | 2025.03.28 |
---|---|
[논문 리뷰] An Overview of Processing-in-Memory Circuits for Artificial Intelligence and Machine Learning(DRAM PIM) (0) | 2025.03.24 |
DFT(Design for Testability) (0) | 2025.03.20 |
Memory Test(MBIST, LBIST, SCAN) (0) | 2025.03.19 |
Memory Test(Fault Model, March, BIRA) (0) | 2025.03.19 |