Chapter 14

배선: 칩 안의 도로

칩 안의 트랜지스터 수십억 개는 혼자서는 아무 일도 하지 못한다. 서로 이어져야 비로소 계산이 된다. 그 연결을 맡는 것이 트랜지스터 위에 열 몇 층으로 쌓인 금속 배선이다. 손톱만 한 칩 하나에 깔린 배선을 한 줄로 이으면 수십 km가 넘는다(약). 지난 30년 동안 트랜지스터는 작아질수록 빨라졌지만, 배선은 가늘어질수록 오히려 느려졌다. 이 장에서는 배선을 저항과 커패시턴스가 길이 전체에 고르게 퍼진 RC 선으로 보고, 길이의 제곱으로 늘어나는 지연을 리피터로 다시 직선으로 펴는 법, 옆 선이 끼어드는 크로스토크, 전원선의 전압 강하까지 차례로 만져 본다.

칩 위의 고층 도로망: 금속층 스택

트랜지스터는 실리콘 표면 한 층에만 깔려 있다. 이 부분을 공정에서는 FEOL(Front-End-Of-Line)이라 부른다. 그 위로 절연막을 사이에 두고 금속 배선층이 아파트처럼 차곡차곡 쌓이는데, 이 부분이 BEOL(Back-End-Of-Line)이다. 7 nm급 칩이라면 금속층이 13~15개쯤 된다(약). 같은 층 안의 선은 한 방향(가로 또는 세로)으로만 달리고, 바로 위층은 직각 방향으로 달린다. 층과 층 사이는 비아(Via)라는 짧은 수직 기둥으로 잇는다.

스택을 위아래로 훑어보면 규칙이 하나 보인다. 아래층은 가늘고 촘촘하며, 위로 갈수록 굵고 성기다. 도시의 도로망과 똑같다. 집 앞 골목길은 좁지만 빽빽하게 깔려 있어 어디든 닿고, 고속도로는 넓고 빠르지만 드문드문 있다. 칩 안 연결의 대부분은 이웃 게이트끼리의 짧은 연결이라 아래층의 밀도가 중요하고, 블록과 블록을 잇는 소수의 긴 선은 속도가 중요하니 위층을 쓴다.

층 고르기 (그림의 층을 눌러도 된다)
그림 14-1. 해 보기단면도의 층을 누르거나 버튼으로 골라 보자. 맨 아래 회색 띠가 트랜지스터(FEOL), 그 위가 금속층이다. 그림은 층 사이의 상대 비율을 보여 주기 위해 세로 크기를 줄였다. 실제로는 맨 위 재배선층(AP)의 두께가 맨 아래 선 폭의 100배를 넘는다. 아래 정보판의 수치는 DG-7 기준 공정에 맞춘 교육용 대략값이다.

각 층의 대략적인 크기를 표로 정리하면 다음과 같다. 피치(Pitch)는 선 폭과 선 간격을 더한 값, 즉 이웃한 두 선의 중심 사이 거리다.

층 묶음피치폭 × 두께저항 (Ω/µm)커패시턴스 (fF/µm)주 용도
M0–M1 (국부)~40 nm20 × 40 nm~100~0.2셀 안 연결, 핀 접근
M2–M5 (하위)~40–48 nm22 × 44 nm~80~0.2셀 사이 짧은 신호
M6–M9 (중간)~80 nm40 × 80 nm~15~0.2블록 안 수십~수백 µm 신호 (DG-7 기준 배선)
M10–M12 (준전역)~160 nm80 × 160 nm~3~0.2블록 사이 버스, 클럭 트리
M13–M14 (전역)~0.8 µm0.4 × 0.9 µm~0.08~0.22전원망, 클럭 간선, 칩 횡단 신호
AP (재배선, Al)~6 µm3 × 2.8 µm~0.004~0.25범프 패드, 전원 분배

표에서 가장 눈여겨볼 열은 커패시턴스다. 저항은 층마다 수만 배씩 차이 나는데, 커패시턴스는 어느 층이나 약 0.2 fF/µm로 거의 같다. 이유는 간단하다. 단위 길이당 커패시턴스는 "폭 ÷ 절연막 높이", "두께 ÷ 간격" 같은 길이의 비율로 정해진다. 위층은 폭·두께·간격·높이를 모두 같은 비율로 키웠으니 비율은 그대로다. 반면 저항은 단면적(폭 × 두께)에 반비례하므로, 크기를 2배로 키우면 저항은 1/4이 된다. 그래서 긴 선일수록 위층으로 올려 보내는 것이 이득이다. 단, 위층 자리는 귀하다. 피치가 크니 깔 수 있는 선의 수가 적고, 오르내리는 비아마다 저항이 붙는다.

비아도 저항이다

하위층 비아 하나의 저항은 수십 Ω에 이른다(약, 7 nm급). 하위층 선 1 µm의 저항과 맞먹는다. M1에서 M10까지 올라갔다 내려오는 신호는 비아를 스무 개 가까이 지나므로 비아 저항이 무시하지 못할 몫이 된다. 중요한 선이나 전원선에는 비아를 두 개 이상 나란히 두는 중복 비아(Redundant via)를 써서 저항도 낮추고, 비아 하나가 불량이 나도 연결이 끊기지 않게 한다.

배선의 저항과 커패시턴스

