EDA 입문
12

칩 설계 노트 — FEOL to Package

edasemiconductorprocesspdkphysical-design
DIE NOTES · REV 01 · TOPLEVEL = CHIP_DESIGN

실리콘 한 장에
새겨지는 것들

트랜지스터부터 패키지 핀까지 — FEOL, BEOL, PDK, Standard Cell, SRAM, IO, Macro, Die, Package를 하나의 floorplan처럼 훑어보는 학습 노트.

7.1

FEOL

Front‑End Of Line — 칩 제조의 가장 안쪽 단계

FEOL은 Front-End Of Line의 줄임말로, 주로 transistor 자체를 만드는 공정 단계입니다.

한 줄 정의

FEOL은 칩 위에 “스위치”를 만드는 영역이다.

포함되는 공정

well 형성isolationgate oxide gatesource/drain dopingtransistor formation
7.2

MOL

Middle‑End Of Line — FEOL과 BEOL을 잇는 다리

가끔 MOL이라는 말도 나옵니다. Middle-End Of Line입니다.

FEOL과 BEOL 사이에서 transistor와 배선을 연결하는 contact 구조를 다룹니다.

contactlocal interconnecttransistor terminal ↔ metal 연결
7.3

BEOL

Back‑End Of Line — 배선이 성능을 좌우하는 영역

BEOL은 Back-End Of Line으로, 주로 metal interconnect를 만드는 단계입니다.

포함되는 것

metal layersviasglobal routing power gridclock networksignal routing
왜 중요한가

트랜지스터 자체는 빨라져도, 배선이 길고 복잡하면 RC delay가 커집니다. 예전에는 gate delay가 중요했다면, 현대 고집적 칩에서는 wire delay와 interconnect가 매우 중요해졌습니다.

Physical design, STA, extraction, IR drop, EM 같은 것들은 모두 BEOL과 강하게 연결되어 있습니다.

8

PDK란 무엇인가

Process Design Kit — 설계와 제조 사이의 계약서

8.1 정의

PDK는 Process Design Kit입니다. 특정 foundry의 특정 공정에서 칩을 설계하기 위해 필요한 설계 키트입니다.

쉽게 말하면

“이 공정에서 칩을 만들려면 이런 규칙과 모델을 따라라”라는 패키지. PDK 없이 실제 칩 설계는 거의 불가능합니다.

8.2 PDK에 들어있는 것

design rulelayer mapdevice model SPICE modelDRC rule deckLVS rule deck extraction rule deckparasitic model standard cell library 정보IO library memory compiler 정보reliability rule antenna rulefill rulemetal stack option EM/IR rule

디지털 설계자에게는 PDK가 직접적으로 안 보일 때도 있지만, standard cell library, LEF/DEF, Liberty, tech LEF, RC corner 등으로 계속 영향을 줍니다.

8.3 왜 PDK가 중요한가

PDK는 설계와 제조 사이의 계약서입니다. 설계자는 PDK 규칙을 따라 layout을 만들고, Fab은 그 규칙을 만족하는 layout이면 일정 수준 이상으로 제조 가능하다고 보장합니다.

design rule을 어기면
  • 패턴이 제대로 형성되지 않을 수 있음
  • short / open 발생 가능
  • transistor 특성이 틀어질 수 있음
  • yield 하락
  • 신뢰성 문제
  • tape-out 실패

8.4 PDK와 EDA tool의 관계

EDA tool은 PDK를 읽어서 설계를 수행합니다. 즉 EDA tool은 혼자 똑똑한 게 아니라, PDK와 library 정보를 기반으로 움직입니다.

  1. synthesis — standard cell library의 timing/power/area 정보를 읽고, RTL을 gate-level netlist로 변환
  2. place & route — cell의 physical dimension, routing layer와 design rule을 읽어 placement/routing 수행
  3. STA — Liberty timing model, RC extraction corner, SDC constraint, parasitic SPEF, clock model 사용
  4. DRC / LVS — rule deck을 사용해서 제조 규칙과 회로 일치성 검증
9

Standard Cell

디지털 설계를 자동화하는 핵심 추상화

9.1 standard cell이란

미리 설계된 작은 논리 회로 블록입니다.

inverterNANDNORANDORXOR MUXD flip-floplatchbuffer clock buffertie cellfiller cell decap cellisolation celllevel shifter

