Chapter 01

칩 설계 흐름 개요

스마트폰의 응용 프로세서에는 트랜지스터가 백억 개 넘게 들어 있다. 그 위치를 사람이 하나하나 정할 수는 없다. 설계자는 “무엇을 하는 칩인가”를 코드로 적고, 설계 자동화(EDA) 도구가 그 코드를 논리 게이트로, 게이트를 표준 셀 배치와 배선으로 바꾼다. 마지막에 남는 결과물은 층마다 그린 다각형의 목록이다. 이 목록이 마스크가 되고, ProcessBook에서 다룬 노광·식각·증착 공정이 그것을 실리콘 위에 옮긴다. 이 장은 그 긴 여정을 한 장의 지도로 펼친다.

사양에서 마스크까지: 설계 흐름

칩 설계는 크게 두 부분으로 나뉜다. 프런트엔드(Front-end)는 칩이 무엇을 하는지 정한다. 사양을 세우고, 아키텍처를 짜고, 하드웨어 기술 언어로 RTL(Register-Transfer Level)을 쓰고, 그 RTL이 맞게 동작하는지 시뮬레이션으로 검증한다. 논리 합성은 RTL을 표준 셀로 이루어진 게이트 넷리스트로 바꾸는 다리다. 백엔드(Back-end, 물리 설계)는 칩을 어떻게 실리콘 위에 놓을지 정한다. 다이 크기와 전원망을 계획하고(플로어플랜), 셀을 배치하고, 클럭을 나누어 주는 트리를 만들고(CTS), 금속 배선으로 연결한다. 그다음 사인오프(Sign-off)에서 타이밍·전력·설계 규칙·회로 일치를 마지막으로 검사하고, 통과하면 레이아웃 데이터(GDS/OASIS)를 파운드리에 넘긴다. 이 순간을 테이프아웃(Tape-out)이라 부른다.

프런트엔드 · 무엇을 백엔드 · 어떻게 놓을까 사인오프 · 제조 인계 ① 사양 · 아키텍처② RTL 작성 (.v/.sv)③ 기능 검증④ 논리 합성 → 넷리스트 ⑤ 플로어플랜 · 전원망⑥ 배치 (.def)⑦ 클럭 트리 합성⑧ 배선 → 기생 추출 (.spef) ⑨ STA · 전력 · IR⑩ DRC · LVS⑪ OPC · 마스크 데이터⑫ 테이프아웃 (.gds/.oas) 타이밍 실패 → ECO·재배치 (반복) 큰 위반 → 재합성 · RTL 수정 ⑬ 제조 → ⑭ 테스트
그림 01-1. 설계 흐름의 큰 그림. 앞쪽은 기능(논리)을, 뒤쪽은 물리(위치·배선)를 다룬다. 실제 프로젝트는 일직선이 아니라 사인오프에서 문제가 나오면 앞 단계로 되돌아가는 반복의 연속이다. 합성 이후 단계는 이 책 3~12장에서 하나씩 다룬다.

각 단계는 정해진 형식의 파일을 받아 다음 형식의 파일을 내놓는다. 도구 회사가 달라도 흐름이 이어지는 것은 이 형식들이 업계 표준이기 때문이다. 아래 흐름도에서 단계를 눌러 입력·출력과 대표 지표를 확인하고, 흐름 재생으로 타이밍 실패가 일으키는 반복을 지켜보자.

SIMULATOR

인터랙티브 설계 흐름도

단계를 클릭
재생 기록이 여기 쌓인다.
현재 단계—
되돌아간 횟수—
현재 WNS—
단계 이동 수—
해볼 것: ① 단계를 눌러 앞 단계의 출력 파일이 다음 단계의 입력이 되는 사슬을 따라가 보자(.v → 넷리스트 .v → .def → .spef → .gds). ② WNS를 −100 ps 근처로 두고 재생하면 배치·CTS·배선을 다시 도는 ECO 반복이 몇 번 생긴다. ③ −300 ps보다 나쁘면 물리 설계만으로는 못 고친다고 보고 합성으로 돌아간다. (반복 모델: ECO 한 번에 위반의 60%를 회복하고 +10 ps, 재합성은 위반의 70%를 회복하는 교육용 가정)
왜 이렇게 많은 파일 형식인가