배선 하나를 길이 \(L\), 폭 \(W\), 두께 \(t\)인 금속 막대로 보자. 저항은 길이에 비례하고 단면적에 반비례한다. 설계에서는 두께가 층마다 정해져 있으므로 \(\rho/t\)를 묶어 면저항(Sheet resistance, \(R_\square\))으로 쓰는 일이 많다. 그러면 저항은 "선이 정사각형 몇 개로 이루어졌는가"만 세면 된다.

$$R = \rho\,\frac{L}{W\,t} = R_\square\,\frac{L}{W}, \qquad R_\square = \frac{\rho}{t}\;[\Omega/\square]$$
\(\rho\): 실효 비저항(구리 덩어리는 1.7 µΩ·cm지만 가는 선은 2~5배 크다, 다음 절), \(L/W\): 선을 이루는 정사각형의 수. 중간층(폭 40 nm, 두께 80 nm, \(\rho\approx4\) µΩ·cm)이면 \(R_\square\approx0.5\ \Omega/\square\)이고, 길이 1 µm는 정사각형 25개이므로 약 13 Ω이다.

커패시턴스는 조금 복잡하다. 선은 사방으로 전기력선을 뻗는다. 위아래 층의 금속(대개 전원선이나 직각으로 지나가는 다른 신호선이 빽빽해 사실상 접지판처럼 보인다)으로 향하는 성분, 선의 모서리에서 휘어져 나가는 성분, 그리고 같은 층 바로 옆 선으로 향하는 성분이다. 각각을 평판 커패시턴스(Parallel-plate), 가장자리 커패시턴스(Fringe), 결합 커패시턴스(Coupling)라 부른다.

절연막
전체 C—
결합 성분 비율—
저항 r—
1 mm 선 지연 0.38rcL²—
그림 14-2. 해 보기가운데 선(피해선)의 단면이다. 위아래 회색 판은 이웃 층, 좌우는 같은 층의 이웃 선이다. 간격 \(S\)를 줄이면 좌우 화살표(결합 성분)가 급격히 굵어진다. 폭 \(W\)를 넓히면 저항은 줄지만 평판 성분이 늘어 전체 \(C\)도 조금 는다. 두께 \(t\)와 절연막 높이 \(H\)는 80 nm로 고정했다. 교육용 근사 공식이며, 실제 추출 도구는 3차원 장(場) 해석을 한다.
$$c \approx \underbrace{2\varepsilon\frac{W}{H}}_{\text{평판}} + \underbrace{c_{\text{fringe}}(S,H)}_{\text{가장자리}} + \underbrace{2\varepsilon\frac{t}{S}}_{\text{결합 (양옆)}}\quad[\text{F/m}]$$
\(\varepsilon = k\,\varepsilon_0\): 절연막 유전율(\(\varepsilon_0\) = 8.85 pF/m). \(H\): 위·아래 층까지의 절연막 높이. 가장자리 성분은 이웃 선이 가까울수록 이웃에게 가려져 줄어든다. 미세 공정에서는 두께 \(t\)가 폭보다 커서(종횡비 약 2) 결합 성분이 전체의 절반을 넘는다.

결합 성분이 절반을 넘는다는 사실은 이 장 후반의 크로스토크로 이어진다. 내 선의 커패시턴스 절반이 접지가 아니라 옆 선에 붙어 있다면, 옆 선이 움직일 때 내 선도 끌려간다.

선을 두 배로 넓히면

중간층 선(\(W=S=40\) nm)의 폭만 80 nm로 두 배 넓혔다. 간격은 그대로다. 저항과 커패시턴스의 곱 \(rc\)는 얼마나 바뀔까? 위 그림으로 확인하기 전에 짐작해 보자.

답 보기

저항은 단면적이 두 배가 되므로 절반(실제로는 크기 효과가 줄어 절반보다 조금 더 작아진다)이다. 커패시턴스는 평판 성분만 두 배가 되고 결합·가장자리 성분은 그대로이므로 10~15%쯤만 는다. 그래서 \(rc\)는 약 40~45% 줄어든다. 공짜는 아니다. 피치가 80 → 120 nm로 커져 같은 면적에 깔 수 있는 선이 2/3로 줄어든다. 클럭선처럼 중요한 선에만 "넓고 성기게" 규칙(NDR, Non-Default Rule)을 따로 주는 이유다.

낮은 k를 향한 경쟁

커패시턴스를 줄이는 가장 직접적인 방법은 절연막의 유전율 \(k\)를 낮추는 것이다. 이산화규소(k 3.9)에서 탄소를 섞은 SiCOH(k 약 3.0), 미세한 구멍을 뚫은 다공성 low-k(k 약 2.5)로 내려왔다. 극단은 선 사이를 비워 두는 에어갭(Air gap)이다(공기는 k = 1). 하지만 구멍이 많을수록 막이 약해져 패키지 조립이나 화학적 기계 연마(CMP) 때 깨지기 쉽다. 그래서 2010년대 이후 k의 하강 속도는 크게 느려졌다. 공정의 상세는 ProcessBook의 배선 공정 장에서 다룬다.

가늘어질수록 비싸지는 저항

앞 절의 공식대로라면 폭과 두께를 반으로 줄일 때 저항은 4배가 되어야 한다. 실제로는 그보다 훨씬 많이 는다. 가는 선의 구리는 덩어리 구리보다 비저항 자체가 크기 때문이다. 원인은 세 가지다.

