CMOS VLSI

What is DFT(Design for Test)?

나오_주인장 2026. 3. 3. 16:57

일반적으로 칩 테스트는 반도체 칩 생산 과정에서 비용이 많이 드는 과정 중 하나입니다.

기술의 발전은 회로의 복잡성의 증가로 이어지고, 결과적으로 테스트 비용은 복잡성에 비례하여 증가하게 됩니다.

 

일반적인 칩 테스트은 3가지 단계로 이루어집니다.

  1. Logic verification(설계) Tape-out 전에 수행되며, realistic simulation을 통해 수행
  2. Silicon debug Chip 제조 이후, 프로브를 사용해서 직접 측정
  3. Manufacturing test  마지막 단계로, 칩 내의 모든 transistor, gate 등이 제대로 동작하는지 확인

이처럼 반도체는 설계 단계부터 제조 이후, 그리고 양산 단계에 이르기까지 지속적인 검증과 테스트가 필요할 만큼 높은 신뢰성이 요구됩니다. 그러나 회로가 점점 복잡해질수록 테스트 시간과 비용은 빠르게 증가하고, 칩 내부 상태를 외부에서 직접 제어하거나 관찰하는 일도 점점 어려워집니다.

 

그래서 “Design for Test(DFT)”가 등장하게 되었습니다. DFT는 제조된 칩의 테스트를 보다 쉽고 효율적으로 수행할 수 있도록, 설계 단계에서부터 테스트용 구조를 미리 삽입하는 기술입니다.

 

위에 ASIC flow는 많이 보셨더라도 DFT에 대해서 모르시는 분들이 많을 것 같습니다.반도체 설계 교육에서는 DFT가 “왜 필요한지”는 많이 말해도, 실제로 DFT를 직접 설계하고 검증까지 해보기는 쉽지 않습니다. 그래서 이번 포스팅에서는 DFT에 대한 실습은 없지만, 이론적인 부분들에 집중해서 다뤄보려고 합니다.

 

 

가장 먼저, DFT는 어떤 것들이 있고 어떤 과정으로 DFT 기술을 구현하는지 알아보겠습니다.

 

Types of DFT Technique


DFT 기술은 여러 가지 방법으로 나뉘어집니다. 일반적으로 사용되는 기법으로는 스캔 체인(Scan Chain), 바운더리 스캔(Boundary Scan), 및 BIST(Built-In Self-Test) 등이 있습니다. 

 

DFT 관점에서 SoC는 크게 Logic, Memory, Hard IP의 세 영역으로 나눌 수 있습니다. Logic은 연산과 제어를 담당하는 디지털 회로이고, Memory는 데이터를 저장하는 영역이며, Hard IP는 외부에서 완성된 형태로 제공되어 내부 수정이 어려운 고정형 IP 블록입니다.

 

DFT는 Logic에서는 SCAN 방식을, 메모리에는 BIST 방식을 사용하여 구현됩니다.

DFT를 지원하는 EDA 툴은 지멘스의 Tessent, 시놉시스의 TestMAX, 케이던스의 Modus가 있습니다. Hard IP의 경우, 내부 구조가 공개되지 않고 레이아웃이 완료된 후에도 수정이 불가능하기 때문에 상용화된 DFT 툴이 없습니다. 따라서 대부분의 SoC 설계자는 관련 Hard IP 공급업체에서 제공하는 자체 DFT 시스템을 구현합니다.


Scan Chain

Scan chain은  디지털 회로 내부에서 테스트를 용이하게 하기 위해 Flip Flop(FF)을 직렬 연결하여 내부 상태를 쉽게 접근, 제어할 수 있도록 하는 회로를 의미합니다.

 

Scan chain은 동작 방식은 아래와 같습니다.

  1. Scan Enable(SE) 신호를 활성화하여 외부 테스터의 테스트 패턴을 FF으로 입력
  2. SE를 비활성화한 상태에서 clock을 인가해 Comb. logic의 동작 결과를 FF에 저장
  3. 다시 Scan Enable을 활성화하여 저장된 결과를 스캔 출력으로 순차적으로 내보내고, 이 과정에서 다음 테스트 패턴도 함께 입력할 수 있습니다.