논리(.v 넷리스트), 제약(.sdc), 셀의 타이밍·전력(.lib), 셀의 모양과 핀 위치(.lef), 칩 안 배치(.def), 배선의 저항·커패시턴스(.spef), 계산된 지연(.sdf), 최종 다각형(.gds/.oas)은 서로 다른 질문에 답한다. 한 파일에 모두 담으면 너무 크고, 단계마다 필요한 정보가 다르다. 각 형식은 해당 장에서 직접 열어 본다.

추상화 수준: 같은 회로, 여섯 개의 얼굴

설계가 가능한 것은 추상화(Abstraction) 덕분이다. 아키텍트는 블록 다이어그램만 보고, RTL 설계자는 레지스터와 그 사이의 연산만 보고, 합성 도구는 게이트를, 회로 설계자는 트랜지스터를, 레이아웃 설계자는 사각형을 본다. 한 수준에서 내린 결정은 아래 수준이 “정해진 규칙대로 구현될 것”이라는 약속에 기대어 있다. 예를 들어 RTL 설계자는 a & b를 쓸 때 그것이 NAND와 인버터로 바뀌고, 다시 여섯 개의 트랜지스터(NAND2 4개와 인버터 2개)와 몇 개의 사각형이 된다는 사실을 몰라도 된다. 그 약속을 지키는 것이 표준 셀 라이브러리와 EDA 도구다.

SIMULATOR

확대 슬라이더: 칩 → RTL → 게이트 → 트랜지스터 → 레이아웃 → 단면

보이는 크기—
기본 단위—
대표 파일·도구—
해볼 것: ① 슬라이더를 천천히 밀어 반가산기의 자리올림 c = a & b가 NAND+인버터가 되고, 그 인버터가 PMOS·NMOS 두 개, 다시 사각형 몇 개가 되는 과정을 따라가 보자. ② 레이아웃 수준의 점선(자르는 선)을 따라 자르면 마지막 공정 단면이 나온다. ③ 레이아웃의 각 색이 어떤 마스크와 공정이 되는지는 4장에서 자세히 다룬다. (치수는 EDU45 가상 PDK: 셀 높이 1260 nm, CPP 190 nm, 게이트 길이 50 nm)
수준기본 단위다루는 질문대표 표현이 책
시스템·아키텍처블록 (CPU, 캐시, 버스)성능·대역폭이 충분한가C/C++, SystemC 모델1장
RTL레지스터 + 조합 논리사이클마다 무엇이 바뀌나Verilog/SystemVerilog2장
게이트표준 셀 (NAND2, DFF…)면적·지연이 목표 안인가게이트 넷리스트 .v3장
트랜지스터MOSFET전류·전압 파형은 어떤가SPICE 넷리스트 .sp4장
레이아웃레이어별 다각형규칙대로 그렸나, 회로와 같은가GDSII / OASIS4장, 10장
공정 단면막과 도핑 영역그대로 만들 수 있나공정 레시피, TCADProcessBook 12장

PPA: 성능·전력·면적의 맞바꿈

설계의 모든 결정은 결국 세 숫자로 평가된다. PPA(Performance, Power, Area), 곧 얼마나 빠른가(최대 클럭 주파수), 얼마나 먹는가(전력), 얼마나 큰가(면적 → 원가)다. 셋은 서로 맞물려 있다. 같은 회로를 더 빠르게 돌리려면 임계 경로의 셀을 큰 것(구동력이 센 것)으로 바꾸고, 버퍼를 넣고, 문턱 전압이 낮은 셀을 써야 한다. 모두 면적과 전력을 늘린다. 디지털 CMOS의 전력은 다음 두 항이 지배한다.

