# 다중 pole·Elmore·slew

:::goals
- 실제 경로에는 pole이 여러 개 있고, 그러면 정착이 단일 지수보다 늦어질 수 있음을 안다.
- 가장 느린 pole 하나로 줄이는 근사와 τ를 더하는 근사의 차이를 안다.
- 긴 배선을 RC 사다리로 보고 Elmore 지연으로 어림하는 방법과 그 한계를 안다.
- 큰 신호에서는 일정 속도로 내려가는 slew 구간이 먼저 오고, 언제 지수 정착으로 바뀌는지 안다.
- π·T 모델과 블록별 τ 합산으로 정착 시간을 어림할 수 있다.
:::

## 한 문장으로
06장의 단일 지수는 깔끔하지만, 실제 readout 경로는 **물통 여러 개가 관으로 줄줄이 이어진 모양**에 가깝다. 앞 물통이 차야 뒤 물통이 차기 시작한다. 그래서 출력이 늦게 출발하고, 하나의 τ로 설명하기 어려워진다.

## pole이 둘이면
단위 이득의 1차 단 두 개를 직렬로 이었다고 하자. 각각의 시정수가 $\tau_1$, $\tau_2$일 때 남은 오차는 다음과 같다.

$$
e(t) = \frac{\tau_1 e^{-t/\tau_1} - \tau_2 e^{-t/\tau_2}}{\tau_1 - \tau_2}
$$

두 τ가 같으면 $(1 + t/\tau)\,e^{-t/\tau}$가 된다. $t = 8\tau$에서 단일 지수보다 **9배** 큰 오차가 남는다. 같은 "τ의 8배"를 기다려도 결과가 전혀 다르다는 뜻이다.

이런 경로를 하나의 τ로 줄이는 방법은 여럿이다.

- **가장 느린 pole만 쓰기**(==dominant pole==): 한 τ가 다른 것보다 훨씬 크면 잘 맞는다. 둘이 비슷하면 필요한 시간을 짧게 잡는다.
- **τ를 모두 더하기**: 지연이 쌓이는 효과를 반영한다. 다음 절의 Elmore 지연과 같은 생각이다.

[[lab:twopole]]

## 긴 배선은 RC 사다리
column 배선은 저항과 용량이 길게 고르게 퍼져 있다. 이것을 짧은 구간 n개로 나눈 ==RC 사다리==로 볼 수 있다. 각 구간이 작은 물통과 좁은 관이다.

이런 사다리를 손으로 푸는 것은 번거롭다. 그래서 흔히 ==Elmore 지연==으로 어림한다. 출력까지 가는 길에서, 각 용량에 대해 "그 용량까지 거쳐 가는 저항의 합 × 그 용량"을 모두 더한다.

$$
\tau_E = \sum_i R_{\text{up}}(i) \cdot C_i, \qquad \text{고른 사다리: } \tau_E = RC\,\frac{n+1}{2n}
$$

n이 크면 $\tau_E \to RC/2$다. 아래 시뮬레이터는 사다리를 직접 풀어(수치 적분) Elmore 근사와 비교한다.

[[lab:ladder]]

실제 응답은 처음에 더 늦게 출발하고(신호가 먼 끝까지 퍼지는 데 시간이 걸린다), 나중에는 Elmore 지수보다 빨리 줄어든다. 늦은 구간의 시정수는 약 $4RC/\pi^2 \approx 0.4\,RC$다.

:::deep Elmore 지연은 무엇인가
Elmore 지연은 임펄스 응답의 첫 번째 모멘트, 곧 "신호가 평균적으로 언제 도착하는가"다. 계산이 쉽고 배선 길이·용량에 대한 감각을 빠르게 주지만, 실제 pole도 아니고 특정 오차까지의 정착 시간도 아니다. 정확한 정착 시간이 필요하면 더 많은 모멘트를 쓰는 축약이나 직접 계산을 쓴다. 어떤 방법으로 τ를 얻었는지 함께 적어 두는 습관이 중요하다.
:::

## T 모델과 π 모델
긴 배선을 손으로 다룰 때는 한 덩어리로 줄인 모델을 자주 쓴다. 배선 전체 저항 $R_w$, 전체 용량 $C_w$를 다음 둘 중 하나로 나타낸다.

- **π 모델**: 용량을 반씩 양 끝에 두고 가운데 저항 하나 ($C_w/2$ – $R_w$ – $C_w/2$).
- **T 모델**: 저항을 반씩 양쪽에 두고 가운데 용량 하나 ($R_w/2$ – $C_w$ – $R_w/2$).

driver 저항 $R_d$가 배선을 거쳐 부하 $C_L$을 끈다고 하자. 두 모델 모두 먼 끝의 Elmore 지연이 같고, 분포 RC의 Elmore 지연과도 정확히 같다.

$$
\tau_E = R_d\,(C_w + C_L) + R_w\left(\frac{C_w}{2} + C_L\right)
$$

예를 들어 $R_d$ = 10 kΩ, $R_w$ = 20 kΩ, $C_w$ = 2 pF, $C_L$ = 0.5 pF이면 다음과 같다.

$$
\tau_E = 10\,\text{k}\Omega \times 2.5\,\text{pF} + 20\,\text{k}\Omega \times 1.5\,\text{pF} = 25 + 30 = 55\ \text{ns}
$$

식을 보면 읽는 법이 보인다. driver 저항은 **모든 용량**을 지나야 하므로 전체 용량을 곱하고, 배선 저항은 배선 용량의 **절반**과 부하만 본다. 배선 용량의 가까운 쪽은 배선 저항을 거의 거치지 않고 충전되기 때문이다.

[[lab:rcmodel]]