아래의 그림은 자세한 FF에 21MUX를 연결한 예시 입니다.

 

  • SE = 1 파란 선을 따라 데이터가 이동 스캔 비트(RT2, RT1) 출력
  • SE = 0 일반 회로처럼 동작, 빨간 선을 따라 데이터가 이동 회로 결과(T2, T1) 출력
  • CLK마다 데이터가 이동하며 각 Flip Flop으로 전달, 결과가 출력
* 현실적인 문제
Logic마다 Flip-flop으로 두르기 때문에 cell area가 증가하기 때문에 PPA 측면에서 매우 안좋아서 보통은 경우의 수가 많고 복잡한 경우에 쓰입니다. 하지만, 미세 공정에서 수율 50% 넘기도 매우 힘들기 때문에 위와 같은 Logic이 필요하고 양산용이 아니고, 일부 칩 테스트용으로 만드는 경우에는 본 과정을 생략한다고 합니다.

Boundary Scan

Boundary Scan은 칩의 각 I/O pin 경계(boundary)에 테스트용 cell을 삽입하고, 이 cell들을 직렬 체인으로 연결해 외부에서 핀 상태를 제어하고 관찰할 수 있게 만든 방법입니다. 보통 IEEE 1149.1 표준 기반으로 구현되며, 접근은 JTAG TAP(Test Access Port) 를 통해 이뤄집니다. 주된 목적은 프로브를 직접 대기 어려운 고집적 IC나 PCB에서도 interconnect와 핀 동작을 테스트할 수 있게 하는 것입니다.

 

 

 

Boundary scan의 동작 과정은 아래와 같습니다.

  1. 테스트 명령 선택
    • TAP 컨트롤러가 TMS와 TCK를 이용해 상태를 전환하고, instruction register에 어떤 명령을 넣을지 결정합니다.
    • BSR, BYPASS, IDCODE 등
  2. 테스트 데이터 로딩
    • 테스터가 TDI로 데이터를 넣으면 boundary scan cell들이 시프트 레지스터처럼 직렬 동작하면서 각 셀에 테스트 데이터를 저장합니다.
  3. 핀에 값 적용
    • 예를 들어 EXTEST를 사용하면, Chip A의 출력 boundary cell에 미리 넣어둔 값이 실제 출력 핀으로 반영됩니다.
    • 즉, 그림에서 Chip A 쪽 output BSC가 PCB 배선을 통해 Chip B 쪽 입력으로 테스트 값을 밀어 넣습니다.
  4. 반대편 핀 값 캡처
    • Chip B의 input boundary cell은 들어온 값을 캡처합니다.
    • 만약 배선이 정상이라면 의도한 값이 들어와야 하고, 그렇지 않으면 open, short, stuck-at 같은 이상을 의심할 수 있습니다.
  5. 결과를 다시 시프트 아웃
    • 캡처된 결과는 다시 scan chain을 따라 TDO로 빠져나와 외부 테스터가 읽습니다.

BIST(Built in Self Test)

BIST는 Built In Self Test의 약자인데, 말 그대로 스스로 테스트를 할 수 있는 회로를 넣는 방법입니다. 설계한 로직 회로 내부에 원하는 대로 동작이 되는지를 확인할 수 있도록 함께 설계하는 기술을 의미합니다.

 

BIST 장점

실제 칩으로 나왔을 때 제대로 동작하는지 테스트하기 위한 복잡도가 크게 줄어들고 비싼 외부 장비를 사용하지 않고도 빠른 시간 내에 시험을 완료할 수 있습니다.

 

BIST 단점

자체 테스트 항목이 많아 질수록 테스트를 위한 일회성 로직이 많이지는 것이기 때문에 칩이 커지는 단점이 있습니다. 

 

결국, 칩을 양산하게 되면 테스트를 통해 정상적인 칩만을 출하시켜야 하는데 외부 테스트 장비를 이용할 경우 테스트 환경을 구성하는데 많은 돈이 투자되고 테스트를 진행하면서 시간이 소비되므로 양산 제품이 많아 질수록 소비되는 시간이 더 많이집니다. 따라서 내부적인 간단한 테스트를 통해서 빠른 검증이 가능하다면 가장 중요한 '돈'을 아낄 수 있는 것이 가장 큰 장점이라고 생각할 수 있습니다.

 