$$P = \underbrace{\alpha\, C_{\text{sw}}\, V_{DD}^2\, f}_{\text{동적}} + \underbrace{I_{\text{leak}}\, V_{DD}}_{\text{누설}}, \qquad t_d \propto \frac{V_{DD}}{(V_{DD}-V_t)^{\alpha_p}}$$
\(\alpha\)는 활동도(사이클당 전이 확률), \(C_{\text{sw}}\)는 스위칭 커패시턴스로 대략 셀 면적에 비례한다. 지연식은 알파 멱법칙(Sakurai–Newton) 근사, \(\alpha_p \approx 1.3\). 전압을 올리면 빨라지지만 동적 전력이 \(V_{DD}^2\)로 늘어난다. 자세한 내용은 9장.
SIMULATOR

목표 클럭을 올리면 합성 결과의 면적·전력은?

도달 가능 최대 f—
면적 (최소 크기 대비)—
전력—
연산당 에너지—
해볼 것: ① 주파수를 올려도 처음에는 면적이 그대로다(최소 크기 셀로 충분). ② 임계 경로 한계 근처에 가면 업사이징·버퍼 삽입으로 면적이 급증하고, 누설이 큰 저문턱 셀이 늘어 전력이 주파수보다 빠르게 는다. ③ 전압을 0.9 V로 낮추면 고정 커패시턴스의 동적 에너지는 줄지만, 같은 주파수를 유지하는 업사이징이 그 효과를 상쇄할 수 있다. 활동도 0.1·2 GHz에서는 면적비가 1.179→1.439로 늘고 총 연산당 에너지도 9.684→9.797 pJ로 약 1.17% 증가한다. 속도 여유가 큰 낮은 주파수와 비교해 보자. (교육용 모델: 블록 0.05 mm², 최소 크기 임계 경로 40 FO4 ≈ 600 ps, 업사이징 한계 0.6배, \(A = A_0[1+0.25\,(T_0-T)/(T-T_{\min})]\), 스위칭 커패시턴스 75 pF·면적비, Vt = 0.35 V)

그래서 “최고 주파수”가 목표인 설계는 드물다. 대부분은 주어진 주파수를 가장 작은 면적과 전력으로 맞추는 것이 목표이고, 그 경계에서 조금만 물러서도 면적과 전력이 크게 준다. 합성 도구는 이 곡선 위의 한 점을 찾는 최적화기다(3장).

PDK와 표준 셀: 파운드리와 설계자의 경계

설계자는 공정 장비를 만지지 않고, 파운드리는 고객의 회로를 들여다보지 않는다. 둘 사이의 계약서가 PDK(Process Design Kit)다. 파운드리는 공정을 측정해 트랜지스터의 전기적 모델과 “이렇게 그리면 만들어진다”는 규칙을 PDK로 내놓고, 설계자는 그 안에서만 그린다. PDK 위에 다시 표준 셀 라이브러리(Standard-cell library)가 있다. 높이가 같은 NAND, NOR, 플립플롭 같은 수백 개의 작은 레이아웃 조각과 그 타이밍·전력 표다. 합성과 배치·배선 도구는 트랜지스터가 아니라 이 셀들을 블록처럼 쌓는다.

파운드리 공정 개발 (ProcessBook)소자 측정 → 모델 추출노광·식각·CMP 한계 → 규칙마스크 제작 · 웨이퍼 제조 PDK + 셀 라이브러리 DRM · DRC/LVS 룰 덱SPICE 모델 (BSIM) · 코너테크 파일 · 레이어 맵기생 추출 규칙 (RC 표)셀: .lib · .lef · .gds · .vIO · SRAM 컴파일러 설계 회사 RTL · 검증합성 · 배치 · 배선 (EDA)사인오프 (STA · DRC · LVS)→ GDS/OASIS 테이프아웃 레이아웃(GDS) → 마스크 → 웨이퍼
그림 01-2. 파운드리–설계 경계. 공정의 물리(ProcessBook)는 PDK 안의 숫자와 규칙으로 압축되어 설계 쪽에 전달되고, 설계의 결과는 다각형(GDS)으로 압축되어 파운드리로 돌아간다. 두 책은 이 경계를 사이에 두고 마주 본다.
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폴리 선폭, 노광의 가장 어려운 층
게이트 피치 CPP190 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년)으로 거의 정해져 있으니, 다이가 작을수록 한 장에서 더 많이 나온다. 게다가 결함은 웨이퍼 위에 무작위로 떨어지므로 큰 다이일수록 결함 하나를 맞을 확률이 높다. 면적은 원가에 두 번 작용한다.

