반도체 및 집적회로 설계
3단계: VLSI 물리 설계, 저전력 기법, 그리고 테스트의 세계
1부 — 이론적 기초: 지금까지의 여정을 물리 세계로 끌어내리기
1단계에서 너는 트랜지스터가 스위치처럼 동작한다는 것을 배웠고, CMOS 인버터가 그 스위치 두 개(PMOS + NMOS)로 만들어진다는 것도 알았다. 2단계에서는 그 논리 게이트들을 조합해 파이프라인 CPU라는 복잡한 시스템을 RTL 코드로 표현했다. 그런데 잠깐, 거기서 하나의 근본적인 질문이 빠졌다. RTL 코드는 어떻게 실제 실리콘 칩이 되는가?
이것을 이해하기 위해 먼저 규모(Scale)의 감각을 얻어야 한다. 2024년 기준 TSMC 3nm 공정에서 제조되는 Apple M4 칩에는 약 280억 개의 트랜지스터가 손톱 크기의 다이(Die) 안에 들어 있다. 인류가 현재까지 생산한 모든 MOSFET의 수를 합치면 약 10²² 개로 추정되는데, 이는 지구상의 모래알 수에 맞먹는다. 그러니 "수조 개의 소자를 단일 칩에 안정적으로 배치한다"는 이번 학습목표 ①이 얼마나 어마어마한 과제인지 실감이 날 것이다.
이런 규모에서 사람이 손으로 트랜지스터 하나하나의 위치를 결정한다는 건 불가능하다. 그래서 EDA(Electronic Design Automation) 소프트웨어가 존재한다. EDA는 인간의 설계 의도(RTL)를 받아서 물리적 실체(레이아웃)로 변환하는 일련의 자동화 도구 모음이다. Synopsys, Cadence, Siemens EDA가 이 시장을 사실상 과점하고 있으며, 이 세 회사의 도구 없이는 현대의 어떤 반도체 팹리스(fabless) 회사도 칩을 만들 수 없다고 해도 과언이 아니다.
[노트 기록] 핵심 삼각 트레이드오프: PPA (Power · Performance · Area). 이 세 가지는 서로 맞교환(Trade-off) 관계다. 빠른 칩을 원하면 트랜지스터를 더 넓게 만들어야 하고(면적 증가), 더 높은 전압이 필요하며(전력 증가). 반대로 전력을 줄이려면 느려진다. VLSI 설계자의 업무는 바로 이 삼각형 안에서 고객의 요구에 맞는 최적점을 찾는 것이다.
전력에 대해 조금 더 짚고 넘어가자. 2단계에서 클럭 도메인 크로싱을 배우면서 플립플롭이 클럭의 상승 엣지마다 동작한다는 것을 알았을 것이다. 이 '동작'에는 당연히 에너지가 소비된다. CMOS 회로의 전력 소비는 크게 두 가지로 나뉜다. 첫째는 **동적 전력(Dynamic Power)**으로, 회로가 실제로 스위칭할 때 소비된다. 공식은 P_dynamic = α · C · V² · f 이다. 여기서 α는 활동 계수(Activity Factor, 실제로 스위칭이 일어나는 확률), C는 부하 커패시턴스, V는 공급 전압, f는 클럭 주파수다. 둘째는 정적 전력(Static Power), 즉 **누설 전류(Leakage Current)**로, 트랜지스터가 꺼져 있을 때도 소량의 전류가 흐르는 현상이다. 공정이 미세해질수록 트랜지스터가 작아지고 누설 전류는 기하급수적으로 커지기 때문에, 현대 설계에서 정적 전력 관리는 동적 전력만큼이나 중요한 과제가 됐다.
2부 — 본론: 칩이 만들어지는 여정, P&R 자동화 흐름
합성(Synthesis): RTL에서 게이트로
2단계에서 RISC-V CPU를 Verilog로 작성했을 때 그 코드는 동작(Behavior)을 서술한 것이었다. **합성(Synthesis)**은 이 동작 기술을 특정 공정의 표준 셀(Standard Cell) 라이브러리에 있는 실제 게이트들의 연결(Netlist)로 변환하는 과정이다. 표준 셀 라이브러리는 NAND, NOR, 플립플롭 등 수백 종류의 게이트를 각각 여러 가지 강도(Drive Strength)와 임계 전압(Threshold Voltage) 변형으로 제공한다. 합성 도구(대표적으로 Synopsys의 Design Compiler)는 타이밍 제약(Timing Constraints, 대표적으로 .sdc 파일)을 입력받아 최대한 그것을 만족하면서 면적과 전력을 최소화하는 게이트 조합을 자동으로 선택한다.
[노트 기록] 합성의 핵심 입력과 출력. 입력: RTL 코드(.v/.vhd), 타이밍 제약(.sdc), 표준 셀 라이브러리(.lib / .db). 출력: 게이트 레벨 넷리스트(Gate-Level Netlist). 이 넷리스트는 아직 물리적 위치 정보가 없다. 위치를 결정하는 것이 다음 단계 P&R이다.
플로어플랜(Floorplan): 도시 계획의 청사진
게이트 레벨 넷리스트를 손에 넣었다면 이제 칩이라는 '도시'의 청사진을 그릴 차례다. **플로어플랜(Floorplan)**은 다이(Die)의 전체 크기를 결정하고, 외부와 신호를 주고받는 I/O 패드의 위치를 잡으며, CPU 코어, 메모리(SRAM), 아날로그 블록 같은 큰 기능 블록들의 대략적인 영역을 할당하는 단계다. 또한 이 단계에서 칩 전체에 전원(VDD)과 접지(GND)를 공급하는 **전원 망(Power Grid)**이 설계된다. 전원 망은 마치 도시의 상수도망처럼 수백만 개의 셀에 균일하게 전원을 공급해야 하므로, 너무 가늘면 IR 드롭(IR Drop, 저항에 의한 전압 강하)이 발생해 타이밍 위반을 초래한다. 반대로 너무 굵게 만들면 그만큼 배선 자원을 잡아먹어 면적이 낭비된다.
배치(Placement): 수억 개의 셀을 올바른 자리에
플로어플랜이 완성되면 합성에서 얻은 수억 개의 표준 셀 각각의 정확한 (x, y) 좌표를 결정하는 배치(Placement) 단계가 시작된다. 셀들은 열(Row) 형태로 배열된 격자 위에 놓이며, 도구는 두 가지 목표를 동시에 추구한다. 첫째, 서로 연결된 셀들은 가능한 한 가까이 배치해야 배선 길이가 짧아지고 타이밍이 좋아진다. 둘째, 셀이 너무 한 곳에 밀집(Congestion)되면 나중에 배선이 통과할 공간이 없어진다. 이 배치 문제는 수학적으로 NP-Hard 문제로, 트랜지스터 수가 조금만 늘어도 최적해를 완전 탐색하는 건 수억 년이 걸린다. 그래서 실제 EDA 도구들은 휴리스틱(Heuristic) 알고리즘과 기계학습을 결합해 '충분히 좋은' 해를 빠른 시간 안에 찾는다. (Google DeepMind는 2021년 Nature에 배치 문제를 강화학습으로 푸는 논문을 발표해 큰 주목을 받았다. Mirhoseini et al., "A graph placement methodology for fast chip design," Nature, 2021.)
클럭 트리 합성(CTS): 공정한 심판의 호루라기
2단계에서 클럭의 중요성을 배웠다. 모든 플립플롭은 같은 클럭 엣지에 동기화되어 동작한다. 그런데 문제가 있다. 클럭 소스(PLL 출력)에서 수억 개의 플립플롭까지 신호가 전달될 때, 칩 전체에 걸쳐 전파 지연이 균일하지 않으면 어떤 플립플롭은 클럭이 일찍 도착하고 어떤 것은 늦게 도착한다. 이 시간 차이를 **클럭 스큐(Clock Skew)**라고 하며, 이것이 너무 크면 설계가 의도한 대로 동작하지 않는다. **CTS(Clock Tree Synthesis)**는 이 스큐를 최소화하도록 클럭 배선을 나무(Tree) 구조로 자동 설계하는 단계다. 마치 스포츠 경기에서 심판의 호루라기 소리가 경기장 모든 선수에게 동시에 들려야 하는 것과 같은 원리다. 대규모 설계에서는 H-Tree나 Mesh 구조의 클럭 네트워크를 구성해 스큐를 수 ps(피코초) 이내로 제어한다.
배선(Routing)과 STA: 모든 선을 연결하고 검증하기
[노트 기록] 배선(Routing)의 두 단계. ① 글로벌 라우팅(Global Routing): 실제 선을 긋지 않고, 각 넷(Net, 연결된 신호 묶음)이 어떤 '채널'을 통과할지 대략적인 경로를 정한다. ② 디테일 라우팅(Detail Routing): 실제 금속 선(Metal Wire)을 격자(Routing Grid) 위에 정확하게 긋는다. 현대 칩은 TSMC 3nm 기준 18개 이상의 금속 레이어를 사용하며, 각 레이어는 수평 또는 수직 방향으로 배선을 제한해 충돌을 방지한다.
배선이 완성되면 실제 기생 저항(Parasitic Resistance)과 기생 커패시턴스(Parasitic Capacitance)를 추출(RC Extraction)하고, 이를 이용해 **정적 타이밍 분석(STA, Static Timing Analysis)**을 수행한다. STA는 실제 시뮬레이션 없이 모든 가능한 경로를 수학적으로 분석해 타이밍 위반이 있는지 검사한다. 핵심 지표는 **슬랙(Slack)**으로, 슬랙 = 요구 도달 시간(Required Arrival Time) - 실제 도달 시간(Actual Arrival Time)이다. 슬랙이 양수이면 타이밍이 맞고, 음수이면 위반이다. STA는 **최악 조건(Worst-Case Corner)**에서 분석해야 하는데, 제조 공정의 불균일성(Process), 전원 전압 변동(Voltage), 온도 변화(Temperature)를 모두 고려한 PVT 코너 분석을 수행한다. 이 과정이 **타이밍 클로저(Timing Closure)**이며, 2단계에서 개념으로만 배웠던 것이 이제 실제 P&R 흐름 안에서 어떻게 수행되는지 보이기 시작할 것이다.
3부 — 저전력 설계: 배터리와의 전쟁
P_dynamic = α · C · V² · f 라는 공식을 다시 꺼내 보자. 이 공식 안에 저전력 설계의 모든 전략이 숨어 있다. 각 변수를 줄이는 방법이 곧 저전력 기법이다.
Clock Gating: α를 줄여라
클럭 게이팅(Clock Gating)은 α(활동 계수)를 줄이는 가장 기본적이고 효과적인 기법이다. 2단계에서 배운 플립플롭을 떠올려보자. 플립플롭은 데이터가 바뀌지 않아도 클럭이 들어올 때마다 내부 노드가 스위칭되어 전력을 소비한다. 예를 들어 비디오 코덱 칩에서 화면이 정지 화면일 때 모션 추정(Motion Estimation) 블록의 수천 개의 플립플롭이 아무 의미 없이 클럭을 받으며 전력을 낭비한다. 클럭 게이팅은 이런 블록에 enable 신호가 0일 때 클럭 자체를 차단하는 ICG(Integrated Clock Gating) 셀을 삽입해 전력을 절감한다.
[노트 기록] ICG 셀의 구조. ICG는 Latch + AND 게이트의 조합이다. 래치를 쓰는 이유는 enable 신호의 글리치(Glitch)가 클럭에 전파되는 것을 막기 위해서다. 단순 AND 게이트만 쓰면 enable이 불안정한 순간에 클럭이 잘못 차단되거나 통과되어 플립플롭의 데이터가 깨질 수 있다.
DVFS: V와 f를 동시에 조절하라
**DVFS(Dynamic Voltage and Frequency Scaling)**는 시스템의 부하(Workload)에 따라 공급 전압과 클럭 주파수를 실시간으로 조절하는 기법이다. P_dynamic = α · C · V² · f 에서 V와 f를 함께 줄이면 전력은 대략 **세제곱(cubic)**에 비례해 줄어든다. 왜냐하면 f를 줄이면 V도 함께 줄일 수 있고(MOSFET의 속도는 V에 비례), P는 V² · f ∝ V² · V = V³ 처럼 동작하기 때문이다. 전압을 20% 낮추면 전력을 약 절반으로 줄일 수 있다는 것이 핵심이다. 스마트폰에서 가벼운 작업을 할 때 AP(Application Processor)가 낮은 주파수로 동작하고, 게임을 할 때 성능을 끌어올리는 것이 바로 DVFS다. 이를 위해 칩 안에는 **전압 도메인(Voltage Domain)**이 여러 개 구성되며, 각각 독립적인 **PMIC(Power Management IC)**나 온칩 조정기를 통해 전압을 제어한다.
Multi-Vt: 누설 vs. 속도의 균형
정적 전력(누설 전류)을 줄이기 위해 다중 임계 전압(Multi-Vt) 전략을 사용한다. 임계 전압(Vt)이 높은 셀(HVT)은 누설이 적지만 느리고, Vt가 낮은 셀(LVT)은 빠르지만 누설이 많다. 타이밍에 여유가 있는 비크리티컬 패스(Non-Critical Path)의 셀은 HVT로 교체하고, 크리티컬 패스에는 LVT를 남겨두어 전체 누설 전류를 줄인다. 이것은 P&R 도구가 STA 결과를 바탕으로 자동으로 수행할 수 있다. (*Weste & Harris, "CMOS VLSI Design," 4th ed., Addison-Wesley, 2011.*에 상세한 이론적 배경이 있다.)
4부 — DFT와 양산 테스트: 불량 칩을 걸러내는 시스템
왜 테스트가 필요한가?
칩을 설계하고 제조했다고 끝이 아니다. TSMC 같은 파운드리에서 웨이퍼(Wafer)를 생산할 때 100% 완벽한 수율을 달성하는 것은 불가능하다. 먼지 입자 하나가 금속 배선 위에 앉으면 단락(Short)이 생기고, 식각이 조금 덜 되면 단선(Open)이 생긴다. 이런 **제조 결함(Manufacturing Defect)**을 가진 불량 칩이 제품에 들어가면 큰일이 난다. 특히 자동차, 항공, 의료 기기에 들어가는 칩은 필드(Field)에서 고장이 나면 생명과 직결되기 때문에 AEC-Q100 같은 품질 표준이 존재하며, 극도로 높은 결함 검출률을 요구한다.
결함 모델(Fault Model) 중 가장 기본적인 것은 **고착 결함(Stuck-at Fault)**이다. 어떤 배선이 항상 0이나 항상 1에 고착되는 경우다(Stuck-at-0, Stuck-at-1). 이 외에도 브리징 결함(Bridging Fault, 두 선이 의도치 않게 연결), 전환 결함(Transition Fault, 신호가 0→1 또는 1→0으로 제때 바뀌지 못하는 결함) 등이 있다.
스캔 체인(Scan Chain): DFT의 핵심
칩 내부의 플립플롭에 특정 값을 집어넣고 그 결과를 외부에서 읽을 수 있다면 결함 검출이 훨씬 쉬워진다. **스캔 체인(Scan Chain)**은 바로 이를 위한 구조다. 일반 플립플롭을 **스캔 플립플롭(Scan FF)**으로 교체한다. 스캔 FF는 두 개의 입력을 갖는다: 정상 동작(Normal Mode)에서는 기능적 데이터 입력(D)을 사용하고, 테스트 모드(Scan Mode)에서는 직전 스캔 FF의 출력을 입력으로 받는 직렬 체인(Shift Register)이 된다.
[노트 기록] 스캔 테스트 절차 3단계. ① 시프트 인(Shift In): 스캔 모드에서 외부 테스터가 테스트 패턴을 직렬로 순서대로 플립플롭에 로드한다. ② 캡처(Capture): 한 클럭 사이클 동안 정상 모드로 전환해 회로가 동작하고 결과를 플립플롭에 저장한다. ③ 시프트 아웃(Shift Out): 다시 스캔 모드로 전환해 결과를 직렬로 외부로 읽어낸다. 예상 결과와 비교해 결함 유무를 판단한다.
ATPG: 결함을 찾는 알고리즘
테스트 패턴을 사람이 수작업으로 만들기는 현실적으로 불가능하다. **ATPG(Automatic Test Pattern Generation)**는 결함 모델을 기반으로 결함을 검출하는 입력 패턴을 자동으로 생성하는 알고리즘이다. D-알고리즘, PODEM(Path-Oriented Decision Making) 등이 대표적이다. 핵심 개념은 **결함의 활성화(Fault Activation)**와 **출력까지의 전파(Propagation)**다. stuck-at-0 결함이 있는 게이트 출력을 검출하려면, 먼저 그 결함이 없다면 출력이 1이 될 입력 조건을 만들고(활성화), 그 다른 값이 체인을 따라 외부 관측 가능한 출력 핀까지 전파되도록 해야 한다. ATPG가 생성한 패턴들의 집합으로 얼마나 많은 잠재적 결함을 검출할 수 있는지를 **결함 커버리지(Fault Coverage)**로 표현하며, 업계 표준은 보통 99% 이상이다.
BIST와 JTAG: 칩 스스로 테스트하기
**BIST(Built-In Self-Test)**는 테스트 로직을 칩 내부에 내장하는 방법이다. 메모리 BIST(MBIST)는 SRAM의 각 셀을 자동으로 읽고 쓰며 결함을 검사하고, 로직 BIST(LBIST)는 **LFSR(Linear Feedback Shift Register)**로 의사 랜덤 패턴을 생성해 회로에 주입하고, **MISR(Multiple Input Signature Register)**로 결과를 압축해 예상 서명(Signature)과 비교한다. **JTAG(Joint Test Action Group, IEEE 1149.1)**은 PCB 레벨에서 칩들의 경계(I/O 핀) 연결을 테스트하는 표준 인터페이스로, 4개의 핀(TDI, TDO, TCK, TMS)으로 칩 내부에 접근해 내장된 TAP(Test Access Port) 컨트롤러를 통해 테스트를 수행한다. 현대에는 JTAG가 단순 경계 스캔을 넘어 디버깅, 프로그래밍(FPGA, SoC 부트로더) 등 다양한 용도로 활용된다.
5부 — 프로젝트: ASIC 테이프아웃 시뮬레이션 & DFT 분석
아래 네 가지 문제는 독립적으로 풀어도 되고, 순서대로 하나의 흐름으로 이어서 풀어도 된다. 정답은 없다. 네가 이 글에서 이해한 개념들을 동원해 논리적으로 추론하는 것이 목표다. 종이와 펜을 준비하자.
프로젝트 1 — P&R 플로어플랜 결정 (약 10분)
2단계에서 설계한 RISC-V 5단계 파이프라인 CPU를 이제 실제 칩으로 만든다고 가정하자. 이 CPU는 다음 블록들로 구성된다: IF 스테이지(명령어 캐시 포함), ID 스테이지, EX 스테이지(ALU), MEM 스테이지(데이터 캐시 포함), WB 스테이지, 그리고 레지스터 파일(Register File). 명령어 캐시와 데이터 캐시는 각각 8KB SRAM 블록이다.
질문 ①: 파이프라인의 데이터 흐름을 고려할 때, 이 블록들을 다이 위에 어떤 순서와 배치로 놓는 것이 배선 길이 측면에서 유리할지 스케치를 그리고 이유를 설명하라. (힌트: 신호는 IF → ID → EX → MEM → WB 순으로 흐르고, 해저드 처리를 위한 포워딩 경로는 EX/MEM → EX 방향으로 역방향 신호가 존재한다. 이 역방향 신호의 배선 길이가 타이밍에 어떤 영향을 줄지 생각하라.)
질문 ②: 명령어 캐시와 데이터 캐시(SRAM 매크로)는 표준 셀과 달리 미리 정해진 크기와 형태를 가진 고정 블록(Hard Macro)이다. 이것들을 칩 중앙에 놓는 것과 가장자리에 놓는 것 중 어느 쪽이 더 유리한가? 전원 공급과 주변 표준 셀 배치 자유도 관점에서 각각의 장단점을 분석하라.
질문 ③: 이 CPU를 스마트폰 AP에 통합할 예정이라면, 클럭 주파수 1.5GHz를 목표로 한다. 클럭 소스(PLL)는 다이의 어느 위치에 두는 것이 CTS 관점에서 가장 합리적인가? 그리고 그 이유를 클럭 스큐와 배선 길이의 관점에서 서술하라.
프로젝트 2 — 전력 소비 분석 및 Clock Gating 적용 (약 12분)
동일한 RISC-V CPU가 다음 조건에서 동작한다. 공급 전압 V = 1.0V, 클럭 주파수 f = 1.5GHz, 총 부하 커패시턴스 C_total = 50pF. 이 CPU의 EX 스테이지(ALU)는 정수 연산만 하는 프로그램을 실행할 때 전체 실행 시간의 40%만 실제로 스위칭이 발생하고(α = 0.4), 나머지 60%는 NOP(No Operation) 명령어 처리 중이라 ALU 내부 플립플롭이 유휴(idle) 상태다.
질문 ①: 클럭 게이팅이 없을 때 EX 스테이지의 동적 전력을 계산하라. (C_EX = 10pF로 가정한다.)
질문 ②: EX 스테이지에 클럭 게이팅을 적용해 NOP 처리 중에는 ALU 플립플롭의 클럭을 완전히 차단할 수 있다면, 절감되는 전력의 양과 비율을 계산하라. 단, ICG 셀 자체의 소비 전력은 무시한다.
질문 ③: 같은 CPU를 저전력 모드로 동작시키기 위해 DVFS를 적용한다. 주파수를 750MHz(절반)로 낮추고, 이에 따라 전압도 0.8V로 낮출 수 있다고 가정할 때, 전체 동적 전력이 몇 %나 줄어드는가? 이 계산 결과가 직관적으로 와닿는가? 클럭 게이팅과 DVFS 중 어느 것이 더 강력한 도구라고 생각하는가, 그 이유는?
질문 ④: Multi-Vt 전략에서, 크리티컬 패스(Critical Path)에 있는 셀은 절대 HVT로 바꾸면 안 되는 이유를 STA의 슬랙(Slack) 개념을 이용해 설명하라.
프로젝트 3 — 스캔 체인 설계 및 결함 분석 (약 10분)
아래의 간단한 순서 논리 회로를 고려하라. 이 회로는 3개의 D 플립플롭(FF_A, FF_B, FF_C)과 2개의 AND 게이트로 구성된다. 연결 관계: FF_A의 출력 Q_A는 AND1의 입력으로, 외부 입력 X도 AND1의 입력으로 들어간다. AND1의 출력이 FF_B의 D 입력이다. FF_B의 출력 Q_B와 FF_C의 출력 Q_C가 AND2의 입력으로 들어가고, AND2의 출력이 FF_C의 D 입력이면서 동시에 외부 출력 Y이다. 세 플립플롭은 공통 클럭 CLK를 사용한다.
질문 ①: 세 플립플롭을 스캔 체인으로 연결하라. 스캔 입력(Scan_In)과 스캔 출력(Scan_Out)을 정하고, 체인 순서(FF_? → FF_? → FF_?)를 명시하라. 어떤 순서로 연결해도 기능상 차이는 없지만, 배선 길이를 줄이는 방향으로 생각해보라.
질문 ②: AND1 게이트의 출력 배선이 Stuck-at-0 결함을 가지고 있다고 하자. 이 결함을 검출하기 위해 스캔 시프트 인 단계에서 {FF_A, FF_B, FF_C}에 어떤 값을 로드해야 하는가? 그리고 캡처 이후 시프트 아웃했을 때 결함이 있는 경우와 없는 경우의 출력 패턴이 어떻게 달라지는지 설명하라. (힌트: 결함을 활성화하려면 AND1 출력이 결함이 없을 때 1이 되어야 한다.)
질문 ③: 만약 이 회로에 Stuck-at-0 결함이 2개 동시에 존재한다면, 하나의 테스트 패턴으로 두 결함을 동시에 검출하는 것이 항상 가능한가? 불가능한 경우가 있다면 어떤 상황인지 설명하라.
프로젝트 4 — 종합 설계 판단 (약 8분)
이 문제는 계산보다는 설계 철학적 판단을 묻는다.
질문 ①: ATPG는 결함 커버리지를 높이기 위해 테스트 패턴 수를 늘린다. 그런데 패턴 수가 많아지면 양산 테스트 시간이 길어지고, 이는 곧 테스트 비용 증가로 이어진다. 결함 커버리지 목표를 95%로 할지 99.5%로 할지 결정해야 한다면, 어떤 요소들을 고려해야 하는가? 자동차용 ADAS 칩과 무선 이어폰 칩에 적용되는 기준이 다를 수 있는 이유를 서술하라.
질문 ②: DFT를 위해 스캔 플립플롭을 삽입하면 일반 플립플롭보다 면적이 크고 지연(Delay)이 약간 증가한다. 이는 PPA 메트릭을 악화시킨다. 그럼에도 DFT를 반드시 해야 하는 이유를 '제품 비용 구조'의 관점에서 설명하라. (힌트: 칩 하나의 제조 원가, 테스트 비용, 필드 불량 처리 비용을 비교해 생각해보자.)
질문 ③: 네가 만약 수십억 개의 저전력 IoT 센서 칩을 설계하는 팀의 리더라면, DVFS, Clock Gating, Power Gating(블록 전체 전원 차단) 중 어느 기법을 가장 우선적으로 적용하겠는가? IoT 센서 칩의 특성(대부분의 시간 슬립 모드, 간헐적 측정 및 데이터 전송)을 고려해 논거를 제시하라.
평가 기준 (자가 채점용):
- PPA 메트릭 분석 (50점): 프로젝트 1, 2의 플로어플랜 합리성, 전력 계산의 정확성
- 테스트 커버리지 분석 (30점): 프로젝트 3의 스캔 체인 구성과 결함 검출 논리
- 최종 발표 (20점): 프로젝트 4의 설계 판단 논거의 일관성과 설득력
풀고 나서 각 답변을 다시 한 번 읽어보며, "이 판단이 실제 설계자의 관점에서도 타당한가?"를 자문해보길 권한다. 정답이 없는 문제일수록 논거의 탄탄함이 실력을 가른다. 이것이 RTL 코더와 VLSI 설계 엔지니어의 차이다.