Chapter 07

배선

배치가 끝나면 셀 핀 수천만 개 사이를 실제 금속선으로 이어야 한다. 배선기(Router)는 10~15층의 금속 위에서, 각 층에 정해진 방향과 피치를 지키며, 서로 단락되지 않게, 그리고 타이밍과 혼잡을 생각하며 길을 찾는다. 칩 면적을 결정하는 것은 트랜지스터가 아니라 배선 자원인 경우가 많다. 이 장에서는 배선기가 길을 찾는 알고리즘을 직접 돌려 본다.

금속 스택: 층마다 다른 역할

트랜지스터 위에는 텅스텐 콘택, 그 위로 구리(최하층은 코발트·루테늄도 쓴다) 배선층이 쌓인다. 아래층은 가늘고 촘촘해 셀 안·셀 사이 짧은 연결에, 위층은 두껍고 성겨 긴 신호·클럭·전원에 쓴다. 층마다 선호 방향이 수평·수직으로 번갈아 정해져 있어, 한 층 안에서는 같은 방향의 선만 촘촘히 깔고 방향을 바꿀 때는 비아로 위아래 층을 오간다. 단면 공정은 ProcessBook 11장(듀얼 다마신)에서 다룬다.

M1 · M3 (수평, 피치 ~140 nm in EDU45) M2 (수직) — 로컬: 셀 안 · 이웃 셀 M3~M5 중간층: 블록 안 신호 M6~M9 (2× 두께·피치): 블록 사이 신호, 클럭 M10~M11 (4×): 긴 전역 신호, 클럭 스파인 최상층 (10×, 두께 수 µm): 전원망, 범프 재배선 실리콘 · 트랜지스터 (FEOL)
그림 07-1. 금속 스택(개념도, 축척 아님). 위로 갈수록 두께와 피치가 커져 단위 길이 저항이 작아진다. 전원망은 가장 두꺼운 위층에서 내려와 표준 셀 행의 M1 레일까지 비아 기둥으로 이어진다(9장). 후면 전력 공급(BSPDN)에서는 전원망이 웨이퍼 뒤쪽으로 옮겨 간다(ProcessBook 13장).
층 묶음피치 (대략)단위 저항단위 커패시턴스쓰임
로컬 (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/µmmm급 신호, 클럭, 전원

커패시턴스가 층에 거의 무관한 것이 흥미롭다. 선이 넓어지면 아래층과의 면적 커패시턴스는 늘지만 간격도 넓어져 옆 선과의 결합이 줄기 때문이다. 그래서 긴 배선의 RC 지연을 줄이는 열쇠는 저항, 즉 층 선택이다(8장 리피터 시뮬레이터에서 확인).

전역 배선과 상세 배선

수천만 넷을 한 번에 트랙 단위로 풀 수는 없다. 배선은 두 단계로 나뉜다.

두 단계 모두 핵심은 “장애물을 피해 두 점을 잇는 최소 비용 경로”라는 그래프 탐색이다. 가장 오래되고 확실한 방법부터 보자.

Lee 알고리즘: 물결처럼 퍼지는 탐색

1961년 C. Y. Lee가 제안한 미로 배선(Maze routing)은 격자 위 너비 우선 탐색이다. 출발 칸에 0을 쓰고, 이웃한 빈 칸에 1, 그 이웃에 2… 하고 물결이 퍼지듯 번호를 매기다가 도착 칸에 닿으면, 번호가 1씩 작아지는 방향으로 거꾸로 따라가며 경로를 그린다(역추적). 길이 있으면 반드시 최단 경로를 찾는다는 것이 장점이고, 탐색 칸이 많아 느리다는 것이 단점이다. 비용을 칸마다 다르게 주면(층 바꿈·혼잡) 다익스트라가 되고, 목표까지의 맨해튼 거리를 더해 탐색 순서를 정하면 A*가 된다.

SIMULATOR

미로 배선기: 파면 확장과 역추적

끌어서 장애물 그리기 · S/T 끌어 옮기기
탐색한 칸—
경로 길이—
비아 수—
경로 비용—
해볼 것: ① Lee로 한 번, A*로 한 번 돌려 탐색한 칸 수를 비교하자. 경로 길이는 같지만 A*는 목표 쪽으로만 파면을 뻗는다. ② 장애물로 ㄷ자 함정을 만들면 A*도 함정 안을 다 훑은 뒤에야 빠져나온다. 휴리스틱은 보장이 아니라 힌트다. ③ 2층 모드에서 한 층은 수직, 다른 층은 수평으로만 움직일 수 있다. 방향을 바꿀 때마다 비아가 생기므로 비아 비용을 높이면 꺾임이 적은 경로를 고른다. 비아는 저항이 크고 불량 확률이 있어 실제 배선기도 비용을 준다(중요 넷에는 비아를 두 개씩 박는 더블 비아). (셀 = 트랙 하나)

여러 넷: 순서의 문제와 협상

넷 하나는 미로 탐색으로 최적으로 풀린다. 문제는 넷이 여럿일 때다. 먼저 배선한 넷이 가장 짧은 길을 차지하면 나중 넷은 막혀 돌아가거나 아예 실패한다. 어떤 순서가 좋은지 미리 알 수 없고, 넷 수가 많으면 순서를 모두 시도할 수도 없다.

현대 배선기의 해법은 겹침을 일단 허용하고 값을 올리는 것이다. FPGA 배선을 위해 1995년 McMurchie·Ebeling이 제안한 PathFinder(협상 기반 혼잡 제거)는 모든 넷을 겹쳐도 되도록 배선한 뒤, 여러 넷이 함께 쓰는 칸의 비용을 올리고, 모든 넷을 뜯어(립업) 다시 배선한다. 이를 반복하면 꼭 그 칸이 필요한 넷만 남고 나머지는 스스로 비켜 간다.

$$\text{cost}(n) = \big(b_n + h_n\big)\cdot p_n,\qquad p_n = 1 + p_{\text{fac}}\cdot \max(0,\ \text{occ}_n + 1 - \text{cap}_n),\qquad h_n \mathrel{+}= h_{\text{fac}}\cdot \text{overuse}_n$$
\(b_n\) 기본 비용, \(p_n\) 현재 혼잡 벌점(이번 반복), \(h_n\) 혼잡 이력(반복마다 누적). 이력이 쌓인 칸은 “늘 붐비는 곳”으로 기억되어 점점 피하게 된다.
SIMULATOR

순차 배선 vs 협상 기반 립업·리라우트

순차 배선 순서
완료한 넷—
겹친 칸 (오버플로)—
총 배선 길이—
반복—
해볼 것: ① 순차 모드에서 순서를 바꿔 가며 배선해 보자. 같은 문제가 순서에 따라 풀리기도 하고 실패하기도 한다(빨간 점선 = 실패한 넷의 핀). ② PathFinder로 바꾸고 배선을 누르면 처음엔 많은 칸이 겹친다(빨강). 한 번 반복을 누를 때마다 겹친 칸의 값이 올라 넷들이 흩어지고, 몇 번 만에 겹침이 0이 된다. ③ 대가는 약간 늘어난 총 길이다. 혼잡 해소는 길이를 조금 내주고 실패를 없애는 거래다. (격자 22 × 16, 칸마다 용량 1, 2핀 넷)

혼잡도 지도

전역 배선이 끝나면 GCell마다 수요/용량 비를 칠한 혼잡도 지도를 본다. 붉은 곳이 넓게 퍼져 있으면 상세 배선에서 규칙 위반과 우회가 폭발하고, 타이밍도 무너진다. 원인은 대개 배치에 있다. 셀이 너무 빽빽하거나(이용률), 핀이 많은 셀(MUX, 플립플롭, 큰 AOI)이 모여 있거나, 매크로 사이 좁은 통로로 많은 넷이 지나가는 경우다. 그래서 배치기는 혼잡을 예측해 셀을 흩고(혼잡 인지 배치, 5장), 설계자는 매크로 배치와 이용률을 조정한다.

SIMULATOR

배치 밀도 → 전역 배선 혼잡도

최대 수요/용량—
오버플로 GCell—
총 오버플로—
해볼 것: ① 이용률을 0.85 이상으로 올리면 오버플로가 급증한다. 셀 면적은 몇 %만 늘었는데 배선은 실패한다. ② 매크로 사이 통로에 수요가 몰리는 것을 확인하자. 매크로 주위에 배치 금지 띠(halo)를 두는 이유다. ③ 층을 늘리면 용량이 늘어 혼잡이 풀리지만 금속층 하나는 마스크 2~3장과 공정 수십 단계다(12장). 배선층 수는 칩 원가와 바로 연결된다. (32 × 32 GCell. 넷 수요는 셀 밀도·핀 밀도에서, 각 넷을 L자 두 경로로 반씩 나눠 확률적으로 배분한 교육용 모델)

배선 규칙과 그다음

상세 배선기가 지켜야 하는 규칙은 공정 세대마다 늘어났다. 대표적인 것들과 그 공정적 이유는 다음과 같다(자세한 검사는 10장).

규칙내용공정 쪽 이유
최소 폭·간격트랙 피치 = 폭 + 간격노광 해상도, 구리 CMP 잔류물에 의한 단락 (PB 10장)
넓은 선 간격폭이 넓은 선 옆은 간격을 더 넓게CMP 디싱, 패턴 밀도
선 끝 간격 (EOL)선 끝과 옆 선 사이 간격 강화선 끝 후퇴·둥글림 (11장 OPC)
비아 둘러싸기·더블 비아비아 주위 금속 여유, 중요 넷은 비아 2개오버레이 오차, 비아 불량 확률
멀티 패터닝 색같은 마스크(색) 선끼리 더 넓은 간격LELE·SADP로 한 층을 2~4장 마스크로 (PB 5장)
안테나 비율게이트에 연결된 금속 면적/게이트 면적 제한플라즈마 식각 중 전하가 쌓여 게이트 절연막 손상 (PB 6장)
최소 면적·밀도작은 금속 조각 금지, 창마다 밀도 범위CMP 균일도, 더미 필 (PB 10장)

배선이 끝나면 실제 금속 모양에서 저항·커패시턴스를 계산하는 기생 추출(SPEF 파일)을 하고, 그 값으로 타이밍을 다시 계산한다(8장). 결합 커패시턴스가 큰 민감한 넷(클럭, 비동기 리셋)은 양옆에 접지선을 깔아 차폐하거나 간격을 두 배로 넓히는 비기본 규칙(NDR)으로 배선한다.

직접 배선해 보기

도전 과제

한 층에서 교차 없이 모든 넷을 잇는 15장 배선 퍼즐을 풀어 보자. 순서 문제를 손으로 겪을 수 있다.

핵심 정리

  1. 금속층은 위로 갈수록 두껍고 성글며, 층마다 선호 방향이 번갈아 있고 방향을 바꿀 때 비아를 쓴다.
  2. 전역 배선은 GCell 단위로 경로와 혼잡을 정하고, 상세 배선은 트랙 위에서 모든 규칙을 지킨다.
  3. Lee 알고리즘은 너비 우선 파면 확장으로 최단 경로를 보장한다. 비용을 주면 다익스트라, 거리 휴리스틱을 더하면 A*.
  4. 여러 넷은 순서에 따라 결과가 달라진다. PathFinder는 겹침을 허용하고 혼잡 비용을 올려 반복하며 푼다.
  5. 혼잡의 원인은 대개 배치(이용률, 핀 밀집, 매크로 통로)에 있다. 층을 늘리는 해법은 마스크 비용으로 돌아온다.

확인 퀴즈

Lee 알고리즘의 가장 큰 장점은?

너비 우선 탐색이므로 처음 도착한 순간의 거리가 최단 거리다. 대신 탐색 칸이 많아 느리다.

PathFinder 방식에서 반복마다 누적되는 '이력 비용'의 역할은?

현재 혼잡 벌점만 쓰면 넷들이 같은 칸을 번갈아 차지하며 진동할 수 있다. 이력이 쌓이면 그 칸을 꼭 필요로 하는 넷만 남는다.

긴 전역 신호를 위층 두꺼운 금속으로 보내는 주된 이유는?

층별 커패시턴스는 비슷하다. 단면적이 큰 위층은 저항이 수십 배 작다.

안테나 규칙이 막으려는 공정 문제는?

게이트에만 연결된 금속은 아직 확산(방전 경로)과 이어지지 않아, 금속이 넓을수록 모은 전하가 얇은 게이트 절연막으로 흐른다. 다이오드를 달거나 위층으로 점프해 해결한다.