
Recently, I heard in the field that among the domestic semiconductor workforce, DFT engineers are the most valuable.
That means there is a shortage of people who specialize in DFT in the semiconductor industry. And, it also means that many companies are unable to solve the DFT problem.
Typically, demand is high and supply is low.
What is DFT (Design For Test)?
In the Clock Canvas story, I explained in “DFT configuration is difficult”, but to summarize it briefly,
DFT is to pre-plant a structure that can check chip operation during the design phase. And this method is the most effective for testing complex SOCs.
SOCs are incredibly complex, so they can be divided into several ways depending on the purpose,
but from the DFT perspective that we are talking about now, they can be largely divided into three categories.
Logic, Memory, Hard IP
1. Logic consists of flip-flops and combinational logics. It is a digital circuit area that controls each block in the SOC and performs calculations. Designers directly design it at the RTL level, and it includes controllers, FSMs, calculation units, interfaces, etc.
2. Memory is an area that stores data, and it includes SRAM, Cache, Register file, ROM, etc.
3. Hard IP, as the name suggests, is a fixed form of IP that cannot be modified any more. Each IP company has already completed the layout and provided it, and during the SOC design phase, the internal structure is reflected like a black box that cannot be confirmed. When we talk about IP, GPUs, USB3.0 PHYs, PCIe controllers, PLLs, DDR PHYs, etc. are typical Hard IPs.
DFT solutions for testing these are usually prepared in advance.
DFT is implemented using the SCAN method for Logic and the BIST method for Memory. EDA companies such as Tessent from SIEMENS, TestMAX from Synopsys, and Modus from Cadence provide DFT tools.
In the case of Hard IPs, since their internal structure is not disclosed and modifications are not possible even after the layout is complete, there are no commercialized DFT tools. Therefore, most SOC designers implement their own DFT systems based on solutions such as test wrappers provided by the suppliers of the relevant Hard IPs.
Let’s take a quick look at what SCAN and BIST, for which commercialized tools are provided, are .
SCAN adds a test function to the flip-flops in the logic circuit. In test mode, flip-flops are connected in a single line and data is sent to find out where the problem is. Since it is connected in a single line as shown in the figure below, it is usually called a SCAN Chain. Through this chain, you can look inside the circuit or create a specific state, so you can easily find the cause when a problem occurs.
BIST stands for Built-In Self-Test, which is a method of embedding a self-inspection program in the circuit. It is divided into Memory BIST (MBIST) for testing memory and Logic BIST for logic circuits. The user usually decides on the circuit or memory to which he wants to apply BIST and sets it up properly, and the tool automatically creates the test circuit.
The concept is simple, so what is difficult about DFT?
얼마 전에 필드에서 들었던 얘기 중에, 현재 국내 반도체 인력의 몸값 중 DFT 엔지니어의 몸값이 가장 높다는 얘기를 들었습니다.
그만큼 반도체에서 DFT를 전문으로 하는 사람이 부족하다는 얘기겠죠. 그리고, 많은 업체들이 DFT문제를 해결하지 못하고 있다는 얘기이기도 할겁니다.
전형적으로 수요는 많고, 공급은 적은 상황입니다.
DFT (Design For Test) 는 무엇일까요?
Clock Canvas 이야기 중에 ” DFT 구성은 어렵습니다” 에서 설명했었는데, 다시 간단하게 요약하면,
DFT는 설계 단계에서 칩동작을 검사할 수 있는 구조를 미리 심어두는 것입니다. 그리고 이 방법은 복잡한 SOC를 테스트 하는데 있어 가장 효과적입니다.
SOC는 엄청나게 복잡해서 어떤 목적으로 보느냐에 따라 여러 방식으로 나눌 수 있는데, 지금 얘기하는 DFT 관점에서 보면, 크게 3가지로 나눌 수 있습니다.
Logic, Memory, Hard IP
1. Logic은 Flip-flop과 combinational logic들로 구성됩니다. SOC안에 있는 각 블럭들을 제어하고 연산을 수행하는 디지털 회로 영역이죠. 설계자들이 RTL 수준에서 직접 설계를 진행하며, 컨트롤러, FSM, 연산유닛, 인터페이스 등이 여기에 포함됩니다.
2. Memory는 데이터를 저장하는 영역으로 SRAM, Cache, Register file, ROM 등이 포함됩니다.
3. Hard IP는 이미 이름에서 알수 있듯이 더이상 수정이 불가능한 고정된 형태의 IP입니다. 각 IP 업체들이 이미 레이아웃까지 완료하여 제공하며, SOC 설계 단계에서는 내부 구조는 확인이 불가한 블랙박스처럼 반영됩니다. 보통 IP 라고 하면 떠오르는 GPU, USB3.0 PHY, PCIe 컨트롤러, PLL, DDR PHY 등이 대표적인 Hard IP들 입니다.
이를 테스트하기 위한 DFT 솔루션은 미리 준비되어 있는 편입니다.
Logic은 SCAN, Memory는 BIST라는 방법으로 DFT를 구현하는데 SIEMENS의 Tessent, Synopsys의 TestMAX, Cadence의 Modus 처럼 EDA 3사에서 DFT Tool을 제공해주고 있습니다.
Hard IP의 경우는 레이아웃까지 완료된 상태에서 내부 구조가 공개되지 않은데다 수정도 불가능하기 때문에 상용화된 DFT Tool은 없습니다. 따라서 대부분 해당 Hard IP의 공급업체에서 제공하는 테스트 wrapper 같은 솔루션을 기반으로 SOC 설계자들이 자체적으로 DFT 시스템을 구현하게 됩니다.
상용화 Tool이 제공되고 있는 SCAN과 BIST는 무엇인지 간단하게 살펴보면,
SCAN은 Logic 회로 안에 있는 Flip-flop에 테스트 기능을 더해주는 것입니다. 테스트 모드에서 Flip-flop들을 한 줄로 쭉 연결하여 데이터를 보내면서 어디가 문제인지 찾아내는 것입니다. 아래 그림처럼 한 줄로 쭉 연결했기 때문에, 보통 SCAN Chain이라고 부르는데, 이 chain을 통해 회로의 안쪽까지 들여다 보거나 특정 상태를 만들 수 있어서 문제가 발생했을 때 원인을 쉽게 찾을 수 있게 됩니다.
BIST는 Built-In Self-Test로 회로 안에 셀프 점검 프로그램을 내장하는 방식인데요, Memory를 테스트 하기 위한 Memory BIST (MBIST)와 Logic 회로를 위한 Logic BIST로 구분이 되는데, 사용자는 보통 BIST를 적용하고 싶은 회로나 Memory를 정한 다음 설정만 잘 해주면 Tool이 알아서 테스트 회로를 만들어 줍니다.
개념만 보면 이렇게 단순한데, DFT는 무엇이 어려운 것일까요?