디지털 ASIC 설계에서는 RTL을 바로 transistor layout으로 바꾸지 않습니다. 대신 synthesis tool이 RTL을 standard cell들의 조합으로 변환합니다.

assign y = ~(a & b);

이건 NAND2 standard cell 하나로 mapping될 수 있습니다.

9.2 왜 standard cell을 쓰는가

직접 transistor 단위로 모든 회로를 만들면 너무 어렵습니다. Standard cell은 이미 검증된 building block입니다.

  • layout이 검증되어 있음
  • timing model이 있음
  • power model이 있음
  • area가 정해져 있음
  • DRC/LVS clean
  • P&R tool이 자동 배치 가능
  • cell height가 통일되어 row 기반 배치 가능

즉 standard cell은 디지털 설계를 자동화하기 위한 핵심 추상화입니다.

9.3 standard cell library

여러 standard cell의 모음이며, 하나의 library에는 다양한 drive strength와 Vth 옵션이 있습니다.

INV_X1INV_X2INV_X4 NAND2_X1NAND2_X4DFF_X1 BUF_X8CLKBUF_X16

X1, X2, X4는 보통 drive strength를 뜻합니다.

Drive strength ↑

  • 더 큰 load를 빠르게 구동 가능
  • delay 감소
  • area 증가
  • power 증가

Drive strength ↓

  • area 작음
  • power 작음
  • 큰 load 구동 어려움
  • delay 증가

EDA optimization은 이런 cell 선택을 계속 조절합니다.

9.4 standard cell의 physical structure

Standard cell은 일정한 높이를 갖습니다. P&R tool이 cell들을 row에 줄 세워 배치해야 하기 때문입니다.

transistor layoutlocal interconnect input/output pinVDD railVSS rail

여러 cell이 같은 row에 배치되면 VDD/VSS rail이 이어지고, 위쪽 metal layer로 signal routing이 지나갑니다. 이 구조 덕분에 수백만~수십억 개 transistor를 자동으로 배치할 수 있습니다.

10

SRAM

Static Random Access Memory — 면적 효율의 싸움

10.1 SRAM이란

CPU cache, buffer, register file 등에 많이 쓰입니다. SRAM은 보통 logic synthesis로 만들지 않고, memory compilerpre-designed macro를 사용합니다.

10.2 SRAM bitcell

가장 기본적인 SRAM은 6T bitcell 구조를 가집니다. 6T는 transistor 6개라는 뜻입니다.

cross-coupled inverter × 2access transistor × 2

SRAM은 매우 조밀하게 만들어야 하므로 일반 standard cell과는 다른 layout 최적화가 필요합니다.

10.3 왜 SRAM은 macro인가

SRAM은 면적 효율이 매우 중요합니다. 만약 수 MB SRAM을 standard cell flop으로 만들면 면적과 전력이 터집니다.

SRAM macro는 다음을 포함한 완성된 memory block입니다.

bitcell arraywordline driverbitline sense amplifierdecoderwrite drivercontrol logic

EDA flow에서는 SRAM을 보통 black box 또는 macro로 취급하며, physical design에서는 floorplan 단계에서 적절히 배치하고 그 주변으로 standard cell logic을 배치합니다.

10.4 SRAM이 EDA에 주는 영향

SRAM macro = 크고 단단한 블록
  • placement blockage 발생
  • routing channel 필요
  • timing path가 SRAM port를 지나감
  • power grid 연결 중요
  • IR drop 영향 큼
  • macro 주변 congestion 발생
  • floorplan 품질에 큰 영향

그래서 physical design에서 macro placement는 매우 중요합니다.

11

IO

칩 내부와 바깥 세계의 경계

11.1 IO란

칩 내부와 외부 세계를 연결하는 회로입니다. 칩 내부 logic은 보통 낮은 전압(0.7V, 0.8V, 1.0V 등)에서 동작하지만, 외부 interface는 더 높은 전압이나 다른 전기적 특성을 요구할 수 있습니다.

1.8V3.3VPCIeDDRUSBGPIO

IO cell은 이런 외부 연결을 담당합니다.

11.2 IO cell의 역할

IO cell은 단순히 wire가 아닙니다.

input bufferoutput driverESD protection level shiftingslew controlpull-up/pull-down tri-statepad connectionvoltage domain isolation
특히 중요

