칩 설계 흐름 개요
스마트폰의 응용 프로세서에는 트랜지스터가 백억 개 넘게 들어 있다. 그 위치를 사람이 하나하나 정할 수는 없다. 설계자는 “무엇을 하는 칩인가”를 코드로 적고, 설계 자동화(EDA) 도구가 그 코드를 논리 게이트로, 게이트를 표준 셀 배치와 배선으로 바꾼다. 마지막에 남는 결과물은 층마다 그린 다각형의 목록이다. 이 목록이 마스크가 되고, ProcessBook에서 다룬 노광·식각·증착 공정이 그것을 실리콘 위에 옮긴다. 이 장은 그 긴 여정을 한 장의 지도로 펼친다.
- 사양에서 테이프아웃까지 설계 단계의 순서와 각 단계가 주고받는 파일 형식을 말할 수 있다.
- 시스템 → RTL → 게이트 → 트랜지스터 → 레이아웃 → 공정 단면으로 이어지는 추상화 수준을 구분한다.
- 목표 주파수를 높일 때 면적과 전력이 어떻게 늘어나는지(PPA 트레이드오프) 설명한다.
- PDK와 표준 셀 라이브러리가 파운드리와 설계자 사이에서 하는 역할을 안다.
- 다이 면적에서 웨이퍼당 다이 수, 수율, 양품 다이당 원가를 계산한다.
사양에서 마스크까지: 설계 흐름
칩 설계는 크게 두 부분으로 나뉜다. 프런트엔드(Front-end)는 칩이 무엇을 하는지 정한다. 사양을 세우고, 아키텍처를 짜고, 하드웨어 기술 언어로 RTL(Register-Transfer Level)을 쓰고, 그 RTL이 맞게 동작하는지 시뮬레이션으로 검증한다. 논리 합성은 RTL을 표준 셀로 이루어진 게이트 넷리스트로 바꾸는 다리다. 백엔드(Back-end, 물리 설계)는 칩을 어떻게 실리콘 위에 놓을지 정한다. 다이 크기와 전원망을 계획하고(플로어플랜), 셀을 배치하고, 클럭을 나누어 주는 트리를 만들고(CTS), 금속 배선으로 연결한다. 그다음 사인오프(Sign-off)에서 타이밍·전력·설계 규칙·회로 일치를 마지막으로 검사하고, 통과하면 레이아웃 데이터(GDS/OASIS)를 파운드리에 넘긴다. 이 순간을 테이프아웃(Tape-out)이라 부른다.
각 단계는 정해진 형식의 파일을 받아 다음 형식의 파일을 내놓는다. 도구 회사가 달라도 흐름이 이어지는 것은 이 형식들이 업계 표준이기 때문이다. 아래 흐름도에서 단계를 눌러 입력·출력과 대표 지표를 확인하고, 흐름 재생으로 타이밍 실패가 일으키는 반복을 지켜보자.
인터랙티브 설계 흐름도
논리(.v 넷리스트), 제약(.sdc), 셀의 타이밍·전력(.lib), 셀의 모양과 핀 위치(.lef), 칩 안 배치(.def), 배선의 저항·커패시턴스(.spef), 계산된 지연(.sdf), 최종 다각형(.gds/.oas)은 서로 다른 질문에 답한다. 한 파일에 모두 담으면 너무 크고, 단계마다 필요한 정보가 다르다. 각 형식은 해당 장에서 직접 열어 본다.
추상화 수준: 같은 회로, 여섯 개의 얼굴
설계가 가능한 것은 추상화(Abstraction) 덕분이다. 아키텍트는 블록 다이어그램만 보고, RTL 설계자는 레지스터와 그 사이의 연산만 보고, 합성 도구는 게이트를, 회로 설계자는 트랜지스터를, 레이아웃 설계자는 사각형을 본다. 한 수준에서 내린 결정은 아래 수준이 “정해진 규칙대로 구현될 것”이라는 약속에 기대어 있다. 예를 들어 RTL 설계자는 a & b를 쓸 때 그것이 NAND와 인버터로 바뀌고, 다시 여섯 개의 트랜지스터(NAND2 4개와 인버터 2개)와 몇 개의 사각형이 된다는 사실을 몰라도 된다. 그 약속을 지키는 것이 표준 셀 라이브러리와 EDA 도구다.
확대 슬라이더: 칩 → RTL → 게이트 → 트랜지스터 → 레이아웃 → 단면
c = a & b가 NAND+인버터가 되고, 그 인버터가 PMOS·NMOS 두 개, 다시 사각형 몇 개가 되는 과정을 따라가 보자. ② 레이아웃 수준의 점선(자르는 선)을 따라 자르면 마지막 공정 단면이 나온다. ③ 레이아웃의 각 색이 어떤 마스크와 공정이 되는지는 4장에서 자세히 다룬다. (치수는 EDU45 가상 PDK: 셀 높이 1260 nm, CPP 190 nm, 게이트 길이 50 nm)| 수준 | 기본 단위 | 다루는 질문 | 대표 표현 | 이 책 |
|---|---|---|---|---|
| 시스템·아키텍처 | 블록 (CPU, 캐시, 버스) | 성능·대역폭이 충분한가 | C/C++, SystemC 모델 | 1장 |
| RTL | 레지스터 + 조합 논리 | 사이클마다 무엇이 바뀌나 | Verilog/SystemVerilog | 2장 |
| 게이트 | 표준 셀 (NAND2, DFF…) | 면적·지연이 목표 안인가 | 게이트 넷리스트 .v | 3장 |
| 트랜지스터 | MOSFET | 전류·전압 파형은 어떤가 | SPICE 넷리스트 .sp | 4장 |
| 레이아웃 | 레이어별 다각형 | 규칙대로 그렸나, 회로와 같은가 | GDSII / OASIS | 4장, 10장 |
| 공정 단면 | 막과 도핑 영역 | 그대로 만들 수 있나 | 공정 레시피, TCAD | ProcessBook 12장 |
PPA: 성능·전력·면적의 맞바꿈
설계의 모든 결정은 결국 세 숫자로 평가된다. PPA(Performance, Power, Area), 곧 얼마나 빠른가(최대 클럭 주파수), 얼마나 먹는가(전력), 얼마나 큰가(면적 → 원가)다. 셋은 서로 맞물려 있다. 같은 회로를 더 빠르게 돌리려면 임계 경로의 셀을 큰 것(구동력이 센 것)으로 바꾸고, 버퍼를 넣고, 문턱 전압이 낮은 셀을 써야 한다. 모두 면적과 전력을 늘린다. 디지털 CMOS의 전력은 다음 두 항이 지배한다.
목표 클럭을 올리면 합성 결과의 면적·전력은?
그래서 “최고 주파수”가 목표인 설계는 드물다. 대부분은 주어진 주파수를 가장 작은 면적과 전력으로 맞추는 것이 목표이고, 그 경계에서 조금만 물러서도 면적과 전력이 크게 준다. 합성 도구는 이 곡선 위의 한 점을 찾는 최적화기다(3장).
PDK와 표준 셀: 파운드리와 설계자의 경계
설계자는 공정 장비를 만지지 않고, 파운드리는 고객의 회로를 들여다보지 않는다. 둘 사이의 계약서가 PDK(Process Design Kit)다. 파운드리는 공정을 측정해 트랜지스터의 전기적 모델과 “이렇게 그리면 만들어진다”는 규칙을 PDK로 내놓고, 설계자는 그 안에서만 그린다. PDK 위에 다시 표준 셀 라이브러리(Standard-cell library)가 있다. 높이가 같은 NAND, NOR, 플립플롭 같은 수백 개의 작은 레이아웃 조각과 그 타이밍·전력 표다. 합성과 배치·배선 도구는 트랜지스터가 아니라 이 셀들을 블록처럼 쌓는다.
| PDK 구성 요소 | 내용 | 쓰는 단계 |
|---|---|---|
| DRM (Design Rule Manual) | 최소 폭·간격·덮임·밀도 규칙과 그 그림 설명 | 레이아웃, DRC (10장) |
| SPICE 모델 | BSIM 등 트랜지스터 모델, TT/SS/FF 코너, 온도 | 셀 특성화, 아날로그 설계 |
| 테크 파일 · 레이어 맵 | 레이어 이름 ↔ GDS 번호, 금속 피치·방향, 비아 정의 | P&R, 마스크 데이터 |
| 룰 덱 (DRC/LVS/PEX) | 검사·소자 인식·기생 추출을 위한 스크립트 | 사인오프 |
| 셀 라이브러리 | .lib(타이밍·전력 표), .lef(외곽·핀), .gds(레이아웃), .v(기능 모델) | 합성부터 사인오프까지 |
이 책은 실제 회사의 비공개 수치 대신 교육용 가상 공정 EDU45를 쓴다. 45 nm급 평면 CMOS를 닮게 만든 숫자이며, 모든 장의 예제와 시뮬레이터가 이 값을 공유한다.
| EDU45 항목 | 값 | 의미 |
|---|---|---|
| 게이트 길이 (그린 값) | 50 nm | 폴리 선폭, 노광의 가장 어려운 층 |
| 게이트 피치 CPP | 190 nm | 셀 폭의 단위 (INV_X1 = 2 CPP, INV_X2 = 3 CPP) |
| M1 / M2 피치 | 140 / 140 nm | 배선 트랙 간격 |
| 셀 높이 | 9 트랙 = 1260 nm | 모든 표준 셀의 공통 높이 |
| 공급 전압 | 1.0 V (0.9~1.1) | 코너 분석 범위 |
| FO4 인버터 지연 | 약 15 ps | 지연의 기본 단위 |
| 인버터 X1 입력 커패시턴스 | 약 1 fF | 부하 계산의 기본 단위 |
규모와 비용: 면적이 원가다
1971년 인텔 4004는 트랜지스터가 약 2,300개였다. 1989년 i486이 약 120만 개, 2000년 펜티엄 4가 약 4,200만 개, 2010년 무렵 고급 CPU가 약 10억 개를 넘었고, 2020년대 대형 GPU·응용 프로세서는 수백억 개(약 2023년 기준 단일 다이 800억 개 안팎)에 이른다. 대략 2년마다 두 배(무어의 법칙(Moore's law))다. 설계자 수는 그만큼 늘지 않았으니, 늘어난 몫은 추상화를 한 단계씩 올리고 그 아래를 자동화한 EDA(Electronic Design Automation)가 메웠다. 1970년대 손으로 그린 레이아웃(루비리스 필름) → 1980년대 표준 셀 자동 배치·배선 → 1990년대 RTL 합성 → 오늘날의 고수준 합성과 기계 학습 기반 최적화로 이어진 흐름이다.
설계자가 면적을 집요하게 줄이는 이유는 원가 때문이다. 300 mm 웨이퍼 한 장의 가공비는 공정 세대에 따라 수천~2만 달러 남짓(약, 2024년)으로 거의 정해져 있으니, 다이가 작을수록 한 장에서 더 많이 나온다. 게다가 결함은 웨이퍼 위에 무작위로 떨어지므로 큰 다이일수록 결함 하나를 맞을 확률이 높다. 면적은 원가에 두 번 작용한다.
다이 면적 → 웨이퍼당 다이 → 수율 → 양품 다이 원가
결국 넘기는 것은 다각형이다
코드, 넷리스트, 타이밍 표, 기생 추출 파일… 수많은 중간 결과가 있지만 파운드리가 실제로 받는 것은 하나다. 레이어마다 그린 다각형의 목록, 곧 GDSII 또는 OASIS 파일이다. 파일 안의 각 다각형에는 레이어 번호가 붙어 있고, 파운드리는 레이어 맵에 따라 이를 마스크별로 묶어(어떤 마스크는 여러 레이어의 논리 연산 결과다) OPC 보정을 하고 마스크를 묘화한다. 그 마스크 한 장 한 장이 ProcessBook의 공정 한 묶음(노광 → 식각 또는 주입 → 세정)이 된다.
이 책의 나머지는 이 다각형이 어디서 오는지를 거꾸로 짚어 가는 대신, 설계 흐름을 순서대로 따라간다.
| 장 | 주제 | 이 장의 질문 | ProcessBook 연결 |
|---|---|---|---|
| 02 | RTL과 기능 검증 | 코드가 원하는 대로 동작하나 | — |
| 03 | 논리 합성 | 어떤 게이트로 만들까 | — |
| 04 | 표준 셀과 레이아웃 | 게이트가 어떤 사각형이 되나 | 통합 · 노광 · 주입 |
| 05~07 | 배치 · CTS · 배선 | 어디에 놓고 어떻게 잇나 | 금속 배선 · CMP |
| 08~09 | 타이밍 · 전력 | 제때, 적은 전력으로 도나 | 배선 RC · 전자 이동 |
| 10 | DRC · LVS | 만들 수 있게 그렸나 | 노광 · 식각 · CMP 한계 |
| 11~12 | OPC · 마스크 | 그린 대로 찍히나 | 노광 · 감광막 · OPC |
| 13 | 레이아웃 실험실 | 직접 그려 보기 | 단면 미리보기 |
핵심 정리
- 설계는 프런트엔드(사양 → RTL → 검증 → 합성)와 백엔드(플로어플랜 → 배치 → CTS → 배선)로 나뉘고, 사인오프(STA·전력·DRC·LVS)를 통과하면 테이프아웃한다.
- 단계 사이는 표준 파일 형식으로 이어진다:
.v,.sdc,.lib,.lef,.def,.spef,.sdf,.gds/.oas. - 흐름은 일직선이 아니다. 타이밍·DRC 실패는 ECO·재배치·재합성 반복을 부른다.
- 추상화(시스템 → RTL → 게이트 → 트랜지스터 → 레이아웃)와 표준 셀 라이브러리 덕분에 수백억 트랜지스터를 설계할 수 있다.
- 목표 주파수가 임계 경로 한계에 다가가면 면적·전력이 급증한다. \(P = \alpha C V^2 f + I_{\text{leak}}V\).
- PDK(DRM, SPICE 모델, 테크 파일, 룰 덱)와 셀 라이브러리가 파운드리–설계 경계의 계약이다.
- 면적은 웨이퍼당 다이 수와 수율 \(e^{-AD_0}\)을 통해 원가를 두 번 키운다. 최종 결과물은 레이어별 다각형(GDS)이다.
확인 퀴즈
배선이 끝난 뒤 정적 타이밍 분석(STA)에 들어가는, 배선의 저항·커패시턴스를 담은 파일 형식은?
다음 중 프런트엔드에 속하지 않는 단계는?
D0 = 0.1 /cm²에서 포아송 모델로 100 mm² 다이의 수율은 약 90%다. 같은 공정에서 400 mm² 다이의 수율은?
목표 주파수를 임계 경로 한계 가까이 올렸을 때 합성 결과에서 일어나는 일로 옳은 것은?
PDK에 들어 있지 않은 것은?