구리 실효 비저항—
루테늄 실효 비저항—
장벽이 차지한 단면—
구리선 저항—
그림 14-3. 해 보기폭을 줄이며 두 곡선을 비교해 보자. 왼쪽(좁은 화면에서는 위)은 같은 폭의 구리선과 루테늄선 단면이다. 구리는 덩어리 비저항(1.7 µΩ·cm)이 작지만 평균 자유 행로가 길어(약 39 nm) 가늘어지면 빨리 나빠지고, 두꺼운 장벽까지 필요하다. 루테늄은 덩어리 비저항(7.1)이 4배 크지만 평균 자유 행로가 짧고(약 6.6 nm) 장벽이 거의 필요 없다. 장벽 두께를 0으로 내려 보면 구리의 문제 절반이 장벽이었음을 알 수 있다. 교육용 근사 모델이다.

그림에서 보듯, 선 폭이 15 nm 언저리로 내려가면 덩어리 비저항이 4배나 큰 금속이 오히려 구리를 이기는 역전이 일어난다. 그래서 업계는 가장 가는 하위층부터 구리를 다른 금속으로 바꾸고 있다. 2018년경 일부 공정이 M0·M1 일부에 코발트를 썼고(약), 2 nm급 이후로는 루테늄·몰리브덴 같은 금속과, 홈을 파서 채우는 대신 금속을 먼저 깔고 깎아 내는 공정이 활발히 연구·도입되고 있다(약, 2025년 전후). 어느 쪽이든 결론은 같다. 트랜지스터와 달리 배선은 미세화의 혜택을 받지 못한다. 줄일수록 저항이 늘 뿐이다.

분산 RC 선: 지연은 길이의 제곱

6장에서는 게이트 출력을 저항 하나와 커패시터 하나로 보았다. 짧은 배선이라면 그 커패시터에 배선 \(C\)를 더하면 충분하다. 그런데 긴 배선은 다르다. 배선의 저항과 커패시턴스는 한곳에 뭉쳐 있지 않고 길이 전체에 고르게 퍼져 있다. 선의 앞쪽 커패시턴스는 짧은 저항만 거쳐 충전되지만, 끝쪽 커패시턴스는 선 전체의 저항을 거쳐야 충전된다.

이런 회로의 지연을 손으로 어림하는 도구가 엘모어 지연(Elmore delay)이다. 각 커패시터에 대해 "구동점에서 그 커패시터까지 지나는 저항의 합"을 곱하고, 그것을 모두 더한다.

$$\tau_D = \sum_{i=1}^{N} C_i \sum_{j=1}^{i} R_j \;\xrightarrow{\;R_j = R/N,\ C_i = C/N\;}\; RC\,\frac{N+1}{2N} \;\xrightarrow{\;N\to\infty\;}\; \frac{RC}{2}$$
\(R = rL\), \(C = cL\): 배선 전체의 저항과 커패시턴스. \(N\): 배선을 나눈 구간 수. 구간이 하나(\(N=1\))면 집중 RC와 같은 \(RC\), 잘게 나눌수록 \(RC/2\)로 다가간다.
그림 14-4. 해 보기사다리의 커패시터를 누르거나 슬라이더로 골라 보자. 그 커패시터가 충전될 때 지나야 하는 저항이 강조되고, 아래 막대 중 그 커패시터의 몫(\(C_i \times\) 위쪽 저항 합)이 밝아진다. 막대가 계단처럼 커지는 것은 끝쪽 커패시터일수록 더 많은 저항을 거치기 때문이다. 막대를 모두 더한 값이 엘모어 지연이다. \(N\)을 늘리면 계단이 삼각형에 가까워지고 넓이는 \(RC/2\)로 수렴한다.

엘모어 지연은 시상수에 해당하는 값이다. 실제 50% 지연을 정확히 풀면 분산 RC 선은 \(0.38RC\), 집중 RC는 \(0.69RC\)가 된다. 구동 게이트(등가 저항 \(R_d\))와 받는 쪽 부하(\(C_L\))까지 넣은 실용 공식은 다음과 같다.

$$t_{pd} \approx 0.69\,R_d\,(C_w + C_L) + 0.38\,R_w C_w + 0.69\,R_w C_L, \qquad R_w C_w = r c\,L^2$$
\(R_d\): 구동기 등가 저항, \(R_w = rL\), \(C_w = cL\): 배선 저항·커패시턴스, \(C_L\): 받는 게이트 입력 커패시턴스. 둘째 항이 길이의 제곱에 비례한다. DG-7 중간층(\(r\) = 15 Ω/µm, \(c\) = 0.2 fF/µm)이면 \(rc\) = 3 fs/µm²이다.

숫자를 넣어 보자. 중간층 100 µm 선은 \(0.38 \times 3\ \text{fs}/\mu\text{m}^2 \times 100^2\ \mu\text{m}^2 \approx 11\) ps로 FO4 지연 1.5개쯤이다. 1 mm 선은 길이가 10배이니 지연은 100배인 약 1.1 ns, FO4 150개다. 3 GHz 클럭의 한 주기(333 ps)를 세 번 넘게 쓰고도 모자란다.

길이를 두 배로

이상적인 계단 입력이 1 mm 중간층 선을 지나는 데 약 1.1 ns 걸린다. 선을 2 mm로 늘리면 몇 ns일까? 아래 시뮬레이터에서 길이를 바꾸기 전에 짐작해 보자.

답 보기