π와 T는 Elmore 지연이 같아도 응답 모양은 조금 다르다. driver 저항이 클수록 어느 모델이든 잘 맞고, 배선 저항이 지배하면 구간을 두세 개로 나눠야 정확해진다.

## column 블록을 이으면: τ 합산
column 신호는 여러 블록을 차례로 지난다. 예를 들어 다음과 같다.

| 블록 | 저항 | 용량 | τ |
|---|---|---|---|
| SF 출력 → column 배선 | $1/(g_m+g_{mb})$ ≈ 14 kΩ | 3 pF | 약 40 ns |
| S/H 스위치 → hold 용량 | $R_{on}$ ≈ 2 kΩ | 5 pF | 10 ns |
| 증폭기 입력 | 1 kΩ | 5 pF | 5 ns |

블록 사이가 버퍼로 분리되어 있으면 각 블록은 독립된 pole이 되고, 전체 응답은 pole 세 개의 cascade다. 이때 빠른 어림셈은 τ를 더하는 것이다.

$$
\tau_{total} \approx \tau_1 + \tau_2 + \tau_3 = 40 + 10 + 5 = 55\ \text{ns}
$$

이것도 Elmore 지연과 같은 생각이다. 각 블록이 신호를 평균적으로 τ만큼 늦추므로 지연이 쌓인다. 한 블록이 압도적으로 느리면 그 τ 하나로 충분하고, 비슷한 블록이 여럿이면 합으로 어림한다. 버퍼가 없으면 뒤 블록의 용량이 앞 블록의 짐이 되어 τ가 서로 바뀌므로, 앞 절의 사다리처럼 함께 풀어야 한다.

[[lab:chain]]

## 크게 떨어질 때: slew
지금까지는 작은 신호의 이야기였다. 신호가 크게 떨어지면 다른 일이 생긴다. 05장에서 본 것처럼, source follower 출력이 크게 내려가야 할 때 SF는 잠깐 꺼지고, column 용량의 전하는 전류원 $I_B$로만 빠져나간다. 출력은 **일정한 속도로 직선을 그리며** 내려간다. 이것이 ==slew==다.

$$
\frac{dV}{dt} = \frac{I_B}{C}
$$

오차가 충분히 작아지면 SF가 다시 살아나 지수 정착($\tau = C/g_m$)으로 바뀐다. 바뀌는 지점은 아래에서 따로 따진다. 그래서 큰 신호의 정착 시간은 "slew 구간 + 지수 구간"이다.

[[lab:slew]]

## slew에서 지수로 넘어가는 점
언제 slew가 끝나고 지수 정착이 시작될까? 지수 정착 구간에서 출력이 움직이는 속도는 남은 오차 $e$에 비례한다($de/dt = -e/\tau$). 이 속도를 내려면 용량에 $C \cdot e/\tau = g_m e$의 전류를 흘려야 한다. 그런데 전류원이 줄 수 있는 전류는 $I_B$가 한계다. 따라서 필요한 전류가 $I_B$보다 크면 slew, 작아지면 지수 정착이다.

$$
g_m\,e = I_B \;\Rightarrow\; e_{\text{전환}} = \frac{I_B}{g_m}
$$

이 점에서 두 구간의 기울기가 정확히 같다. slew 속도는 $I_B/C$이고, 지수 구간의 처음 기울기는 $e_{\text{전환}}/\tau = (I_B/g_m)/(C/g_m) = I_B/C$이다. 그래서 응답이 꺾이지 않고 매끄럽게 이어진다. square-law 포화에서는 $I_B/g_m = V_{ov}/2$이므로, **남은 오차가 대략 $V_{ov}$의 절반보다 크면 slew 구간**으로 볼 수 있다. 큰 신호의 정착 시간은 다음과 같이 어림한다.

$$
T \approx \underbrace{\frac{\Delta V - I_B/g_m}{I_B/C}}_{\text{slew}} + \underbrace{\tau \ln\frac{I_B/g_m}{e_{\text{목표}}}}_{\text{지수}}
$$

실제 소자에서는 전환이 한 점이 아니라 어느 폭에 걸쳐 일어난다. 이 식은 큰 신호에서 필요한 시간을 작은 신호 τ만으로 계산하면 얼마나 짧게 잡는지 보여주는 어림셈이다.

slew 구간은 계단 크기에 비례해 길어진다. 작은 신호만 보고 τ로 계산하면 큰 신호에서 필요한 시간을 짧게 잡게 된다. 반대로 출력이 올라갈 때는 SF가 큰 전류를 낼 수 있어 slew가 거의 없다. **같은 크기라도 내려갈 때와 올라갈 때 정착 시간이 다를 수 있다.**

## 핵심 정리
- pole이 여럿이면 출력이 늦게 출발하고, 같은 시간에서 단일 지수보다 큰 오차가 남을 수 있다.
- dominant pole 근사는 τ가 크게 차이 날 때만 잘 맞는다. τ를 더하는 근사는 지연이 쌓이는 효과를 반영한다.
- 고른 RC 사다리의 Elmore 지연은 $RC(n+1)/(2n)$. 빠른 어림셈이지 실제 정착 시간은 아니다.
- driver와 배선, 부하가 있으면 $\tau_E = R_d(C_w+C_L) + R_w(C_w/2 + C_L)$. π·T 모델 모두 같은 값을 준다.
- 버퍼로 분리된 블록이 이어지면 τ를 더해 어림한다.
- 큰 신호는 $I_B/C$의 slew로 먼저 움직이고, 남은 오차가 $I_B/g_m$ 아래로 내려가면 지수 정착으로 넘어간다. 그 점에서 두 기울기가 같다.