ESD protection — 외부 pin으로 정전기나 과전압이 들어오면 내부 transistor가 쉽게 망가질 수 있습니다. IO cell은 이를 막는 보호 구조를 포함합니다.

11.3 IO ring

칩 가장자리에는 IO pad들이 배치되며, 이를 IO ring이라고 부릅니다. 다이 중앙에는 core logic이 있고, 가장자리에는 package pin과 연결되는 pad/IO가 있습니다. 최신 advanced packaging에서는 구조가 더 복잡해질 수 있지만, 기본 개념은 이렇습니다.

12

Macro

standard cell보다 큰, 미리 설계된 블록

12.1 macro란

SRAMROMPLLADC/DACPHY SerDesCPU coreGPU blockNPU blockthird-party IP

Macro는 내부가 이미 설계되어 있고, 상위 SoC에서는 하나의 큰 블록처럼 사용됩니다.

12.2 hard macro와 soft macro

Hard macro

  • layout까지 고정된 블록
  • GDS/LEF 등 physical view 제공
  • 크기와 pin 위치가 정해져 있음
  • SRAM, PLL, PHY 등에 흔함

Soft macro

  • RTL 형태로 제공
  • synthesis/P&R 가능
  • CPU core, IP block 등이 soft로 제공될 수 있음
중간 형태

Firm macro — hard와 soft 중간으로, 어느 정도 구조나 floorplan이 정해진 형태입니다.

EDA flow에서 hard macro는 floorplan의 핵심 제약입니다.

12.3 macro가 어려운 이유

단순히 큰 block이 아니다
  • pin 위치가 고정
  • 주변 routing congestion 발생
  • power delivery 고려 필요
  • timing path가 macro를 드나듦
  • placement blockage
  • DRC issue 발생 가능
  • clock/reset distribution 고려
  • voltage domain 문제

좋은 floorplan은 macro 배치를 잘하는 것에서 시작합니다.

13

Die

wafer에서 잘라낸 진짜 칩 조각

13.1 die란

Die는 wafer 위에서 잘라낸 개별 칩 조각입니다. 우리가 흔히 “칩”이라고 부르는 실제 실리콘 조각이 바로 die입니다.

하나의 wafer 위에는 동일한 die가 여러 개 반복해서 만들어지고, 제조 후 wafer를 잘라서 개별 die로 분리합니다. 이것을 dicing이라고 합니다.

13.2 die 안에는 무엇이 있는가

core logicmemory macroanalog block IO padpower gridclock network test structureseal ringscribe line 근처 구조
die size의 의미

Die size는 비용과 yield에 직접 영향을 줍니다.

큰 die일수록
  • 한 wafer에서 얻을 수 있는 die 수가 줄어듦
  • defect에 맞을 확률 증가
  • yield 하락
  • 비용 증가

그래서 area optimization은 단순히 “작게 만들면 좋다”가 아니라, 경제성과 직결되는 문제입니다.

14

Package

die를 보호하고 세상과 연결하는 마지막 단계

14.1 package란

Die 자체는 매우 작고 취약해서 외부 PCB에 직접 붙여 쓰기 어렵습니다. Package는 die를 외부 시스템과 연결하고 보호하는 구조입니다.

  • die 보호
  • 외부 pin/ball 제공
  • 전원 공급
  • 신호 연결
  • 열 방출
  • 기계적 지지
  • 테스트/조립 편의성

14.2 package의 종류

QFNBGAflip-chip BGAWLCSP 2.5D package3D packagechiplet packageCoWoS

고성능 칩에서는 package가 성능에 매우 큰 영향을 줍니다.

power deliverysignal integritythermal high-speed IOmemory bandwidth

이런 이유로 package 설계가 점점 중요해지고 있습니다.

14.3 wire bonding과 flip-chip

Wire bonding

  • die의 pad와 package lead를 금선/알루미늄선으로 연결
  • 전통적이고 비교적 저렴
  • 고성능에는 제한

Flip-chip

  • die를 뒤집어서 bump로 package substrate에 직접 연결
  • 전원/신호 연결이 더 좋음
  • 고성능 칩에 많이 사용

EDA/physical design에서도 bump, RDL, package-aware planning 같은 이슈가 생깁니다.

↑ floorplan 맨 위로
DIE NOTES · FEOL → MOL → BEOL → PDK → STDCELL → SRAM → IO → MACRO → DIE → PACKAGE
개인 학습용 정리 노트