저항도 두 배, 커패시턴스도 두 배이니 \(RC\)는 네 배, 지연도 약 4.6 ns로 네 배다. 반대로 선을 반으로 자르면 한 조각의 지연은 1/4이 된다. 조각 두 개를 이어도 1/4 + 1/4 = 1/2이다. 이 관찰이 다음 절 리피터의 출발점이다.

SIMULATOR

분산 RC 선: 계단 입력이 퍼져 나가는 모습

나눈 구간 수 \(N\)
금속층
구동기
애니메이션
배선 R · C—
수치 해석 50% 지연—
공식 (0.38RC 등)—
엘모어 τD—
FO4 환산—
배선을 \(N\)개 구간의 RC 사다리로 나누고, 각 마디 전압의 미분 방정식을 후진 오일러법으로 직접 푼다(시간 600단계). 위 띠는 커서 시각의 선 위 전압 분포(왼쪽이 구동 쪽), 아래 그래프는 선의 25·50·75·100% 지점 전압 파형이다. \(N=1\)이면 집중 RC가 되어 지연이 \(0.69RC\)에 가깝고, \(N\)을 늘리면 \(0.38RC\)로 다가간다. 받는 쪽에는 항상 INV×4 입력(약 0.8 fF)이 달려 있다. 구동기 INV×k의 등가 저항은 \(R_0/k\)(\(R_0 = \tau/C_0 \approx 7.2\) kΩ)이다. 이 값은 논리적 노력의 \(\tau = RC\) 정의에 맞춘 등가 저항으로, 6장에서 하강 파형으로 역산한 nMOS 유효 저항(약 15 kΩ)과는 정의가 달라 숫자가 다르다.
왜 하필 길이의 제곱일까: 확산 방정식

구간을 무한히 잘게 나누면 RC 사다리는 편미분 방정식 \(\partial V/\partial t = \frac{1}{rc}\,\partial^2 V/\partial x^2\)가 된다. 열이 막대를 따라 퍼지는 열 확산 방정식과 똑같은 꼴이다. 확산은 파동처럼 일정한 속도로 나아가지 않는다. 거리 \(x\)까지 퍼지는 데 걸리는 시간이 \(x^2\)에 비례한다(잉크 한 방울이 물컵에 퍼지는 것을 떠올리자). 위 시뮬레이터에서 띠의 색이 오른쪽으로 갈수록 점점 느리게 번지는 것이 바로 이 확산이다. 빛의 속도로 달리는 전송선 효과는 인덕턴스가 커지는 위층의 굵은 선에서나 나타난다(7절).

리피터: 제곱을 직선으로

지연이 \(L^2\)에 비례한다면 해법은 뻔하다. 선을 \(k\)개로 잘라 사이사이에 버퍼(또는 인버터)를 넣는다. 한 조각의 배선 지연은 \((L/k)^2\)에 비례하니, \(k\)개를 이어도 \(k \times (L/k)^2 = L^2/k\)다. 새로 넣은 버퍼는 신호를 다시 날카롭게 세워 다음 조각으로 내보낸다. 이 버퍼를 리피터(Repeater)라 부른다. 대가도 있다. 리피터마다 자기 지연이 있고, 크기만큼 입력 커패시턴스와 기생 커패시턴스를 보태 에너지를 먹는다. 너무 적게 넣으면 배선이 느리고, 너무 많이 넣으면 리피터가 느리다. 그 사이 어딘가에 최적점이 있다.

금속층
리피터 없음 (구동기 최적 크기)—
최적 리피터—
임계 길이—
그림 14-5. 해 보기길이를 늘려 보자. 리피터가 없으면 지연은 포물선으로 치솟고(주황), 최적으로 리피터를 넣으면 직선이 된다(파랑). 두 곡선이 갈라지기 시작하는 길이가 임계 길이로, 이보다 짧은 선에는 리피터를 넣어도 이득이 없다. 층을 바꾸면 임계 길이와 직선의 기울기가 함께 바뀐다. 위층일수록 \(rc\)가 작아 기울기가 완만하다.

각 조각을 "크기 \(h\)인 리피터 + 길이 \(L/k\)인 배선 + 다음 리피터 입력"으로 보고 앞 절의 공식을 \(k\)번 더하면 전체 지연은 다음과 같다. 여기서 \(R_0, C_0\)는 단위 인버터의 등가 저항과 입력 커패시턴스(\(R_0C_0 = \tau\) = 1.5 ps), \(p\)는 입력 대비 자기 기생 커패시턴스의 비(DG-7에서 0.75)다.

$$t(k,h) = k\left[0.69\,\frac{R_0}{h}\Big(C_0 h(1{+}p) + \frac{cL}{k}\Big) + \frac{rL}{k}\Big(0.38\,\frac{cL}{k} + 0.69\,C_0 h\Big)\right]$$ $$k_{opt} = L\sqrt{\frac{0.38\,rc}{0.69\,R_0C_0(1+p)}},\qquad h_{opt} = \sqrt{\frac{R_0\,c}{r\,C_0}},\qquad \frac{t_{opt}}{L} \approx 2.7\sqrt{R_0C_0\,rc}$$
\(k\): 리피터 수(조각 수), \(h\): 리피터 크기(단위 인버터의 배수). \(t\)를 \(k\)와 \(h\)로 각각 미분해 0으로 두면 최적값이 나온다. 최적 지연이 \(L\)에 비례한다는 점이 핵심이다. DG-7 중간층이면 \(k_{opt}\)는 1 mm당 약 25개(간격 약 40 µm), \(h_{opt}\) ≈ 21, 지연 ≈ 180 ps/mm(FO4 약 24개)다.

