배선
배치가 끝나면 셀 핀 수천만 개 사이를 실제 금속선으로 이어야 한다. 배선기(Router)는 10~15층의 금속 위에서, 각 층에 정해진 방향과 피치를 지키며, 서로 단락되지 않게, 그리고 타이밍과 혼잡을 생각하며 길을 찾는다. 칩 면적을 결정하는 것은 트랜지스터가 아니라 배선 자원인 경우가 많다. 이 장에서는 배선기가 길을 찾는 알고리즘을 직접 돌려 본다.
- 금속 스택의 구성(로컬·중간·전역 층)과 층마다 선호 방향·피치가 다른 이유를 설명한다.
- 전역 배선(GCell, 용량·수요)과 상세 배선(트랙, 설계 규칙)의 역할을 구분한다.
- Lee 미로 탐색으로 최단 경로를 찾고, 비아 비용과 A* 휴리스틱의 효과를 확인한다.
- 넷 순서 문제와 협상 기반 립업·리라우트(PathFinder)가 혼잡을 푸는 원리를 이해한다.
- 배선 규칙(간격, 비아, 멀티 패터닝 색, 안테나)과 기생 추출로 이어지는 흐름을 안다.
금속 스택: 층마다 다른 역할
트랜지스터 위에는 텅스텐 콘택, 그 위로 구리(최하층은 코발트·루테늄도 쓴다) 배선층이 쌓인다. 아래층은 가늘고 촘촘해 셀 안·셀 사이 짧은 연결에, 위층은 두껍고 성겨 긴 신호·클럭·전원에 쓴다. 층마다 선호 방향이 수평·수직으로 번갈아 정해져 있어, 한 층 안에서는 같은 방향의 선만 촘촘히 깔고 방향을 바꿀 때는 비아로 위아래 층을 오간다. 단면 공정은 ProcessBook 11장(듀얼 다마신)에서 다룬다.
| 층 묶음 | 피치 (대략) | 단위 저항 | 단위 커패시턴스 | 쓰임 |
|---|---|---|---|---|
| 로컬 (M1~M2, 첨단 공정) | ~20~40 nm | 수십~수백 Ω/µm | ~0.2 fF/µm | 셀 안, 핀 접근 |
| 로컬 (EDU45 M1~M2) | 140 nm | ~1.2 Ω/µm | ~0.2 fF/µm | 셀 안, 이웃 셀 |
| 중간 (2×) | ~2× 기준 | ~0.25 Ω/µm | ~0.2 fF/µm | 블록 안 수백 µm |
| 전역 (4~10×) | ~0.5~수 µm | ~0.02 Ω/µm | ~0.25 fF/µm | mm급 신호, 클럭, 전원 |
커패시턴스가 층에 거의 무관한 것이 흥미롭다. 선이 넓어지면 아래층과의 면적 커패시턴스는 늘지만 간격도 넓어져 옆 선과의 결합이 줄기 때문이다. 그래서 긴 배선의 RC 지연을 줄이는 열쇠는 저항, 즉 층 선택이다(8장 리피터 시뮬레이터에서 확인).
전역 배선과 상세 배선
수천만 넷을 한 번에 트랙 단위로 풀 수는 없다. 배선은 두 단계로 나뉜다.
- 전역 배선(Global routing): 칩을 수 µm 크기의 GCell 격자로 나누고, 각 넷이 어느 GCell들을 지날지만 정한다. GCell 경계마다 지날 수 있는 트랙 수(용량)가 있고, 지나는 넷 수(수요)가 용량을 넘으면 오버플로다.
- 상세 배선(Detailed routing): 전역 경로가 지정한 GCell 안에서 실제 트랙·비아 위치를 정하고, 폭·간격·비아 둘러싸기·멀티 패터닝 색 등 모든 설계 규칙을 지킨다. 끝에 남은 규칙 위반을 고치는 수리(search-and-repair) 단계가 길다.
두 단계 모두 핵심은 “장애물을 피해 두 점을 잇는 최소 비용 경로”라는 그래프 탐색이다. 가장 오래되고 확실한 방법부터 보자.
Lee 알고리즘: 물결처럼 퍼지는 탐색
1961년 C. Y. Lee가 제안한 미로 배선(Maze routing)은 격자 위 너비 우선 탐색이다. 출발 칸에 0을 쓰고, 이웃한 빈 칸에 1, 그 이웃에 2… 하고 물결이 퍼지듯 번호를 매기다가 도착 칸에 닿으면, 번호가 1씩 작아지는 방향으로 거꾸로 따라가며 경로를 그린다(역추적). 길이 있으면 반드시 최단 경로를 찾는다는 것이 장점이고, 탐색 칸이 많아 느리다는 것이 단점이다. 비용을 칸마다 다르게 주면(층 바꿈·혼잡) 다익스트라가 되고, 목표까지의 맨해튼 거리를 더해 탐색 순서를 정하면 A*가 된다.
미로 배선기: 파면 확장과 역추적
여러 넷: 순서의 문제와 협상
넷 하나는 미로 탐색으로 최적으로 풀린다. 문제는 넷이 여럿일 때다. 먼저 배선한 넷이 가장 짧은 길을 차지하면 나중 넷은 막혀 돌아가거나 아예 실패한다. 어떤 순서가 좋은지 미리 알 수 없고, 넷 수가 많으면 순서를 모두 시도할 수도 없다.
현대 배선기의 해법은 겹침을 일단 허용하고 값을 올리는 것이다. FPGA 배선을 위해 1995년 McMurchie·Ebeling이 제안한 PathFinder(협상 기반 혼잡 제거)는 모든 넷을 겹쳐도 되도록 배선한 뒤, 여러 넷이 함께 쓰는 칸의 비용을 올리고, 모든 넷을 뜯어(립업) 다시 배선한다. 이를 반복하면 꼭 그 칸이 필요한 넷만 남고 나머지는 스스로 비켜 간다.
순차 배선 vs 협상 기반 립업·리라우트
혼잡도 지도
전역 배선이 끝나면 GCell마다 수요/용량 비를 칠한 혼잡도 지도를 본다. 붉은 곳이 넓게 퍼져 있으면 상세 배선에서 규칙 위반과 우회가 폭발하고, 타이밍도 무너진다. 원인은 대개 배치에 있다. 셀이 너무 빽빽하거나(이용률), 핀이 많은 셀(MUX, 플립플롭, 큰 AOI)이 모여 있거나, 매크로 사이 좁은 통로로 많은 넷이 지나가는 경우다. 그래서 배치기는 혼잡을 예측해 셀을 흩고(혼잡 인지 배치, 5장), 설계자는 매크로 배치와 이용률을 조정한다.
배치 밀도 → 전역 배선 혼잡도
배선 규칙과 그다음
상세 배선기가 지켜야 하는 규칙은 공정 세대마다 늘어났다. 대표적인 것들과 그 공정적 이유는 다음과 같다(자세한 검사는 10장).
| 규칙 | 내용 | 공정 쪽 이유 |
|---|---|---|
| 최소 폭·간격 | 트랙 피치 = 폭 + 간격 | 노광 해상도, 구리 CMP 잔류물에 의한 단락 (PB 10장) |
| 넓은 선 간격 | 폭이 넓은 선 옆은 간격을 더 넓게 | CMP 디싱, 패턴 밀도 |
| 선 끝 간격 (EOL) | 선 끝과 옆 선 사이 간격 강화 | 선 끝 후퇴·둥글림 (11장 OPC) |
| 비아 둘러싸기·더블 비아 | 비아 주위 금속 여유, 중요 넷은 비아 2개 | 오버레이 오차, 비아 불량 확률 |
| 멀티 패터닝 색 | 같은 마스크(색) 선끼리 더 넓은 간격 | LELE·SADP로 한 층을 2~4장 마스크로 (PB 5장) |
| 안테나 비율 | 게이트에 연결된 금속 면적/게이트 면적 제한 | 플라즈마 식각 중 전하가 쌓여 게이트 절연막 손상 (PB 6장) |
| 최소 면적·밀도 | 작은 금속 조각 금지, 창마다 밀도 범위 | CMP 균일도, 더미 필 (PB 10장) |
배선이 끝나면 실제 금속 모양에서 저항·커패시턴스를 계산하는 기생 추출(SPEF 파일)을 하고, 그 값으로 타이밍을 다시 계산한다(8장). 결합 커패시턴스가 큰 민감한 넷(클럭, 비동기 리셋)은 양옆에 접지선을 깔아 차폐하거나 간격을 두 배로 넓히는 비기본 규칙(NDR)으로 배선한다.
직접 배선해 보기
한 층에서 교차 없이 모든 넷을 잇는 15장 배선 퍼즐을 풀어 보자. 순서 문제를 손으로 겪을 수 있다.
핵심 정리
- 금속층은 위로 갈수록 두껍고 성글며, 층마다 선호 방향이 번갈아 있고 방향을 바꿀 때 비아를 쓴다.
- 전역 배선은 GCell 단위로 경로와 혼잡을 정하고, 상세 배선은 트랙 위에서 모든 규칙을 지킨다.
- Lee 알고리즘은 너비 우선 파면 확장으로 최단 경로를 보장한다. 비용을 주면 다익스트라, 거리 휴리스틱을 더하면 A*.
- 여러 넷은 순서에 따라 결과가 달라진다. PathFinder는 겹침을 허용하고 혼잡 비용을 올려 반복하며 푼다.
- 혼잡의 원인은 대개 배치(이용률, 핀 밀집, 매크로 통로)에 있다. 층을 늘리는 해법은 마스크 비용으로 돌아온다.
확인 퀴즈
Lee 알고리즘의 가장 큰 장점은?
PathFinder 방식에서 반복마다 누적되는 '이력 비용'의 역할은?
긴 전역 신호를 위층 두꺼운 금속으로 보내는 주된 이유는?
안테나 규칙이 막으려는 공정 문제는?