$$\text{DPW} \approx \frac{\pi (d/2)^2}{A} - \frac{\pi d}{\sqrt{2A}}, \qquad Y_{\text{Poisson}} = e^{-A D_0}, \qquad Y_{\text{Murphy}} = \left(\frac{1-e^{-AD_0}}{AD_0}\right)^{2}$$ $$\text{양품 다이당 원가} = \frac{C_{\text{wafer}}}{\text{DPW}\cdot Y} + \frac{\text{NRE}}{\text{생산량}}$$
\(d\)는 웨이퍼 지름(300 mm), \(A\)는 다이 면적, 두 번째 항은 가장자리에서 잘려 나가는 다이. \(D_0\)는 단위 면적당 치명적 결함 밀도(성숙 공정 약 0.05~0.1 /cm², 초기 공정 0.3 /cm² 이상). 머피 모델은 결함 밀도가 웨이퍼마다 고르지 않음을 반영해 큰 다이에서 포아송보다 덜 비관적이다. 결함과 수율의 공정 쪽 이야기는 ProcessBook 14장. NRE(일회성 개발비)의 큰 몫인 마스크 세트는 12장.
SIMULATOR

다이 면적 → 웨이퍼당 다이 → 수율 → 양품 다이 원가

웨이퍼당 다이 (식 / 격자)—
수율 (모델 / 이 웨이퍼)—
양품 다이당 제조 원가—
NRE 몫 / 개당 합계—
해볼 것: ① 면적을 100 mm² → 400 mm²로 4배 키우면 다이 수는 4배 넘게 줄고(가장자리 손실), 수율도 떨어져 양품 원가는 5~10배 뛴다. ② D0를 0.3으로 올리면(새 공정 초기) 큰 다이일수록 타격이 크다. 그래서 큰 칩을 여러 작은 칩렛으로 나눈다. ③ 생산량이 1만 개면 NRE 몫이 제조 원가를 압도한다. 소량 칩이 구형 공정을 쓰는 이유다. (왼쪽 웨이퍼: 가장자리 제외 3 mm, 스크라이브 0.1 mm, 결함은 균일 무작위로 뿌린 포아송 표본. 오른쪽 곡선: 면적에 따른 양품 다이당 제조 원가)
“면적 1% 절감”의 가치

연 1억 개를 파는 칩에서 양품 다이 원가가 20달러라면, 면적 1% 절감은 수율 개선까지 합쳐 다이당 약 0.25달러, 연 2,500만 달러쯤이 된다. 배치 밀도를 높이고(5장), 배선 트랙을 아끼고(7장), 셀을 한 트랙 낮추는 일에 수많은 엔지니어가 매달리는 이유다.

결국 넘기는 것은 다각형이다

코드, 넷리스트, 타이밍 표, 기생 추출 파일… 수많은 중간 결과가 있지만 파운드리가 실제로 받는 것은 하나다. 레이어마다 그린 다각형의 목록, 곧 GDSII 또는 OASIS 파일이다. 파일 안의 각 다각형에는 레이어 번호가 붙어 있고, 파운드리는 레이어 맵에 따라 이를 마스크별로 묶어(어떤 마스크는 여러 레이어의 논리 연산 결과다) OPC 보정을 하고 마스크를 묘화한다. 그 마스크 한 장 한 장이 ProcessBook의 공정 한 묶음(노광 → 식각 또는 주입 → 세정)이 된다.

레이아웃 (GDS) NW (n-우물) → 마스크 1 OD (활성 영역) → 마스크 2 PO (폴리) → 마스크 3 CO (접촉) → 마스크 … M1 (금속 1) → 마스크 … 공정 단면 (ProcessBook)
그림 01-3. 설계자가 넘기는 것은 레이어별 다각형이다. 레이어는 마스크로, 마스크는 공정 단계 묶음으로 바뀐다. 레이어 ↔ 마스크 ↔ 공정의 정확한 대응은 4장과 12장, 공정 순서는 ProcessBook 12장(CMOS 공정 통합)에서 다룬다.

