PDK 표준 셀 라이브러리, 공정과 설계를 잇는 규격집
프랜차이즈 식당 본사는 가맹점마다 주방 규격집을 나눠 줍니다. 가스 배관 위치와 조리대 높이, 쓸 수 있는 설비가 정해져 있고, 소스와 반죽은 본사가 같은 규격으로 만들어 보냅니다. 덕분에 점주는 재료부터 만들지 않고 규격에 맞춰 메뉴를 조립하는 일에 집중할 수 있습니다.
칩 설계에서 이 규격집과 규격화된 재료에 해당하는 것이 PDK 표준 셀 라이브러리입니다. 정확히는 공정의 규칙과 모델을 담은 PDK, 그리고 그 위에서 만든 논리 부품 상자인 표준 셀 라이브러리가 짝을 이룹니다.
주방과 다른 점도 분명합니다. 칩의 규격집은 읽고 따르는 문서가 아니라 수천 개의 규칙과 수치 모델로 이루어진 데이터이고, 공정이 바뀌면 통째로 다시 만들어집니다.
설계와 제조 사이의 약속이 필요한 이유
칩을 설계하는 회사와 만드는 회사가 다른 경우가 많습니다. 공장이 없는 팹리스는 공정 안에서 트랜지스터가 어떻게 동작하는지 직접 측정할 수 없으니, 파운드리가 공정의 특성과 제약을 정리해 건네줘야 합니다.
이 전달물이 공정 설계 키트(PDK, Process Design Kit)입니다. 설계자는 PDK 안의 모델로 회로를 시뮬레이션하고, 규칙 파일로 레이아웃이 제조 가능한지 확인합니다. 설계도가 공장이 실제로 만들 수 있는 범위 안에 있다는 약속의 근거가 되는 셈입니다.
그런데 PDK만으로는 부족합니다. 트랜지스터 수십억 개를 하나씩 그려 배치할 수는 없으니, NAND와 플립플롭 같은 기본 논리를 미리 레이아웃하고 검증해 둔 부품 상자가 필요해집니다. 이것이 표준 셀 라이브러리(Standard cell library)입니다.
PDK 안에 들어 있는 것들
PDK는 파일 하나가 아니라 여러 종류의 데이터 묶음입니다. 회로 설계자가 쓰는 부분과 레이아웃 설계자가 쓰는 부분, 검증 도구가 쓰는 부분이 함께 들어 있습니다.
PDK의 구성 요소
- 소자 모델: 트랜지스터와 저항, 커패시터의 전기적 특성을 수식으로 담은 SPICE 모델입니다. 공정 코너(TT, FF, SS)와 온도 조건별 값이 함께 들어 있습니다.
- 디자인 룰: 최소 선폭, 최소 간격, 비아 크기, 층 사이 겹침 같은 레이아웃 제약입니다. 설명 문서와 도구가 읽는 규칙 파일로 제공됩니다.
- 검증 룰셋: DRC와 LVS처럼 레이아웃을 자동으로 검사하는 규칙 파일입니다.
- 기술 파일: 금속층의 구성과 이름, 두께, 배선 저항 같은 정보를 EDA 도구가 읽는 형식으로 정리한 파일입니다.
- 기생 성분 추출 데이터: 배선이 만드는 저항과 커패시턴스를 계산하는 데 쓰입니다.
- 파라미터화 셀(PCell): 폭과 길이를 입력하면 레이아웃이 자동으로 생성되는 소자 생성기입니다.
PDK는 공정이 개선될 때마다 버전이 올라갑니다. 설계자는 어느 버전의 모델과 룰로 검증했는지를 기록해 두어야 하고, 버전이 섞이면 시뮬레이션과 실제 제조 결과가 어긋날 수 있습니다.
PDK를 디자인 룰 문서와 같은 것으로 보는 것은 PDK는 레이아웃 규칙집일 뿐이라는 흔한 오해입니다. 규칙은 PDK의 절반이고, 나머지 절반인 소자 모델이 있어야 회로의 속도와 전력을 미리 예측할 수 있습니다.
표준 셀 라이브러리, 규격이 같은 논리 부품 상자
표준 셀은 인버터, NAND, NOR, 플립플롭, 버퍼 같은 기본 논리를 하나의 작은 레이아웃으로 만들어 둔 부품입니다. 모든 셀은 높이가 같고 폭만 다르다는 약속을 지킵니다. 그래서 가로로 줄을 세우듯 나란히 놓을 수 있습니다.
셀의 위아래 가장자리에는 전원(VDD)과 접지(VSS) 레일이 지나갑니다. 셀을 옆으로 붙이면 레일이 자동으로 이어지므로 설계 도구는 전원 연결을 따로 고민하지 않고 셀을 행 위에 채워 넣기만 하면 됩니다. 입력과 출력 핀도 일정한 격자 위에 놓여 배선 도구가 접근하기 쉽습니다.
셀의 높이는 보통 금속 배선이 지나갈 수 있는 줄 수, 곧 트랙 수로 말합니다. 트랙 수가 적을수록 셀이 작아지지만 셀 안쪽 배선과 핀 접근의 여유가 줄어드는 대가가 있습니다.
가상 계산 예시, 트랙 수와 셀 높이배선 피치를 0.1 µm로 가정하면 9트랙 셀의 높이는 9 × 0.1 = 0.9 µm이고, 7.5트랙 셀의 높이는 0.75 µm입니다.
폭이 같다고 가정하면 면적은 0.75 ÷ 0.9 ≈ 0.83으로, 7.5트랙 쪽이 약 17% 작습니다. 다만 핀이 모이는 자리가 좁아져 배선이 막힐 위험이 커지므로 면적만 보고 고를 수는 없습니다.
셀 하나에 따라붙는 다섯 가지 데이터
표준 셀은 도형 하나가 아니라 설계 흐름의 단계마다 다른 도구가 읽는 여러 표현을 함께 갖고 있습니다. 같은 셀을 합성 도구는 지연 표로, 배치 도구는 외형 정보로, 마스크 제작은 실제 도형으로 보기 때문입니다.
표준 셀 하나의 데이터
- 타이밍 라이브러리(Liberty, .lib): 입력 신호의 기울기와 출력 부하에 따른 지연, 전력, 입력 커패시턴스를 표로 담습니다.
- 물리 정보(LEF): 셀의 크기, 핀 위치, 배선이 지나가면 안 되는 영역을 담은 추상적 외형입니다.
- 레이아웃(GDSII): 마스크 제작에 쓰이는 실제 도형입니다.
- 논리 모델(Verilog): 시뮬레이션에서 셀의 동작을 흉내 내는 기술입니다.
- 회로 네트리스트(SPICE 또는 CDL): LVS와 트랜지스터 수준 시뮬레이션에 쓰이는 회로입니다.
타이밍 라이브러리의 숫자는 어디서 올까요. 라이브러리 제작자가 PDK의 소자 모델로 셀을 SPICE 시뮬레이션하고, 입력 기울기와 부하의 조합을 바꿔 가며 지연과 전력을 측정해 표로 만듭니다. 이 작업을 셀 특성화(characterization)라고 하며, 공정 코너와 전압, 온도 조건마다 따로 수행합니다.
여기서 두 데이터의 관계가 드러납니다. 라이브러리의 타이밍 값은 PDK 모델에서 계산된 결과물이므로, PDK가 바뀌면 라이브러리도 다시 특성화해야 합니다.
같은 기능의 셀이 여러 종류인 이유
라이브러리에는 같은 NAND 게이트가 여러 개 들어 있습니다. 첫째는 구동 세기로, X1, X2, X4처럼 트랜지스터 크기가 다른 버전입니다. 큰 셀은 많은 부하를 빠르게 구동하지만 면적과 전력을 더 씁니다.
둘째는 문턱전압 종류입니다. 문턱전압이 낮은 LVT 셀은 빠르지만 누설 전류가 크고, 높은 HVT 셀은 느리지만 누설이 작습니다. 라이브러리는 이처럼 속도와 누설 전력이 맞바뀌는 선택지를 같은 기능에 여러 개 준비해 둡니다.
설계 도구는 이 선택지를 자동으로 바꿔 가며 최적화합니다. 타이밍이 빠듯한 경로에는 빠른 셀을, 여유가 있는 경로에는 누설이 작은 셀을 배치하는 식입니다.
그래서 이름이 같은 셀이면 공정이 달라도 바꿔 끼울 수 있다는 생각은 틀린 이해입니다. 셀의 레이아웃은 특정 공정의 디자인 룰에 맞춰 그려졌고 타이밍 표는 그 공정의 소자 모델에서 나왔기 때문에, 공정을 옮기면 라이브러리도 새로 만들어야 합니다.
설계 흐름에서 쓰이는 순서
PDK와 라이브러리는 설계의 처음부터 끝까지 따라다닙니다. 단계마다 어떤 데이터를 꺼내 쓰는지 따라가면 둘의 역할이 구분됩니다.
설계 흐름과 사용 데이터
- 합성 단계에서 타이밍 라이브러리를 읽고, 논리를 지연과 면적 목표에 맞는 표준 셀로 바꿉니다.
- 플로어플랜과 배치 단계에서 LEF의 크기와 핀 정보로 셀을 행 위에 놓습니다.
- 클록 트리 합성과 배선 단계에서 기술 파일의 금속층과 비아 규칙을 따라 연결합니다.
- 기생 성분을 추출한 뒤 코너별 라이브러리로 타이밍과 전력을 사인오프합니다.
- PDK의 DRC와 LVS 룰셋으로 물리 검증을 하고, 통과한 GDSII를 테이프아웃합니다.
어느 단계에서든 한쪽만 바뀌면 다른 쪽이 맞지 않습니다. 설계 도중 PDK 버전이 올라가면 라이브러리와 룰셋을 함께 갱신하고, 이미 끝낸 단계를 어디까지 다시 돌릴지 판단하는 것도 설계 관리의 일입니다.
PDK 표준 셀 라이브러리 비교 표
| 구분 | PDK | 표준 셀 라이브러리 |
|---|---|---|
| 주로 만드는 곳 | 공정을 가진 파운드리 | 파운드리 또는 IP 업체 |
| 담는 내용 | 소자 모델, 디자인 룰, 기술 파일, 검증 룰셋 | 논리 셀의 타이밍, 물리 정보, 레이아웃, 모델 |
| 다루는 수준 | 트랜지스터와 금속층 | 게이트와 플립플롭 |
| 주로 쓰는 단계 | 회로 설계, 레이아웃, 물리 검증 | 합성, 배치와 배선, 타이밍 사인오프 |
| 달라지는 때 | 공정이 개선되어 버전이 올라갈 때 | 트랙 수, 문턱전압, 용도(고속과 저전력)에 따라 여러 종류 |
| 놓치기 쉬운 점 | 룰 문서로만 보면 소자 모델을 놓침 | 공정이 바뀌면 그대로 쓸 수 없음 |
핵심 정리
PDK는 공정이 허락하는 범위를 알려 주는 규칙과 모델의 묶음이고, 표준 셀 라이브러리는 그 범위 안에서 미리 검증해 둔 논리 부품 상자입니다. 둘이 맞물릴 때 설계자는 트랜지스터가 아니라 게이트 단위로 칩을 쌓을 수 있으며, 그래서 PDK 표준 셀 라이브러리의 버전과 조건을 맞추는 일이 설계의 출발점이 됩니다.
본사의 규격집과 반조리 재료로 비유하면 점주는 처음부터 만들지 않아도 됩니다. 칩에서는 이 규격이 공정과 코너에 묶여 있어, 공정이 바뀌면 규격집과 재료를 모두 새로 받아 와야 합니다.
면접 대비 질문
면접 대비 질문PDK에는 어떤 것이 들어 있는지, 표준 셀 라이브러리와는 무엇이 다른지 설명하고, 공정을 바꿀 때 무엇을 다시 준비해야 하는지 말해 보세요.
[답변 포인트] PDK는 파운드리가 제공하는 소자 모델, 디자인 룰, 기술 파일, DRC와 LVS 룰셋 같은 공정 수준의 데이터라고 정리하며 시작합니다. 표준 셀 라이브러리는 같은 높이와 전원 레일 규칙을 따르는 논리 셀의 모음이고, 타이밍(.lib), 물리 정보(LEF), 레이아웃(GDSII), 논리 모델, 네트리스트를 함께 갖는다고 구분합니다. 라이브러리의 타이밍 값이 PDK 소자 모델로 특성화된 결과라는 점, 그래서 공정을 바꾸면 라이브러리를 새로 만들고 코너별 사인오프와 물리 검증을 다시 해야 한다는 점으로 마무리하면 좋습니다.