흥미로운 사실이 하나 있다. 최적점에서는 리피터 자신의 지연과 배선 지연이 거의 같아진다. 그리고 최적 지연은 게이트 속도(\(\tau\))와 배선 품질(\(rc\))의 기하 평균에만 달려 있다. 트랜지스터가 4배 빨라져도 리피터를 넣은 배선은 2배만 빨라진다는 뜻이다.

SIMULATOR

리피터 삽입 최적화: 지연과 에너지

금속층
자동 설정
전체 지연—
최적 대비—
리피터 없을 때—
천이당 에너지—
리피터 몫—
최적 k · h—
위 띠는 리피터 배치(삼각형 크기 ∝ log h), 왼쪽 그래프는 리피터 수 \(k\)에 따른 지연(실선: 현재 크기 \(h\), 점선: 최적 크기 \(h_{opt}\)), 오른쪽 그래프는 천이 한 번(0→1)에 전원에서 끌어 쓰는 에너지 \((C_w + k h C_0(1{+}p))V_{DD}^2\)이다. 점은 현재 설정, 세로 점선은 지연 최적 \(k\)다. '에너지 절약'은 지연을 최적보다 10%까지 허용하는 조건에서 에너지가 가장 작은 \((k,h)\)를 격자 탐색으로 찾는다. 모델은 위 식(엘모어형 근사) 그대로이며, 실제 설계에서는 리피터를 놓을 수 있는 자리, 입력 천이 시간, 비아 저항이 더해진다.

'에너지 절약' 버튼을 눌러 보면 지연을 10%만 양보해도 리피터 에너지가 크게 준다는 것을 알 수 있다. 지연 곡선이 최적점 근처에서 아주 평평하기 때문이다. 그래서 실제 칩은 지연이 절대적으로 중요한 몇몇 경로를 빼면 최적보다 작고 드문 리피터를 쓴다. 그래도 큰 칩에는 리피터가 수십만~수백만 개 들어가며(약), 배선 하나하나에 리피터 자리를 마련하는 일이 배치·배선 단계의 큰 숙제다.

한 클럭에 갈 수 있는 거리

DG-7 중간층에 최적 리피터를 넣으면 약 180 ps/mm다. 3 GHz 클럭 한 주기 333 ps 가운데 플립플롭 오버헤드를 빼면 신호는 한 주기에 1.5 mm 남짓밖에 못 간다. 칩 한 변이 10~20 mm라면 끝에서 끝까지 수 주기가 걸린다. 그래서 큰 칩은 블록을 지역별로 나누고, 멀리 가는 신호는 중간에 레지스터를 넣어 여러 주기에 걸쳐 보낸다(배선 파이프라이닝). 이 생각을 칩 전체로 키운 것이 SoCBook의 온칩 네트워크다. 리피터로 인버터를 쓰면 버퍼보다 빠르지만 극성이 매번 뒤집히므로 개수를 짝수로 맞춘다.

크로스토크: 이웃 선의 간섭

2절에서 미세 배선 커패시턴스의 절반 이상이 옆 선과의 결합 성분이라는 것을 보았다. 이 커패시터는 접지에 붙어 있지 않다. 반대쪽 끝이 또 하나의 신호선이다. 그 신호선을 공격선(Aggressor), 영향을 받는 내 선을 피해선(Victim)이라 부른다. 공격선이 움직이면 결합 커패시터를 통해 피해선에 전하가 밀려 들어온다. 이것이 크로스토크(Crosstalk)이고, 두 가지 얼굴로 나타난다.

$$C_{\text{eff}} = C_g + \text{MCF}\cdot C_c,\qquad \text{MCF} = \begin{cases} 0 & \text{같은 방향 천이} \\ 1 & \text{공격선 정지} \\ 2 & \text{반대 방향 천이}\end{cases}$$
\(C_g\): 접지(위아래 층)로 가는 성분, \(C_c\): 공격선과의 결합 성분, MCF: 밀러 결합 계수(Miller Coupling Factor). 공격선이 피해선보다 훨씬 빠르게 천이하면 MCF가 2를 넘을 수도 있다.
피해선
공격선
배치
피해선 50% 지연—
공격선 정지 대비—
실효 MCF—
글리치 최대—
그림 14-6. 해 보기공격선의 방향을 바꿔 가며 피해선(파랑 실선)의 50% 도달 시각을 비교해 보자. 흐린 점선은 공격선이 가만히 있을 때의 기준 파형이다. 피해선을 '정지'로 바꾸면 공격선이 피해선에 남기는 글리치가 보인다. 공격선을 세게, 피해선을 약하게 할수록 글리치가 커진다. '차폐선'을 고르면 두 선 사이에 접지된 선이 끼어 결합 커패시턴스가 접지 커패시턴스로 바뀐다. 두 선은 각각 구동기(INV×8 저항)와 집중 커패시턴스 20 fF로 모델링하고 결합된 미분 방정식을 직접 푼다.
같은 방향이면 빨라진다, 좋은 일일까?

버스의 모든 비트가 같은 방향으로 천이하면 결합 커패시턴스가 사라져 신호가 빨라진다. 타이밍 분석에서 이것이 문제가 될 수 있을까?