이 책의 나머지는 이 다각형이 어디서 오는지를 거꾸로 짚어 가는 대신, 설계 흐름을 순서대로 따라간다.

장주제이 장의 질문ProcessBook 연결
02RTL과 기능 검증코드가 원하는 대로 동작하나—
03논리 합성어떤 게이트로 만들까—
04표준 셀과 레이아웃게이트가 어떤 사각형이 되나통합 · 노광 · 주입
05~07배치 · CTS · 배선어디에 놓고 어떻게 잇나금속 배선 · CMP
08~09타이밍 · 전력제때, 적은 전력으로 도나배선 RC · 전자 이동
10DRC · LVS만들 수 있게 그렸나노광 · 식각 · CMP 한계
11~12OPC · 마스크그린 대로 찍히나노광 · 감광막 · OPC
13레이아웃 실험실직접 그려 보기단면 미리보기

핵심 정리

  1. 설계는 프런트엔드(사양 → RTL → 검증 → 합성)와 백엔드(플로어플랜 → 배치 → CTS → 배선)로 나뉘고, 사인오프(STA·전력·DRC·LVS)를 통과하면 테이프아웃한다.
  2. 단계 사이는 표준 파일 형식으로 이어진다: .v, .sdc, .lib, .lef, .def, .spef, .sdf, .gds/.oas.
  3. 흐름은 일직선이 아니다. 타이밍·DRC 실패는 ECO·재배치·재합성 반복을 부른다.
  4. 추상화(시스템 → RTL → 게이트 → 트랜지스터 → 레이아웃)와 표준 셀 라이브러리 덕분에 수백억 트랜지스터를 설계할 수 있다.
  5. 목표 주파수가 임계 경로 한계에 다가가면 면적·전력이 급증한다. \(P = \alpha C V^2 f + I_{\text{leak}}V\).
  6. PDK(DRM, SPICE 모델, 테크 파일, 룰 덱)와 셀 라이브러리가 파운드리–설계 경계의 계약이다.
  7. 면적은 웨이퍼당 다이 수와 수율 \(e^{-AD_0}\)을 통해 원가를 두 번 키운다. 최종 결과물은 레이어별 다각형(GDS)이다.

확인 퀴즈

배선이 끝난 뒤 정적 타이밍 분석(STA)에 들어가는, 배선의 저항·커패시턴스를 담은 파일 형식은?

SPEF(Standard Parasitic Exchange Format)는 기생 추출 결과다. .lef는 셀·배선층의 물리 정보, .sdc는 타이밍 제약, .gds는 최종 다각형이다.

다음 중 프런트엔드에 속하지 않는 단계는?

CTS는 셀이 배치된 뒤 실제 위치를 보고 클럭 버퍼 트리를 만드는 백엔드(물리 설계) 단계다.

D0 = 0.1 /cm²에서 포아송 모델로 100 mm² 다이의 수율은 약 90%다. 같은 공정에서 400 mm² 다이의 수율은?

\(AD_0\) = 4 cm² × 0.1 = 0.4, \(e^{-0.4}\) ≈ 0.67. 면적이 4배면 지수가 4배가 되어 수율은 \(0.9^4\)로 떨어진다. 다이 수도 4배 넘게 줄어 원가는 크게 뛴다.

목표 주파수를 임계 경로 한계 가까이 올렸을 때 합성 결과에서 일어나는 일로 옳은 것은?

지연을 줄이려면 구동력이 센(큰) 셀과 버퍼가 필요하다. 한계 근처에서 면적·전력이 주파수보다 훨씬 빠르게 늘어난다.

PDK에 들어 있지 않은 것은?

PDK는 파운드리가 공정 정보를 설계자에게 넘기는 묶음이다. RTL은 설계 회사의 자산이다.