BIST는 크게 2가지로 구분됩니다. MBIST메모리를 검사하고, LBIST로직(논리회로)을 검사하는 방식입니다. 

- LBIST(Logic BIST)

LBIST는 칩 내부의 기능 로직을 스스로 테스트하는 방식입니다. 주로 조합논리, 순차논리, 플립플롭, 스캔 체인 등과 같은 디지털 로직이 정상적으로 동작하는지를 확인하는 데 사용됩니다. 내부에서 테스트 패턴을 생성하고, 그에 대한 응답을 압축해 최종 결과를 비교함으로써 회로의 이상 유무를 판단합니다. 특히 자동차 반도체와 같이 동작 중에도 높은 신뢰성이 요구되는 분야에서 중요하게 활용됩니다.

- MBIST(Memory BIST)

MBIST는 칩 내부에 포함된 SRAM, ROM 등 메모리를 스스로 테스트하는 방식입니다. 메모리에 데이터를 쓰고 다시 읽어보는 과정을 반복하면서 저장 기능과 읽기 기능이 정상인지 확인합니다. 이를 통해 특정 비트의 불량, 읽기/쓰기 오류, 주소 접근 문제 등 메모리에서 발생할 수 있는 결함을 검출할 수 있습니다. SoC와 같이 메모리 비중이 큰 칩에서는 필수적인 테스트 방식으로 사용됩니다.

 

 

비메모리 반도체의 경우 테스트 조건이나 항목이 많기 때문에 BIST는 많이 사용하지 않는 편이며 status register 등을 이용하여 가능한한 많이 모듈 상태를 확인할 수 있도록 합니다. 메모리같은 경우 내부 테스트가 비메모리 보다 비교적 간단하기 때문에 BIST를 사용하고 있습니다.


 

DFT Flow


아래의 그림은 시놉시스에서 제공하는 DFT Flow 입니다.

아래의 그림과 같이 DFT는 단순히 테스트만 수행하는 것이 아니라, RTL 단계에서의 테스트 가능성 검토부터 scan 구조 삽입, ATPG, 시뮬레이션, 그리고 최종 실리콘 검증까지 전체적인 테스트 준비 과정을 포함합니다.

RTL Testability 단계

 

설계한 RTL이 테스트하기에 적합한 구조인지 확인하는 단계입니다. 예를 들어 제어가 어려운 신호나 관측이 어려운 내부 노드가 있는지, 초기화가 불가능한 플립플롭이 존재하는지 등을 검토합니다. 

DFT Architecture 단계

 

칩에 어떤 테스트 구조를 넣을지 결정하는 단계입니다. 앞서 봤던 scan 방식, compression 적용 여부, MBIST 적용 대상, boundary scan 필요 여부 등을 정의합니다. 

Scan Insertion 단계

 

이 단계에서는 일반 FF을 scan FF으로 교체하고, 이를 scan chain으로 연결합니다. 이를 통해 칩 내부의 순차 회로 상태를 외부에서 제어하고 관측할 수 있게 됩니다. 

Compression Logic 단계

 

이 단계에서는 테스트 데이터의 양을 줄이기 위한 압축 로직을 삽입합니다. 칩의 규모가 커질수록 scan chain 수와 테스트 패턴 수가 많아지기 때문에, 테스트 시간과 데이터 저장 비용이 크게 증가할 수 있습니다. 이러한 부담을 줄이기 위해, 적은 양의 입력 패턴으로도 많은 내부 회로를 검사할 수 있도록 도와줍니다.

Memory BIST 단계

 

이 단계는 앞서 봤던 MBIST를 삽입하는 단계입니다. MBIST를 통해 메모리에 데이터를 쓰고 읽는 과정을 자동으로 수행하여, 저장 불량이나 읽기/쓰기 오류 같은 메모리 결함을 검출합니다.

Boundary Scan 단계

 

이 단계에서는 칩의 입출력 핀 주변에 boundary scan cell을 삽입하여, 패키지 이후 보드 레벨에서도 연결 상태를 검사할 수 있도록 합니다. 이는 JTAG 기반 테스트와 연결되며, 칩 내부뿐 아니라 칩과 칩 사이의 배선 연결까지 확인할 수 있다는 점에서 중요합니다.