답 보기

문제가 된다. 경로가 예상보다 빨라지면 hold 위반이 날 수 있다(10장). 그래서 정적 타이밍 분석은 크로스토크를 고려할 때 setup 검사에는 가장 느린 경우(MCF 2 쪽), hold 검사에는 가장 빠른 경우(MCF 0 쪽)를 따로 가정한다. 공격선과 피해선의 천이 시각이 실제로 겹칠 수 있는지(타이밍 창이 겹치는지)까지 따져 지나친 비관을 줄인다.

크로스토크를 줄이는 방법은 그림의 손잡이들과 그대로 겹친다. 선 간격을 넓혀 \(C_c\)를 줄이거나, 사이에 전원·접지선을 끼워 차폐(Shielding)하거나, 피해선 구동기를 키워 글리치를 빨리 눌러 버리거나, 같은 시각에 반대로 움직일 일이 없는 신호끼리 이웃하게 배선 순서를 바꾼다. 긴 버스는 중간에 리피터를 엇갈려 놓아 이웃 비트의 영향이 앞뒤 조각에서 서로 상쇄되게 하기도 한다. 클럭선은 칩에서 가장 빠르고 규칙적으로 움직이는 공격선이자 지연 변동을 가장 싫어하는 피해선이어서 대개 양옆을 차폐한다.

글리치가 기억을 바꿀 때

조합 논리에서 글리치는 대개 다음 클럭 전에 사라지므로 해롭지 않다. 하지만 7장의 동적 논리처럼 전하를 붙잡아 두는 노드, 래치의 투명 구간, 비동기 리셋 입력에 글리치가 들어가면 저장된 값이 뒤집힐 수 있다. 이런 노드는 잡음 분석(Noise analysis)으로 글리치 높이가 받는 쪽의 노이즈 마진 안에 드는지 따로 검사한다.

인덕턴스와 전원 배선

지금까지 배선을 R과 C로만 보았다. 전류가 흐르는 고리에는 언제나 자기장이 생기므로 인덕턴스 \(L\)도 있다. 칩 안 배선의 인덕턴스는 대략 0.5~1 pH/µm 수준이다(약). 가는 하위층 선은 저항이 워낙 커서 \(\omega L\)이 \(R\)에 묻히지만, 저항이 작은 위층의 굵고 긴 선에 아주 빠른 천이가 실리면 인덕턴스가 드러난다. 신호가 RC 확산 대신 파동처럼 전파되고, 반사와 울림(Ringing)이 생긴다. 클럭 간선이 대표적인 예다. 인덕턴스는 전류가 돌아오는 경로(귀환 경로)에 따라 크게 달라지므로, 고속 선 옆에 전원·접지선을 바짝 붙여 귀환 경로를 짧게 만든다.

인덕턴스가 가장 크게 문제 되는 곳은 신호선이 아니라 전원 배선이다. 칩은 수십~수백 A의 전류를 범프와 패키지를 거쳐 받는다. 전원 경로에는 두 가지 전압 강하가 생긴다.

$$\Delta V = \underbrace{I\,R_{\text{grid}}}_{\text{IR 강하}} + \underbrace{L\,\frac{di}{dt}}_{\text{유도성 강하}}$$
\(R_{\text{grid}}\): 전원망·범프·패키지의 저항, \(L\): 주로 패키지와 범프의 인덕턴스. 회로가 갑자기 깨어나 전류가 수 ns 만에 수 A씩 늘면 \(L\,di/dt\)가 IR 강하보다 훨씬 커진다. 칩 위의 디커플링 커패시터(디캡)가 그동안 전하를 대신 내준다.
정상 상태 IR 강하—
첫 번째 처짐 (최저점)—
공진 주파수—
특성 임피던스 √(L/C)—
그림 14-7. 해 보기트랜지스터가 실제로 받는 전원 전압이다(0.75 V에서 출발). 시각 5 ns에 부하 전류가 \(\Delta I\)만큼 늘어난다. 상승 시간을 줄이면 \(di/dt\)가 커져 첫 처짐이 깊어지고, 디캡을 늘리면 처짐이 얕아지며 공진 주파수가 낮아진다. 점선은 흔히 쓰는 허용 한도(\(V_{DD}\)의 −10%)다. 패키지 저항 0.5 mΩ, 전원망 저항 1 mΩ, 디캡 직렬 저항 2 mΩ으로 둔 2차 회로 모델이다.

그림의 처짐은 패키지 인덕턴스와 온칩 디캡이 만드는 LC 공진(수십~수백 MHz)에서 온다. 처짐의 깊이는 대략 \(\Delta I\sqrt{L/C}\)로, 전원망 설계는 이 임피던스를 목표 값(허용 강하 ÷ 최대 전류 변화) 아래로 누르는 일이다. 0.75 V 전원에서 10% 여유는 75 mV에 불과하다. 전원 전압이 내려갈수록 같은 전류를 쓰면 여유는 오히려 줄어든다. 전원망의 IR 강하 지도, 전력 밀도와 열의 관계는 SoCBook의 전력 장과 열 장에서, 회로 쪽 전력 절감은 15장에서 이어진다.

전원을 뒤로 돌리다: 후면 전력 공급