ATPG 단계

 

이 단계는 삽입된 scan 구조와 테스트 로직을 기반으로 실제 결함 검출용 테스트 패턴을 생성합니다. ATPG(Automatic Test Pattern Generation)는 stuck-at fault, transition fault 등의 결함 모델을 기준으로 테스트 벡터를 만들고, 이를 통해 높은 결함 검출률을 확보합니다. 

Simulation 단계

 

생성된 테스트 패턴이 설계에서 정상적으로 동작하는지 검증하는 단계입니다. scan shifting, capture 동작, compression logic, MBIST, boundary scan 등이 의도한 대로 동작하는지를 시뮬레이션을 통해 확인합니다. 

Post Silicon 단계

 

마지막 단계에서는 실제 제작된 칩에서 테스트를 수행하고, 설계 단계에서 준비한 DFT 구조와 ATPG 패턴이 실리콘에서도 정상적으로 동작하는지 검증합니다. 이 과정에서 수율 분석, 불량 분석, 초기 bring-up, field test 대응 등이 함께 이루어질 수 있습니다. 

 

 

 

DFT의 이점


아래의 그림은 시놉시스에서 정리한 DFT의 이점을 정리한 표입니다.

DFT는 반도체의 제조 과정과 실제 동작 중 발생할 수 있는 문제를 고가의 장비 없이 설계 과정에서 발견해서 비용 절감이 가능하고 빨리 발견할 수 있어 문제를 빠르게 수정할 수 있어 수율 향상에도 도움이 됩니다

 

물론 아직까지는 이런 문제들을 완전히 DFT에만 의존할 수 없겠지만, DFT의 신뢰성이 높아지면 고가의 장비를 통한 테스트와 검증 단계가 간소화되어 제품 출시 기간을 단축할 수 있고, 디지털·메모리·아날로그가 함께 포함된 복잡한 칩 설계에도 도움이될 것입니다.

 

 

참고 자료


https://m.blog.naver.com/gc_na/223325810928

 

DFT는 왜 할까? Testability란? Controllability란? Observability란?

VLSI에서 불리는 DFT는 Design For Testability입니다. 제조된 칩의 테스트를 효율적으로 하기 ...

blog.naver.com

 

https://www.synopsys.com/glossary/what-is-design-for-test.html

 

What is Design for Test (DFT)? – How it Works | Synopsys

Design for Test (DFT) refers to a set of design techniques that make integrated circuits easier to test for manufacturing defects and operational faults.

www.synopsys.com

 

https://www.geeksforgeeks.org/electronics-engineering/testing-and-design-for-testability-in-vlsi/

 

Testing and Design for Testability in VLSI - GeeksforGeeks

Learn how VLSI testing ensures chip reliability, explores fault models, key testing methods, and design-for-testability (DFT) techniques to improve efficiency and reduce costs in modern chip design.

www.geeksforgeeks.org

 

https://itdasemi.com/blog/what-is-dft-design-for-test/

 

ITDA Semiconductor

Provides the Most Efficient Way of SOC System Design

itdasemi.com

 

https://semicon-circuit.tistory.com/71

 

하만(Harman) 세미콘 아카데미 58-62일차 - Full Custom IC One Chip 설계(Scan Chain 설계, Amplifier, One Chip 설계

Team Project - Scan ChainScan Chain이란?디지털 회로 내부에서 테스트를 용이하게 하기 위해 Flip Flop을 직렬 연결하여 내부 상태를 쉽게 접근, 제어할 수 있도록 하는 회로Flip Flop에 21MUX를 연결하여 테스

semicon-circuit.tistory.com

 

'CMOS VLSI' 카테고리의 다른 글

IC의 종류  (0) 2026.03.20
메모리 반도체(2)  (1) 2026.03.09
CMOS VLSI 설계 원리(1-4)  (0) 2026.02.24
CMOS VLSI 설계 원리(1-3)  (0) 2026.02.20
What is Crosstalk & Shielding in VLSI?  (0) 2026.02.15