지금까지는 신호선과 전원선이 같은 앞면 금속층 스택을 나눠 썼다. 전원선은 굵고 많아야 하니 귀한 하위층 트랙을 상당히 잡아먹고, 맨 위 범프에서 트랜지스터까지 열 몇 층의 비아를 거쳐 내려오며 IR 강하가 쌓인다. 최근 공정은 웨이퍼를 뒤집어 실리콘 뒷면에 전원망을 따로 만드는 후면 전력 공급(BSPDN, Backside Power Delivery Network)을 도입하고 있다(약, 2025~2026년 양산 공정부터). 앞면 스택은 신호에만 쓰고, 전원은 짧고 굵은 경로로 트랜지스터 바로 밑까지 들어온다.

배선이 트랜지스터보다 느려진 시대

1990년대 중반까지 회로 설계자는 배선을 거의 공짜로 여겼다. 게이트 지연이 수십~수백 ps인데 배선 지연은 그 몇 분의 일이었으니까. 미세화는 두 쪽에 정반대로 작용했다. 트랜지스터는 작아질수록 빨라졌지만(FO4가 세대마다 약 0.7배), 같은 층의 배선은 단면이 줄어 저항이 세대마다 2배 이상 늘었다. 커패시턴스는 그대로였다. 그 결과 같은 길이의 배선 지연은 게이트 지연에 비해 수천 배 비싸졌다.

FO4 지연—
하위층 r—
1 mm, 리피터 없음—
1 mm, 최적 리피터—
그림 14-8. 해 보기세대를 옮기며 세 곡선의 간격을 보자. 세로축은 로그 눈금이다. FO4(초록)는 꾸준히 내려가는데, 최소 피치 하위층 1 mm 선의 지연은 리피터가 없으면(주황) 수천 배로 치솟고, 최적 리피터를 넣어도(파랑) 오히려 늘어난다. 각 세대 대표값은 공개 자료를 바탕으로 한 대략값(약)이며, 7 nm 칸은 DG-7 하위층(약 90 Ω/µm)에 맞췄다. 실제 긴 선은 이보다 훨씬 위층으로 보낸다. 선이 임계 길이보다 짧은 옛 세대에서는 리피터가 이득이 없으므로 두 곡선이 겹친다.
공정 (연도, 약)FO4하위층 r (Ω/µm)1 mm 무리피터1 mm 최적 리피터리피터 지연 ÷ FO4

업계는 이 흐름을 늦추려고 여러 수를 동시에 썼다. 1997년 무렵 알루미늄에서 구리로 바꿔 비저항을 약 40% 줄였고(약), 절연막을 low-k로 바꾸었으며, 금속층을 4~5개에서 15개 안팎으로 늘려 긴 선을 굵은 위층으로 보냈다. 그리고 무엇보다 설계 방식이 바뀌었다. 멀리 떨어진 블록이 한 주기 안에 대화해야 하는 구조를 피하고, 계산을 데이터 가까이에서 하는 지역성을 아키텍처의 원칙으로 삼았다. 다중 코어와 온칩 네트워크, 메모리 옆에 연산기를 두는 설계가 모두 이 배선 문제에 대한 대답이다.

전자 이동과 클럭 분배: 다음 장들로

배선의 이야기는 속도에서 끝나지 않는다. 가는 선에 큰 전류가 오래 흐르면 전자들이 금속 원자를 조금씩 밀어 옮기는 전자 이동(Electromigration, EM)이 일어난다. 원자가 빠져나간 곳에는 빈 구멍(보이드)이 생겨 저항이 늘다가 끊어지고, 원자가 쌓인 곳은 혹(힐록)처럼 부풀어 옆 선과 붙기도 한다. 수명은 전류 밀도와 온도에 강하게 좌우되며, 대략 \(\text{MTTF} \propto J^{-n} e^{E_a/kT}\)(블랙 방정식)를 따른다.

전류 밀도의 한계

구리 배선의 설계 허용 전류 밀도는 수 MA/cm² 수준이다(약, 온도·공정마다 다름). 중간층 선(40 × 80 nm)의 단면적은 3.2 × 10⁻¹¹ cm²이니, 1 MA/cm²라면 겨우 32 µA다. 신호선은 전류 방향이 번갈아 바뀌어 비교적 견디지만, 한 방향으로만 흐르는 전원선과 큰 리피터 출력은 폭을 넓히거나 선을 여러 가닥으로 나눠야 한다. 가는 선일수록, 온도가 높을수록 위험하다. 블랙 방정식과 수명 계산은 16장에서 다룬다.

칩에서 가장 길고, 가장 많은 부하를 달고, 매 주기 빠짐없이 움직이는 선은 클럭이다. 클럭은 수십만 개의 플립플롭에 같은 시각에 도착해야 한다. 이 장의 모든 주제가 클럭 분배에 한꺼번에 등장한다. 분산 RC 지연은 도착 시각의 차이(스큐)를 만들고, 리피터(클럭 버퍼)는 지연과 천이를 다듬으며, 크로스토크는 지터를 만들고, 전원 처짐은 버퍼 지연을 흔든다. 그래서 클럭망은 보통 아래 그림처럼 모든 끝점까지의 길이가 같은 H-트리로 뼈대를 만들고, 끝을 그물(Mesh)로 묶어 차이를 평균 내며, 넓은 선과 차폐를 아낌없이 쓴다. 스큐와 지터가 타이밍 여유에 미치는 영향은 10장에서 다뤘다.

클럭 구동기 끝점 16개 (주황) 모두 구동기에서 같은 거리
그림 14-9. H-트리 클럭 분배. 갈림길마다 선이 가늘어지고 길이가 절반이 되어, 구동기에서 모든 끝점까지의 배선 길이와 부하가 같다. 실제로는 갈림길마다 클럭 버퍼(리피터)를 넣고, 끝점 아래로 국부 클럭 트리나 그물이 이어진다.

핵심 정리

  1. 금속층 스택은 아래가 가늘고 촘촘(밀도), 위가 굵고 성기다(속도). 단위 길이 커패시턴스는 어느 층이나 약 0.2 fF/µm로 비슷하지만, 저항은 단면적에 반비례해 층마다 수만 배 차이 난다.
  2. \(R = R_\square L/W\). 커패시턴스는 평판·가장자리·결합 성분의 합이며, 미세 공정에서는 옆 선과의 결합 성분이 절반을 넘는다.
  3. 선이 가늘어지면 표면·결정립계 산란과 장벽층 때문에 비저항 자체가 커진다. 그래서 배선은 미세화의 혜택을 받지 못하고, 구리 대신 루테늄 같은 금속이 거론된다.
  4. 분산 RC 선의 50% 지연은 \(0.38RC\)(집중 RC는 \(0.69RC\))이고, \(R\)과 \(C\)가 모두 길이에 비례하므로 길이의 제곱으로 늘어난다. 엘모어 지연 \(\sum C_i R_{\text{up},i}\)으로 손쉽게 어림한다.
  5. 리피터를 넣으면 지연이 길이에 비례한다. \(k_{opt} \propto L\sqrt{rc/\tau}\), \(h_{opt} = \sqrt{R_0c/(rC_0)}\), 최적 지연 ≈ \(2.7\sqrt{\tau\,rc}\) per 길이. 최적점 근처는 평평해 지연을 조금 양보하면 에너지를 크게 아낀다.
  6. 크로스토크는 조용한 선에 글리치를, 움직이는 선에 지연 변동(MCF 0~2)을 만든다. 간격, 차폐, 구동 세기, 배선 순서로 줄이고, setup과 hold를 서로 다른 MCF로 검사한다.
  7. 전원망은 IR 강하와 \(L\,di/dt\) 처짐을 함께 겪는다. 처짐은 대략 \(\Delta I\sqrt{L/C}\)이며 디캡과 촘촘한 전원망, 후면 전력 공급으로 줄인다. 가는 선의 전류 밀도는 전자 이동 수명이 제한한다.

확인 퀴즈

Q1. 금속층 스택에서 위층으로 올라갈수록 단위 길이 커패시턴스가 거의 변하지 않는 가장 큰 이유는?

단위 길이 커패시턴스는 \(\varepsilon W/H\), \(\varepsilon t/S\)처럼 길이의 비율로 정해진다. 모든 치수를 같은 비율로 키우면 비율은 그대로이므로 \(c\)도 약 0.2 fF/µm로 같다. 반면 저항은 단면적에 반비례해 크게 줄어든다.

Q2. 중간층 배선 길이를 0.5 mm에서 1.5 mm로 늘렸다. 리피터 없이 이상적인 계단으로 구동할 때 배선 지연은 대략 몇 배가 되나?

분산 RC 지연 \(0.38\,rcL^2\)은 길이의 제곱에 비례한다. 길이가 3배면 지연은 9배다.

Q3. 구간 4개로 나눈 RC 사다리(구간마다 \(R/4\), \(C/4\))의 엘모어 지연은?

\(\tau_D = \frac{R}{4}\frac{C}{4}(1+2+3+4) = \frac{10}{16}RC = \frac{5}{8}RC\). 일반식 \(RC(N+1)/(2N)\)에 \(N=4\)를 넣어도 같다. \(N\)이 무한히 커지면 \(RC/2\)로 다가간다.

Q4. 배선의 \(rc\)가 같을 때 트랜지스터가 4배 빨라지면(\(\tau\)가 1/4), 최적 리피터를 넣은 긴 배선의 단위 길이당 지연은 어떻게 되나?

최적 지연은 \(t_{opt}/L \approx 2.7\sqrt{\tau\,rc}\)로 게이트 속도와 배선 품질의 기하 평균에 비례한다. \(\tau\)가 1/4이면 지연은 \(\sqrt{1/4} = 1/2\)이다.

Q5. 피해선이 상승 천이하는 동안 바로 옆 공격선이 하강 천이한다. 피해선이 느끼는 결합 커패시턴스의 실효값은 대략?

결합 커패시터 양끝 전압 차가 \(-V_{DD}\)에서 \(+V_{DD}\)로 \(2V_{DD}\)만큼 바뀌므로 피해선 쪽에서는 커패시턴스가 두 배로 보인다(밀러 결합 계수 2). 같은 방향이면 0, 공격선이 정지해 있으면 1이다.

Q6. 칩의 부하 전류가 2 ns 동안 10 A 늘어났다. 전원 경로의 실효 인덕턴스가 10 pH라면 \(L\,di/dt\)로 인한 전압 강하는 (디캡이 없다고 할 때) 대략?

\(L\,di/dt = 10\ \text{pH} \times 10\ \text{A}/2\ \text{ns} = 10^{-11} \times 5\times10^{9} = 0.05\) V = 50 mV. 0.75 V 전원의 약 7%로, 허용 여유 10%의 대부분을 먹는다. 그래서 칩 위에 디캡을 두어 전류 변화를 가까이에서 받아 준다.