4T 픽셀이 한 번 읽힐 때 reset, 전송, 두 번의 표본화가 왜 필요한지 설명할 수 있다.
무작위로 흔들리는 noise와 매번 같은 방향으로 틀어지는 settling error를 구분할 수 있다.
01한 문장으로
이미지센서 픽셀은 빛을 전자로 바꾸어 모아 둔다. readout 회로는 그 전자의 수를 세어 숫자로 바꾼다. 이 교재는 두 번째 일, 곧 "얼마나 정확하고 조용하게 셀 수 있는가"를 다룬다.
전자를 직접 하나씩 셀 수는 없다. 그래서 회로는 전자를 전압으로 바꾸고, 그 전압을 멀리 있는 회로까지 옮기고, 정해진 순간에 표본을 뜬 다음, 마지막에 숫자로 바꾼다. 단계마다 신호를 나르는 물리량이 바뀐다.
단계
하는 일
신호의 모습
다루는 장
포토다이오드(PPD)
빛이 만든 전자를 모은다
전자 수 N
소자 교재
전송 게이트(TG)
전자를 옆 칸으로 옮긴다
전하 이동
08장
플로팅 디퓨전(FD)
전자를 전압으로 바꾼다
전압 변화
03·04장
소스 팔로워(SF)
약한 전압을 힘 있게 내보낸다
같은 전압, 큰 구동력
02·05장
column 배선
신호를 멀리 나른다
시간에 따라 다가가는 전압
06·07장
표본화(S/H)와 CDS
정해진 순간의 값을 잡고 두 값을 뺀다
한 순간의 값, 두 값의 차
09·13장
ADC
전압을 숫자로 바꾼다
정수 코드
15장
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
024T 픽셀의 한 번의 읽기
대표적인 픽셀인 4T 픽셀(transistor 4개)은 다음 순서로 읽는다. 아래 시뮬레이터에서 단계 버튼을 하나씩 눌러 보자.
Reset: RST 스위치를 켜서 FD를 정해진 전압으로 맞춘다. 칠판을 지우는 일과 같다.
Reset 읽기: RST를 끈 뒤 출력을 한 번 읽는다. "빈 칠판"의 값이다.
전송: TG를 켜서 포토다이오드의 전자를 FD로 옮긴다. 전자는 음전하이므로 FD 전압이 내려간다.
Signal 읽기: 다시 읽는다. 이번에는 "글씨를 쓴 칠판"의 값이다.
빼기(CDS): 두 값의 차이가 빛에 비례하는 신호다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
03왜 두 번 읽어서 빼는가
Reset 스위치를 끄는 순간, FD에는 매번 조금씩 다른 양의 전하가 남는다. 전하가 열 때문에 흔들리기 때문이다(kT/C noise, 12장). 이 무작위 성분은 한 번만 읽으면 그대로 신호에 섞인다.
그런데 이 성분은 reset 읽기와 signal 읽기에 똑같이 들어 있다. 그래서 두 값을 빼면 사라진다. 이것이 상관 이중 표본화(correlated double sampling, CDS)의 핵심이다. 시뮬레이터에서 kT/C를 켜고 끄며 CDS 결과가 바뀌지 않는 것을 확인해 보자.
주의: CDS가 모든 noise를 지우지는 않는다. 두 번 읽는 사이에 새로 생긴 흔들림은 남는다. 무엇이 얼마나 지워지는지는 13장에서 주파수로 따진다.
04두 가지 오차
readout 설계는 결국 두 종류의 오차를 줄이는 일이다.
Noise: 읽을 때마다 다르게 나타나는 무작위 성분이다. 평균은 0이고 "얼마나 퍼져 있는가"(RMS)로 말한다.
settling error(정착 오차): 출력이 최종값까지 다 가기 전에 읽어서 생기는 차이다. 같은 조건이면 매번 같은 방향, 같은 크기로 나타난다.
시뮬레이터에서 column 정착 τ를 키워 보자. 출력이 표본 시점까지 다 따라오지 못해 CDS 결과가 이상값에서 벗어난다. 이 차이는 무작위가 아니라 settling error다. 06·07장에서 자세히 다룬다.
두 오차는 같은 회로를 공유한다. 예를 들어 FD를 작게 만들면 전자 하나가 만드는 전압이 커져 noise에 유리하지만, 동작 범위나 다른 회로의 부담이 바뀔 수 있다. 이 교재는 이런 연결을 장마다 실험으로 확인한다.
이 교재의 모든 수치는 개념을 보여주기 위한 합성 예제다. 특정 제품의 설계값이나 정확도를 뜻하지 않는다.
핵심 정리
전자는 FD에서 전압이 되고, SF와 column을 지나, 표본화된 뒤, ADC에서 숫자가 된다.
4T 픽셀은 reset 값과 signal 값을 따로 읽고 그 차이를 신호로 쓴다(CDS).
CDS는 두 표본에 공통인 성분(reset 때 남은 무작위 전하 등)을 지운다.
noise는 무작위로 퍼지는 오차, settling error는 매번 같은 방향의 오차다.
문턱 아래에서도 전류가 흐르는 이유와, 그 전류가 gate 전압에 지수적으로 변하는 것을 안다.
작은 신호에서 쓰는 $g_m$, $g_{mb}$, $g_{ds}$가 무엇을 뜻하는지 안다.
01한 문장으로
MOSFET은 gate 전압으로 채널(전자의 길)을 만들었다 지웠다 하는 수도꼭지다. 픽셀의 SF, reset 스위치, column의 전류원, ADC의 비교기까지 readout 회로의 거의 모든 소자가 MOSFET이다. 이 장은 회로를 해석하는 데 필요한 만큼만 MOS를 정리한다. 소자 내부의 더 깊은 물리는 CIS Pixel Device Physics 교재가 다룬다.
02Gate가 채널을 만든다
NMOS는 p형 실리콘 위에 얇은 산화막을 깔고 그 위에 gate 전극을 올린 구조다. 양옆에는 전자가 풍부한 source와 drain이 있다.
Gate에 양(+) 전압을 걸면 산화막 바로 아래로 전자가 끌려와 얇은 전자 층이 생긴다. 이 층이 source와 drain을 잇는 반전 채널(inversion channel)이다. 채널이 생기기 시작하는 gate 전압이 문턱전압(threshold voltage) $V_{th}$이고, 그보다 더 건 만큼을 overdrive라고 부른다.
\[V_{ov} = V_{GS} - V_{th}\]
$V_{ov}$가 클수록 채널에 전자가 많아져 전류가 잘 흐른다. 아래 3D 모델에서 $V_{GS}$를 올리며 파란 채널이 두꺼워지는 것을 보자.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
03Drain을 올리면 채널이 기울어진다
이제 drain 전압 $V_{DS}$를 올려 보자. Source 쪽은 그대로인데 drain 쪽은 전압이 높아진다. 그러면 drain 쪽에서는 gate와 채널 사이의 전압 차이가 줄어 채널이 얇아진다. 채널이 source에서 drain으로 갈수록 점점 가늘어지는 모양이 된다.
$V_{DS}$가 작을 때(triode): 채널이 끝까지 이어져 있다. 저항처럼 동작해 $V_{DS}$에 비례해 전류가 는다.
$V_{DS} \ge V_{ov}$일 때(포화): drain 끝에서 채널이 끊긴다(pinch-off). 이후로는 $V_{DS}$를 더 올려도 전류가 거의 늘지 않는다.
포화에서 전류가 거의 일정하다는 성질 덕분에 MOSFET은 전류원으로 쓰인다. column 끝의 bias 전류원(05장)이 바로 이 성질을 이용한다. 긴 채널 소자에서 흔히 쓰는 식은 다음과 같다.
\[I_D = \frac{k}{2}\,V_{ov}^2 \quad (\text{포화}), \qquad k = \mu_n C_{ox}\frac{W}{L}\]
triode 식과 영역 경계
Triode 영역의 전류는 $I_D = k\,[V_{ov}V_{DS} - V_{DS}^2/2]$다. 이 식은 $V_{DS} = V_{ov}$에서 최댓값 $kV_{ov}^2/2$에 닿고, 그 점에서 포화 식과 매끄럽게 이어진다. 실제 포화에서도 $V_{DS}$를 올리면 전류가 조금씩 는다. 끊긴 지점이 source 쪽으로 다가가 실제 채널이 짧아지기 때문이다(채널 길이 변조). 보통 $(1+\lambda V_{DS})$를 곱해 나타낸다.
이 식들은 긴 채널을 위한 1차 근사다. 짧은 채널에서는 전자의 속도가 포화하고 이동도가 줄어 전류가 $V_{ov}^2$보다 느리게 늘어난다. 정밀한 계산에는 BSIM 같은 compact model을 쓰고, 이 식은 경향과 손계산에 쓴다.
04문턱 아래에서도 전류는 흐른다
$V_{GS}$가 $V_{th}$보다 낮으면 전류가 0일까? 아니다. 수도꼭지를 거의 잠가도 물이 조금씩 새듯, 문턱 아래에서도 작은 전류가 흐른다. 이 영역을 약반전(subthreshold, weak inversion)이라고 한다.
약반전 전류는 gate 전압에 지수적으로 변한다. 그래서 전류를 로그 축으로 그리면 직선이 된다. 전류를 10배 바꾸는 데 필요한 gate 전압은 실온에서 대략 70–100 mV다.
마지막 식이 특히 쓸모 있다. 같은 전류라면 $V_{ov}$를 작게 할수록 $g_m$이 커진다. 대신 $V_{ov}$를 줄이려면 소자를 넓게(W/L을 크게) 만들어야 하고, 그러면 용량이 커진다(03장). 약반전에서는 같은 전류로 얻을 수 있는 가장 큰 $g_m = I_D/(nV_T)$를 얻는다.
06Body effect: 바닥이 올라오면 문턱도 오른다
Source 전압이 bulk보다 높아지면 채널 아래의 공핍층이 두꺼워지고, 채널을 만들기가 더 어려워진다. 그래서 문턱전압이 올라간다. 이것이 body effect다.
Source가 신호에 따라 움직이는 source follower(05장)에서는 이 효과 때문에 출력이 입력을 덜 따라간다. 작은 신호에서는 $g_{mb} = \eta\,g_m$으로 나타나며 $\eta$는 대략 0.1–0.3이다.
주의: 회로 계산에서는 "그 조건에서의 문턱전압"을 직접 쓰는 경우가 많다. 그 값에 이미 body effect가 들어 있다면 위 보정을 다시 더하지 않는다.
07Finger: 넓은 소자를 나눠 그리기
넓은 transistor는 layout에서 여러 개의 가는 조각(finger)으로 나누어 그린다. finger가 NF개면 폭이 NF배인 소자 하나와 같다. 전류와 $g_m$은 finger마다 더해진다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
총전류를 고정하고 finger를 늘리면
총전류 $I$를 NF개의 finger가 나누어 쓰면, finger 하나는 $I/\text{NF}$를 흘리고 $g_m$은 $\sqrt{2k_f I/\text{NF}}$다. 이것을 NF개 더하면 $\sqrt{2\,\text{NF}\,k_f\,I}$로, 폭이 NF배인 소자에 같은 전류를 흘린 것과 같다. 계산에서 흔한 실수는 이미 전체 소자 기준으로 주어진 값에 NF를 한 번 더 곱하는 것이다.
08온도가 바꾸는 것
온도가 오르면 문턱전압은 내려가고(대략 −1 ~ −3 mV/K), 전자의 이동도는 줄어든다. 두 효과는 전류에 반대 방향으로 작용한다. 약반전 전류는 온도에 훨씬 민감하다. 자세한 경향은 부록 A에서 다룬다.
핵심 정리
Gate 전압이 채널을 만들고, $V_{ov} = V_{GS} - V_{th}$가 채널의 세기다.
MOSFET 안의 용량이 동작 영역에 따라 source와 drain 사이에서 옮겨 가는 것을 설명할 수 있다.
접합 용량이 전압에 따라 변해서 생기는 결과를 안다.
회로도에 없는 기생 용량을 어떻게 추정하고 추출하는지, 그때 무엇을 조심해야 하는지 안다.
01한 문장으로
용량은 물통의 바닥 넓이와 같다. 넓은 물통은 같은 양의 물을 부어도 수위가 조금만 오른다. 마찬가지로 용량이 크면 같은 전하를 넣어도 전압이 조금만 변한다.
\[\Delta V = \frac{\Delta Q}{C}\]
readout 회로에서 용량은 거의 모든 것을 정한다. FD 용량은 전자 하나가 만드는 전압을 정하고(04장), column 배선 용량은 정착 시간을 정하며(06장), 스위치를 놓을 때 남는 무작위 전하는 kT/C로 정해진다(12장). 그런데 회로도에 커패시터 기호로 그려진 것은 일부일 뿐이다. 대부분은 transistor와 배선에 딸려 오는 기생 용량(parasitic capacitance)이다.
02용량은 상수가 아닐 수 있다
진짜 소자에서는 전하가 전압에 정확히 비례하지 않는다. 그래서 용량을 "전압을 조금 바꿀 때 필요한 전하"로 정의한다.
\[C(V) = \frac{dQ}{dV}\]
작은 신호에서는 지금 동작점에서의 $C(V)$를 쓰면 된다. 하지만 전압이 크게 움직이면 그 사이의 용량 변화를 다 더해야 한다. 이 차이는 04장(전자 수에 따라 변하는 변환 이득)과 08장(스위치를 끌 때의 전하)에서 다시 나온다.
03단자 전하로 계산하는 용량
회로 시뮬레이터는 용량을 직접 쓰지 않고 단자마다의 전하에서 출발한다. gate, drain, source, bulk 각 단자에 쌓인 전하 $Q_G, Q_D, Q_S, Q_B$를 단자 전압의 함수로 계산하고, 용량은 그 기울기로 정의한다.
$C_{ij}$는 "j 단자 전압을 바꿨을 때 i 단자로 들어오는 전하"다. 전하는 어디로도 사라지지 않으므로 $Q_G + Q_D + Q_S + Q_B = 0$이고, 그래서 각 열의 합이 0이 된다. 이 방식에는 두 가지 중요한 성질이 있다.
전하가 정확히 보존된다. 큰 전압 변화나 스위치가 켜지고 꺼지는 과도에서도 전하가 새로 생기거나 사라지지 않는다. 뒤의 Meyer 모델은 이 성질이 없어 과도 해석에서 오차를 낸다.
$C_{ij} \ne C_{ji}$일 수 있다. 포화에서 drain 전압을 바꿔도 gate 전하는 거의 변하지 않으므로 $C_{gd} \approx 0$이다. 반면 gate 전압을 바꾸면 채널 전하 중 drain 몫이 변하므로 $C_{dg} \ne 0$이다.
채널 전하를 source와 drain 몫으로 나누는 규칙을 전하 분배(charge partition)라고 한다. 포화에서 drain 40%, source 60%로 나누는 것이 대표적인 선택이다. 이 분배는 스위치를 끌 때 채널 전하가 어느 쪽으로 가는지와는 다른 이야기다(08장). 여기서는 정상적인 느린 변화에서의 단자 전하를 말한다.
예: 포화에서의 용량 행렬
채널 전하 총량은 $Q_{ch} = -WLC_{ox}\left[V_{ov} - \tfrac{V_{DS}}{2} + \tfrac{V_{DS}^2}{12(V_{ov}-V_{DS}/2)}\right]$이고, 포화에서는 $-\tfrac{2}{3}WLC_{ox}V_{ov}$다. gate 전하는 그 반대 부호다. 40/60 분배를 쓰면 $WLC_{ox} = 1$일 때 다음과 같다.
$\partial/\partial V_G$
$\partial/\partial V_D$
gate
$C_{gg} = 2/3$
$C_{gd} = 0$
drain
$C_{dg} = 0.27$
$C_{dd} = 0$
$C_{gd} = 0$이지만 $C_{dg} = 0.27$이다. 하나의 "gate–drain 용량" 숫자로 두 방향을 모두 나타낼 수 없다는 뜻이다.
04MOSFET 안의 용량
Gate 아래 산화막은 그 자체로 평행판 커패시터다. 면적이 $W \times L$이므로 gate 전체의 용량은 $WLC_{ox}$다. 흥미로운 점은 이 gate 전하가 어느 단자와 짝을 이루는지가 동작 영역에 따라 바뀐다는 것이다.
영역
채널 모양
gate–source
gate–drain
Cutoff
채널 없음
거의 없음
거의 없음
Triode, $V_{DS} \approx 0$
끝까지 고른 채널
절반 ($WLC_{ox}/2$)
절반 ($WLC_{ox}/2$)
포화
drain 쪽이 끊김
대부분 ($\tfrac{2}{3}WLC_{ox}$)
거의 없음
포화에서 drain 쪽 채널이 끊기면 drain 전압이 채널 전하를 거의 건드리지 못한다. 그래서 gate–drain 사이의 채널 용량이 사라진다. 아래 3D 모델에서 성분을 하나씩 켜고 $V_{DS}$를 움직여 보자.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
Meyer 모델의 식
Triode 전체 구간에서 Meyer 모델은 다음과 같이 쓴다($C_{ov}$는 아래 overlap).
$V_{DS}=0$에서 둘 다 $WLC_{ox}/2$이고, $V_{DS}=V_{ov}$에서 포화 값으로 이어진다. Meyer 모델은 전하를 정확히 보존하지 않는 근사라서, 빠른 과도 해석에는 전하 기반 모델(BSIM의 charge model 등)을 쓴다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
한눈에 정리한 용량 지도를 참고 그림으로 두었다. 단면과 회로 기호에서 같은 용량을 같은 색으로 표시했다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
05바이어스와 속도에 따라 바뀌는 MOS 용량
gate 아래 실리콘의 상태는 gate 전압에 따라 크게 바뀐다. p형 기판의 MOS 구조를 예로 들자.
영역
gate 전압
gate 아래
gate 용량
축적
$V_{FB}$보다 낮음
정공이 표면에 모임
≈ $C_{ox}$
공핍
$V_{FB}$ ~ 문턱 아래
정공이 밀려나 공핍층
$C_{ox}$와 공핍 용량의 직렬 → 작아짐
약반전
문턱 근처
전자가 조금 생김
최솟값 근처
강반전
문턱 위
전자 층(채널) 형성
전자가 따라오면 ≈ $C_{ox}$
deep depletion
문턱 위인데 전자가 없음
공핍층이 계속 넓어짐
계속 작아짐
강반전에서 용량이 $C_{ox}$로 돌아오려면 반전 전자가 gate 전압 변화를 따라와야 한다. 전자를 누가 얼마나 빨리 공급하느냐가 결과를 바꾼다.
source·drain이 붙은 MOSFET: 전자를 source·drain에서 바로 받아 오므로 ns 단위로 따라온다. 높은 주파수에서도 $C_{ox}$에 가깝다.
고립된 MOS 커패시터: 전자를 실리콘 안의 열 생성으로만 얻는다. 생성은 ms~s 단위로 느려서, 높은 주파수 신호에는 반전 전하가 따라오지 못하고 용량이 최솟값에 머문다.
gate를 아주 빨리 끌어올리면: 전자가 생길 시간이 없어 반전층 없이 공핍층이 계속 넓어진다(deep depletion). 용량은 최솟값보다도 작아진다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
이 내용은 스위치 transistor의 gate 배선을 생각할 때 배경이 된다. 한 행의 스위치 gate를 묶은 배선을 driver가 끌어올리면, 꺼져 있던 소자의 gate는 처음에 작은 용량(산화막과 공핍층의 직렬, 그리고 overlap)만 보인다. 채널이 생기고 source·drain에서 전자가 들어오면 용량이 $WLC_{ox}$ 근처로 커진다. 그래서 gate 배선이 driver에 주는 부하는 전환 도중에 바뀌고, 행 배선의 지연을 계산할 때 이 바이어스 의존성을 고려해야 한다(07장 배선 모델).
함께 읽기: 표면 전위와 MOS 커패시터의 물리는 MOSFET 반전 영역 교과서(InversionBook)의 "MOS 커패시터와 표면 전위" 장이 자세히 다룬다.
06가장자리의 용량: overlap
Gate는 source와 drain 위로 살짝 겹쳐 있고, 가장자리에서는 전기장이 휘어져 나간다. 이 overlap·fringing 용량은 동작 영역과 거의 무관하게 항상 남는다. 작지만 gate와 drain을 직접 잇기 때문에 두 가지 현상의 통로가 된다.
스위치 gate가 움직일 때 옆 node로 전압이 튀는 clock feedthrough(08장)
증폭기의 입력과 출력 사이에서 용량이 커 보이는 Miller 효과(04장)
07접합 용량: 전압에 따라 변한다
Source·drain과 기판 사이의 pn 접합도 커패시터다. 역전압을 걸면 가운데의 공핍층(전하가 비어 있는 층)이 넓어진다. 판 사이가 벌어진 것과 같아서 용량이 줄어든다.
FD도 이런 확산 영역이라 접합 용량이 FD 용량의 큰 부분을 차지한다. 여기서 재미있는 일이 생긴다. 전자가 FD에 들어오면 FD 전압이 내려가고, 역전압이 줄어 용량이 조금 커진다. 그러면 다음 전자가 만드는 전압은 조금 작아진다. 신호가 클수록 변환이 살짝 둔해지는, 변환 비선형성의 한 원인이다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
08배선의 용량과 이웃 결합
금속 배선은 아래 기판과도, 옆 배선과도 용량으로 이어진다. 공정이 미세해질수록 배선이 높고 촘촘해져 옆 배선과의 결합이 커진다. 고정된 전원선과의 용량은 그냥 짐(부하)이지만, 두 신호선 사이의 용량은 한쪽이 움직일 때 다른 쪽을 끌고 가는 통로가 된다.
09추정과 추출
설계 초기(pre-layout)에는 아직 layout이 없어서 기생 용량을 소자 모델과 경험식으로 추정한다. Layout을 그린 뒤(post-layout)에는 추출 도구(PEX)가 실제 모양에서 배선의 저항·용량과 node 사이 결합을 계산해 회로에 붙인다.
추출 결과는 추출 조건(공정 조건, 온도, 어느 결합까지 남기는지)에 따라 달라진다.
소자 모델에 이미 있는 성분(접합, gate overlap)을 추출 도구가 또 넣으면 두 번 세는 셈이 된다. 무엇이 모델에서 왔고 무엇이 추출에서 왔는지 경계를 확인해야 한다.
추출 값이 있다고 정확도가 보증되는 것은 아니다. 측정이나 정밀 해석과 비교하는 단계가 따로 있다(부록 C).
용량 값을 볼 때는 세 가지를 같이 확인하자. 어느 두 node 사이인가, 어떤 전압 조건에서의 값인가, 다른 곳에서 이미 센 성분과 겹치지 않는가.
핵심 정리
용량은 물통의 바닥 넓이다. $\Delta V = \Delta Q / C$.
용량은 전압에 따라 변할 수 있다. 작은 신호에는 $dQ/dV$, 큰 변화에는 그 사이 전하를 다 더한다.
MOSFET의 gate 용량은 triode에서 source·drain에 반씩, 포화에서는 대부분 source 쪽에 붙는다.
Overlap 용량은 항상 남아 feedthrough와 Miller 효과의 통로가 된다.
접합 용량은 역전압이 줄면 커진다. FD에서는 변환 비선형성의 원인이다.
추출한 기생 용량은 모델과 이중으로 세지 않도록 경계를 확인한다.
확인 퀴즈
포화 영역 NMOS에서 drain 쪽 intrinsic gate capacitance(overlap 제외)는 Meyer 모델에서 대략?
전자 하나가 만드는 전압을 변환 이득(conversion gain, CG)이라고 한다. 전자의 전하는 $q = 1.6\times10^{-19}$ C이므로, $C_{FD} = 1$ fF이면 전자 하나가 약 160 µV를 만든다. FD 뒤의 회로가 전압을 $A$배로 옮기면 출력에서 본 CG는 $A$를 곱한 값이다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
CG가 크면 좋은 점이 있다. 뒤쪽 회로의 noise가 같아도, 그것을 "전자 몇 개에 해당하는가"로 환산하면 작아진다. 그래서 어두운 장면을 잘 찍으려면 FD를 작게 만든다. 대신 같은 전압 범위에 담을 수 있는 전자 수가 줄어든다. 두 요구를 함께 맞추려고 상황에 따라 FD 용량을 바꾸는 dual conversion gain 구조가 쓰인다(소자 교재 FD 장).
주의: $C_{FD}$는 정확한 상수가 아니다. 접합 용량이 전압에 따라 변하므로(03장) 신호가 크면 CG도 조금 달라진다. CG를 말할 때는 어느 동작점, 어느 관측 위치에서의 값인지 함께 적자.
03두 커패시터를 연결하면
전압이 다른 두 커패시터를 스위치로 연결해 보자. 물통 두 개를 관으로 잇는 것과 같다. 물(전하)은 그대로 있고 수위(전압)만 같아진다.
\[V_f = \frac{C_1V_1 + C_2V_2}{C_1 + C_2}\]
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
놀라운 점은 에너지는 보존되지 않는다는 것이다. 연결하는 동안 전류가 스위치를 지나며 열을 낸다. 잃는 에너지는 다음과 같고, 스위치 저항 값이 들어 있지 않다.
\[\Delta E = \frac{1}{2}\,\frac{C_1C_2}{C_1+C_2}\,(V_1 - V_2)^2\]
저항이 작으면 큰 전류가 짧게, 크면 작은 전류가 길게 흐를 뿐 잃는 양은 같다. 이 성질은 12장에서 "kT/C noise는 저항과 무관하다"는 결론으로 다시 만난다. FD에 추가 용량을 연결해 CG를 낮추는 동작, 스위치를 끌 때 채널의 전자가 양쪽으로 나뉘는 현상(08장)이 모두 전하 재분배다.
04옆에서 움직이면 따라 움직인다
떠 있는 node에 커패시터 하나가 연결되어 있고, 그 반대쪽이 $\Delta u$만큼 움직인다고 하자. node는 다른 용량들과 함께 그 움직임을 나눠 받는다.
\[\Delta v = \frac{C_c}{C_c + C_{rest}}\,\Delta u\]
$C_c$는 움직이는 쪽과 이어진 결합 용량, $C_{rest}$는 고정된 쪽으로 이어진 나머지 용량이다. Reset gate나 transfer gate가 움직일 때 FD 전압이 살짝 튀는 feedthrough가 바로 이 식이다.
05Miller 효과: 함께 움직이면 작아 보인다
커패시터 양쪽이 함께 움직이면 그 커패시터가 요구하는 전하가 달라진다. 입력과 출력 사이에 용량 $C$가 있고, 출력이 입력의 $A$배로 움직인다면, 입력에서 본 실효 용량은 이렇다.
\[C_{in} = C\,(1 - A)\]
Source follower의 $C_{gs}$가 좋은 예다. 이득이 $A = 0.85$라면 FD가 움직일 때 source도 0.85배 따라 움직인다. $C_{gs}$ 양 끝의 전압 차이는 15%밖에 변하지 않으니, FD가 보는 $C_{gs}$는 원래의 0.15배다. 반대로 이득이 음수인 반전 증폭기에서는 $1-A$가 1보다 커져 작은 용량이 크게 보인다. 흔히 말하는 Miller 증폭이다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
주의: 실효 용량을 쓸 때 가장 흔한 실수는 두 번 반영하는 것이다. 회로 전체를 그대로 시뮬레이션할 때는 $C_{gs}$가 이미 실제 연결로 들어가 있다. 거기에 $C_{gs}(1-A)$를 또 더하면 틀린다. 실효 용량은 회로를 한 node로 줄여서 손계산할 때만 쓴다.
06떠 있는 node의 전압은 무엇이 정하나
Reset이 끝난 FD처럼 전류가 흐를 길이 없는 node에서는 "DC 동작점"을 구하는 방법이 달라진다. 오래 기다리면 커패시터 전류는 0이 되지만, 그것만으로는 전압이 정해지지 않는다. 그 node에 전하가 얼마나 남아 있는가가 함께 정해야 한다. 회로 시뮬레이터가 이런 node에 초기값을 요구하거나 아주 큰 저항으로 접지하는 것도 이 때문이다.
핵심 정리
떠 있는 node에서는 전하가 보존된다.
변환 이득 $\text{CG} = q/C_{FD}$. 1 fF이면 전자 하나에 약 160 µV.
두 커패시터를 연결하면 전하는 그대로, 전압은 가중 평균으로 맞춰지고, 에너지 일부는 저항과 무관하게 열이 된다.
반대쪽이 움직이면 용량 비율만큼 따라 움직인다(feedthrough).
양 끝이 함께 움직이면 실효 용량은 $C(1-A)$. 손계산에서만 쓰고 두 번 반영하지 않는다.
확인 퀴즈
Gain A = 0.85인 source follower의 Cgs가 FD에 실효적으로 더하는 용량은?
출력이 입력보다 $V_{th} + V_{ov}$만큼 낮은 이유와 body effect가 기울기를 줄이는 이유를 안다.
출력 전압이 쓸 수 있는 범위가 어디서 막히는지 안다.
같은 크기의 신호도 내려갈 때와 올라갈 때 걸리는 시간이 다를 수 있음을 안다.
01한 문장으로
FD는 아주 작은 물통(수 fF)이고, column 배선은 아주 큰 물통(수 pF)이다. 둘을 그냥 이으면 FD의 신호가 큰 물통에 섞여 거의 사라진다(04장). Source follower(SF)는 FD의 수위를 보기만 하고, 그 수위를 큰 물통에 대신 만들어 주는 펌프다.
SF의 gate는 FD에 연결되어 전류를 거의 끌어가지 않는다. Source는 row select 스위치를 거쳐 column 배선으로 이어지고, column 끝의 전류원이 SF에 일정한 전류 $I_B$를 흘린다.
02출력은 입력보다 한 계단 아래
전류원이 $I_B$를 흘리면, SF는 그 전류를 흘리는 데 필요한 만큼의 gate–source 전압을 스스로 맞춘다. 포화 영역의 식(02장)에서 그 전압을 구하면 출력은 이렇게 된다.
$\eta = g_{mb}/g_m$이 0.2라면 이득은 약 0.83이다. Bulk를 source에 묶을 수 있으면 body effect가 사라져 이득이 1에 가까워지지만, 픽셀에서는 면적 때문에 보통 그렇게 하지 않는다.
출력 저항과 정착 속도
SF 출력 쪽에서 들여다본 저항은 $1/(g_m + g_{mb} + g_{ds})$이고, 여기에 전류원 부하의 출력 저항($1/g_L$)이 병렬로 붙는다. $g_{ds}$와 $g_L$은 보통 $g_m$보다 훨씬 작아 흔히 $1/(g_m+g_{mb})$로 어림하지만, 짧은 채널 소자나 약한 전류원에서는 함께 넣어야 한다.
이 저항과 column 배선 용량이 만드는 시정수가 06장의 정착 시간을 정한다. 전류 $I_B$를 키우면 $g_m$이 커져 정착이 빨라지지만, 전력이 늘고 $V_{ov}$가 커져 출력이 더 내려간다.
04출력이 쓸 수 있는 범위
SF 출력의 전압 범위는 양쪽에서 막힌다.
아래쪽: 전류원도 transistor다. 전류원으로 동작하려면 자신도 포화에 있어야 한다. 출력이 너무 내려가면 전류원이 전류를 유지하지 못해 SF 식이 깨진다. 시뮬레이터의 "부하 compliance"가 이 한계다.
위쪽: 입력(FD)이 가장 높을 때는 reset 직후다. SF의 drain–source 전압이 너무 작아지면 SF가 triode로 들어가 이득이 떨어진다.
신호는 reset 값에서 아래로 내려가므로, reset 값이 너무 높으면 위쪽에서, 신호가 너무 크면 아래쪽에서 범위를 벗어난다.
05내려갈 때와 올라갈 때가 다르다
작은 신호 모델은 작은 움직임에만 맞는다. 입력이 크게 떨어지면 SF가 잠깐 꺼지고, 출력은 전류원이 column 용량을 빼내는 속도 $I_B/C_{col}$로만 내려간다. 이것을 slew라고 한다. 반대로 입력이 오를 때는 SF가 큰 전류를 내므로 빨리 따라간다. 그래서 같은 크기의 변화라도 내려갈 때 더 오래 걸릴 수 있다(07장).
06여러 follower가 한 줄을 나눌 때
여러 SF가 같은 column과 전류원을 나눠 쓰도록 연결되기도 한다. 모든 SF가 같고 입력도 같으면 전류가 똑같이 나뉘어 하나의 큰 SF처럼 동작한다(02장 finger와 같은 원리).
입력이나 소자가 다르면 이야기가 달라진다. 각 SF의 전류 식과 공통 출력의 전류 합(KCL)을 함께 풀어야 하고, "전류를 개수로 나눈다"는 단순한 규칙이 성립하지 않는다. 극단적으로는 입력이 가장 높은 SF가 출력을 끌어올리고 나머지는 거의 꺼진다.
핵심 정리
SF는 작은 FD의 전압을 큰 column에 대신 만들어 주는 버퍼다.
출력은 입력보다 $V_{th} + V_{ov}$만큼 낮다.
Body effect 때문에 이득은 1보다 작다. $A_v \approx 1/(1+\eta)$.
출력 저항은 $1/(g_m + g_{mb} + g_{ds} + g_L)$. 보통 $1/(g_m+g_{mb})$로 어림한다.
출력 범위는 아래(전류원 compliance)와 위(SF triode 진입)에서 막힌다.
크게 내려갈 때는 전류원이 정하는 속도(slew)로만 내려간다.
확인 퀴즈
NMOS source follower의 소신호 이득이 1보다 작아지는 주된 원인 두 가지는?
pole, zero, −3 dB 주파수가 각각 무엇인지 Bode 그림으로 설명할 수 있다.
계단 입력 뒤 남은 오차가 지수적으로 줄어드는 모양을 안다.
목표 정확도(N bit)에 필요한 시간을 $\tau \cdot N \ln 2$로 어림할 수 있다.
"τ의 몇 배 기다리면 된다"는 경험 규칙이 어떤 가정 위에 있는지 안다.
01한 문장으로
좁은 관으로 큰 물통을 채운다고 해 보자. 처음에는 물이 빨리 차지만, 목표 수위에 가까워질수록 밀어 주는 힘(수위 차이)이 줄어 점점 느려진다. 전압도 똑같이 목표값에 "점점 느리게" 다가간다. 이 다가가는 속도를 정하는 숫자가 시정수(time constant) $\tau$다.
readout에서 이런 일은 계속 일어난다. Source follower가 column 배선을 끌고 갈 때, 스위치가 커패시터를 충전할 때, 그 신호가 다 도착하기 전에 읽으면 오차가 남는다. 01장에서 본 settling error다.
02RC가 τ를 만든다
저항 $R$을 통해 용량 $C$를 충전하면 시정수는 둘의 곱이다.
\[\tau = RC\]
저항이 크면 물이 천천히 흐르고, 용량이 크면 채울 물이 많다. 둘 다 τ를 늘린다. 단위를 맞춰 보면 kΩ × pF = ns다. 예를 들어 20 kΩ과 2 pF이면 τ = 40 ns다.
Source follower가 column을 끌 때 $R$은 SF의 출력 저항 $1/(g_m + g_{mb} + g_{ds} + g_L)$이고(05장), $C$는 column 배선과 연결된 소자들의 용량이다.
분모를 0으로 만드는 (복소) 주파수를 pole이라고 한다. Bode 그림(로그 주파수에 dB 크기)에서 pole은 기울기가 꺾이는 점이다. pole보다 낮은 주파수에서는 크기가 거의 1이고, 높은 주파수에서는 주파수가 10배 될 때마다 크기가 1/10(−20 dB)로 준다. 정확히 pole 주파수에서는 크기가 $1/\sqrt{2}$(−3 dB), 위상이 −45°다.
−3 dB 주파수(대역폭)는 크기가 $1/\sqrt{2}$로 줄어드는 주파수다. pole이 하나뿐이면 pole 주파수와 같다.
\[f_{-3\text{dB}} = f_p = \frac{1}{2\pi\tau}\]
τ = 40 ns이면 약 4 MHz다. pole이 여럿이면 −3 dB 주파수는 가장 낮은 pole보다 더 낮아진다. 같은 pole 두 개면 그 0.64배다.
분자를 0으로 만드는 주파수는 zero다. zero는 반대로 기울기를 +20 dB/dec 꺾어 크기를 다시 올린다. source follower에서는 입력이 $C_{gs}$를 통해 출력으로 바로 넘어가는 길이 zero를 만든다. pole과 zero가 가까이 있으면 크기 그림에서는 서로 거의 지워지지만, 시간 응답에는 천천히 줄어드는 작은 꼬리를 남길 수 있다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
시간으로 보든 주파수로 보든 같은 회로의 같은 성질이다. 대역폭이 넓을수록 빨리 정착하고, 동시에 더 넓은 범위의 noise를 통과시킨다(11장). 그래서 정착과 noise는 서로 당기는 관계에 있다.
06pole을 볼 때 흔히 하는 착각
"pole은 분모가 0이 되는 주파수"라는 말은 자주 오해된다. 그렇다면 pole 주파수에서 이득이 무한대가 되어야 하지 않을까? 그렇지 않다. 열쇠는 복소 주파수 $s$다.
회로를 시간에 대해 풀면 응답은 $e^{st}$ 꼴의 항들로 이루어진다. 여기서 $s = \sigma + j\omega$는 복소수이고, 두 부분의 뜻이 다르다.
\[e^{st} = e^{\sigma t}\cdot e^{j\omega t}\]
실수부 $\sigma$: 지수의 크기 부분이다. 음수면 시간이 갈수록 줄어드는 감쇠, 양수면 커지는 불안정이다. $\sigma = -1/\tau$이면 $e^{-t/\tau}$다.
허수부 $\omega$: 출렁이는(진동하는) 주파수다. 0이면 출렁임 없이 줄어들기만 한다.
RC 하나의 전달함수를 $s$로 쓰면 $H(s) = 1/(1+s\tau)$이고, 분모는 $s = -1/\tau$에서 0이 된다. 이 pole은 음의 실수축 위에 있다. 실수부 $-1/\tau$가 바로 지수 감쇠 $e^{-t/\tau}$의 빠르기다.
반면 우리가 사인파를 넣어 재는 실제 주파수는 $s = j\omega$, 곧 허수축 위다. 허수축 위에서는 분모 $1 + j\omega\tau$가 절대 0이 되지 않는다. pole의 크기와 같은 $\omega = 1/\tau$에서 분모는 $1 + j$가 되어 크기가 $\sqrt{2}$배가 된다. 그래서 그 주파수에서 이득은 $1/\sqrt{2}$(−3 dB), 위상은 −45°다. "pole 주파수"는 pole까지의 거리 $|s| = 1/\tau$를 $2\pi$로 나눈 값이고, 실제 주파수 축에서는 그 점이 −3 dB 점이 된다.
pole이 복소수 쌍이면(2차 시스템) 이야기가 달라진다. pole이 허수축에 가까울수록 감쇠는 느리고 출렁임은 크며, 주파수 응답에는 봉우리가 생긴다. 이때는 −3 dB 주파수가 pole의 크기와 같지 않다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
07경험 규칙의 의미와 한계
현업에서는 "τ의 몇 배를 기다리면 충분하다" 같은 경험 규칙을 많이 쓴다. 빠르게 판단할 수 있어 유용하지만, 두 가지를 기억하자.
이 규칙은 경로가 하나의 지수로 움직인다는 가정 위에 있다. pole이 여러 개이거나, 큰 신호에서 slew가 생기면 필요한 시간이 더 길어진다(07장).
어떤 τ를 썼는지가 중요하다. 회로 전체에서 하나의 τ를 뽑는 방법(가장 느린 pole, Elmore 지연 등)마다 결과가 다르다.
주의: 경험 규칙을 만족했다는 것은 "대략 괜찮다"는 신호일 뿐, 실제 남은 오차가 몇 LSB인지 보증하지 않는다. 정확한 값이 필요하면 실제 회로의 응답을 계산하거나 측정한다.
핵심 정리
시정수 $\tau = RC$. kΩ × pF = ns.
남은 오차는 $e^{-t/\tau}$로 줄어든다. 로그 축에서 직선이다.
N bit 정확도에는 $T_N \approx 0.69\,N\,\tau$가 필요하다. 한 bit 더 = 0.69 τ 더.
n이 크면 $\tau_E \to RC/2$다. 아래 시뮬레이터는 사다리를 직접 풀어(수치 적분) Elmore 근사와 비교한다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
실제 응답은 처음에 더 늦게 출발하고(신호가 먼 끝까지 퍼지는 데 시간이 걸린다), 나중에는 Elmore 지수보다 빨리 줄어든다. 늦은 구간의 시정수는 약 $4RC/\pi^2 \approx 0.4\,RC$다.
Elmore 지연은 무엇인가
Elmore 지연은 임펄스 응답의 첫 번째 모멘트, 곧 "신호가 평균적으로 언제 도착하는가"다. 계산이 쉽고 배선 길이·용량에 대한 감각을 빠르게 주지만, 실제 pole도 아니고 특정 오차까지의 정착 시간도 아니다. 정확한 정착 시간이 필요하면 더 많은 모멘트를 쓰는 축약이나 직접 계산을 쓴다. 어떤 방법으로 τ를 얻었는지 함께 적어 두는 습관이 중요하다.
04T 모델과 π 모델
긴 배선을 손으로 다룰 때는 한 덩어리로 줄인 모델을 자주 쓴다. 배선 전체 저항 $R_w$, 전체 용량 $C_w$를 다음 둘 중 하나로 나타낸다.
π 모델: 용량을 반씩 양 끝에 두고 가운데 저항 하나 ($C_w/2$ – $R_w$ – $C_w/2$).
T 모델: 저항을 반씩 양쪽에 두고 가운데 용량 하나 ($R_w/2$ – $C_w$ – $R_w/2$).
그림 7-1. 같은 배선을 나타내는 세 가지 모델. 분포 RC를 구간으로 나눈 사다리, 용량을 양 끝에 나눈 π 모델, 저항을 양쪽에 나눈 T 모델.
driver 저항 $R_d$가 배선을 거쳐 부하 $C_L$을 끈다고 하자. 두 모델 모두 먼 끝의 Elmore 지연이 같고, 분포 RC의 Elmore 지연과도 정확히 같다.
실제 회로에서 픽셀 출력부터 비교기 입력까지는 버퍼 없이 이어진 경우가 많다. 그때는 뒤 단의 용량이 앞 단을 함께 무겁게 하므로, 앞 절의 Elmore 지연(경로상의 모든 용량 × 위쪽 저항)으로 계산하는 편이 맞다. 예를 들어 SF 출력 저항은 그 뒤의 모든 용량을 끌어야 하므로 $14\ \text{k}\Omega \times 8.5\ \text{pF} \approx 119$ ns가 되어, 단독으로 볼 때의 7 ns와 크게 다르다.
이것도 Elmore 지연과 같은 생각이다. 각 블록이 신호를 평균적으로 τ만큼 늦추므로 지연이 쌓인다. 한 블록이 압도적으로 느리면 그 τ 하나로 충분하고, 비슷한 블록이 여럿이면 합으로 어림한다. 버퍼가 없으면 뒤 블록의 용량이 앞 블록의 짐이 되어 τ가 서로 바뀌므로, 앞 절의 사다리처럼 함께 풀어야 한다.
아래 시뮬레이터는 버퍼로 분리된 세 블록의 경우를 보여준다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
06크게 떨어질 때: slew
지금까지는 작은 신호의 이야기였다. 신호가 크게 떨어지면 다른 일이 생긴다. 05장에서 본 것처럼, source follower 출력이 크게 내려가야 할 때 SF는 잠깐 꺼지고, column 용량의 전하는 전류원 $I_B$로만 빠져나간다. 출력은 일정한 속도로 직선을 그리며 내려간다. 이것이 slew다.
\[\frac{dV}{dt} = \frac{I_B}{C}\]
오차가 충분히 작아지면 SF가 다시 살아나 지수 정착($\tau = C/g_m$)으로 바뀐다. 바뀌는 지점은 아래에서 따로 따진다. 그래서 큰 신호의 정착 시간은 "slew 구간 + 지수 구간"이다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
07slew에서 지수로 넘어가는 점
언제 slew가 끝나고 지수 정착이 시작될까? 먼저 직관부터 잡자. 두 구간 모두 "용량에 전류를 흘려 전압을 바꾼다"는 점은 같다. 다른 것은 어떤 전류로 채우느냐다.
SF의 출력 저항은 $R = 1/g_m$이므로 $\tau = RC = C/g_m$이다. 오차가 클 때는 $e/R$이 $I_B$보다 커서 "그만큼 빨리 가고 싶지만 전류가 모자라" slew가 되고, 오차가 줄어 $e/R$이 $I_B$ 아래로 내려가면 지수로 넘어간다. 전환점은 두 전류가 같은 곳이다.
곧 "slew 속도 × τ"가 전환 오차다. slew 속도가 2.5 V/µs이고 τ가 33 ns라면, 남은 오차가 약 83 mV일 때 넘어간다. 거꾸로 보면, 계단 크기 $\Delta V$가 $\text{SR}\times\tau$보다 작은 신호는 처음부터 slew 없이 지수로만 움직인다. 처음 기울기 $\Delta V/\tau$가 slew 속도를 넘지 않기 때문이다.
같은 결과를 SF의 동작으로 다시 따라가 보자. 지수 정착 구간에서 출력이 움직이는 속도는 남은 오차 $e$에 비례한다($de/dt = -e/\tau$). 이 속도를 내려면 용량에 $C \cdot e/\tau = g_m e$의 전류를 흘려야 한다. 그런데 전류원이 줄 수 있는 전류는 $I_B$가 한계다. 따라서 필요한 전류가 $I_B$보다 크면 slew, 작아지면 지수 정착이다.
이 점에서 두 구간의 기울기가 정확히 같다. 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{지수}}\]
예: 숫자로 따라가 보기
$I_B$ = 5 µA, $C$ = 2 pF, $g_m$ = 60 µS, 내려갈 크기 $\Delta V$ = 0.8 V라고 하자.
slew 속도: $I_B/C$ = 5 µA / 2 pF = 2.5 V/µs
선형 구간의 시정수: $\tau = C/g_m$ = 2 pF / 60 µS = 33 ns
전환점: $e = I_B/g_m$ = 5 µA / 60 µS = 83 mV
확인: 전환점에서 지수 구간의 기울기 $e/\tau$ = 83 mV / 33 ns = 2.5 V/µs — slew 속도와 같다.
이제 시간을 더한다. slew 구간은 $(0.8 - 0.083)\,\text{V} / 2.5\,\text{V/µs} \approx 287$ ns, 지수 구간은 1 mV까지 $33\,\text{ns}\times\ln(83/1) \approx 147$ ns로 합계 약 434 ns다. 작은 신호 τ만으로 계산하면 $33\,\text{ns}\times\ln(800/1) \approx 223$ ns로, 절반 가까이 짧게 잡게 된다. 아래 시뮬레이터 기본값이 이 예다.
정리하면 slew는 "전류 ÷ 용량"으로 정해지는 일정한 속도이고, 지수 정착은 "남은 오차 ÷ τ"로 정해지는 오차에 비례하는 속도다. 두 속도가 같아지는 오차가 전환점이다.
실제 소자에서는 전환이 한 점이 아니라 어느 폭에 걸쳐 일어난다. 이 식은 큰 신호에서 필요한 시간을 작은 신호 τ만으로 계산하면 얼마나 짧게 잡는지 보여주는 어림셈이다.
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$ 아래로 내려가면 지수 정착으로 넘어간다. 그 점에서 두 기울기가 같다.
확인 퀴즈
같은 시정수 τ를 가진 1차 단 두 개를 직렬로 이었다. 8τ 뒤 남은 오차는 단일 지수(e⁻⁸)와 비교해?
표본이 "스위치가 꺼지는 순간"의 값이라는 것과, 그 순간이 정착 전이면 무엇을 잡게 되는지 안다.
순간적인 변화와 표본 시점이 겹칠 때 직전 값과 직후 값을 구분해야 하는 이유를 안다.
표본 시점의 흔들림(jitter)과 hold 중 누설(droop)이 만드는 오차를 어림할 수 있다.
01한 문장으로
움직이는 신호를 숫자로 바꾸려면 먼저 한 순간의 값을 붙잡아 두어야 한다. Sample-and-hold(S/H)는 스위치를 켜 둔 동안 커패시터가 입력을 따라가다가(track), 스위치를 끄는 순간의 값을 붙잡는(hold) 회로다. 사진의 셔터와 같다.
02표본은 "끄는 순간"의 값이다
Track 동안 hold 커패시터 $C_H$는 스위치 저항을 거쳐 입력을 따라간다(06장의 RC 정착). 스위치가 꺼지는 순간 그 전압이 남는다. 그러니 표본 값을 정하는 것은 스위치가 꺼지는 시각이다.
입력이 아직 정착 중이면, 표본은 최종값이 아니라 그 순간의 값이다. 01장에서 본 settling error가 이렇게 생긴다.
스위치가 꺼지는 순간에는 08장의 charge injection과 feedthrough가 함께 들어간다.
붙잡은 뒤의 입력 변화는 표본에 영향을 주지 않는다. 표본과 그 뒤의 회로 상태는 별개다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
03같은 순간에 무언가 바뀐다면
표본 시점과 정확히 같은 순간에 회로의 다른 곳에서 갑작스러운 변화(다른 스위치가 꺼지는 등)가 일어난다고 해 보자. 이상적인 모델에서 그 순간의 전압은 "변화 직전 값"과 "변화 직후 값" 두 개가 있다. 어느 쪽을 표본으로 볼지는 모델에서 미리 정해 두어야 하는 약속이다.
실제 회로에서는 모든 변화가 유한한 시간에 걸쳐 일어나므로, 두 값 사이의 어딘가가 잡힌다. 그래서 시뮬레이션이나 해석에서는 다음을 구분한다.
정확히 같은 시각: 모델이 정한 약속(직전 또는 직후)을 따른다.
아주 가까운 다른 시각: 그 사이의 회로 응답을 실제로 계산해야 한다. 계산 단계가 같다고 두 사건을 하나로 합치면 안 된다.
직후 값은 정착한 값이 아니다. 변화가 막 반영된 순간의 값일 뿐이다.
04시점이 흔들리면
표본 시점이 매번 조금씩 흔들리면(jitter), 입력이 빠르게 변하는 순간일수록 잡은 값이 크게 달라진다. 오차는 입력의 기울기와 시점 흔들림의 곱이다.
진폭 $A$, 주파수 $f$의 사인이면 RMS 오차는 $A \cdot 2\pi f \sigma_t / \sqrt{2}$다. 이미지센서의 reset·signal 표본처럼 거의 정착한 신호를 잡을 때는 기울기가 작아 이 오차가 작다. 정착이 덜 끝난 순간에 잡을수록 커진다.
05붙잡은 값이 새어 나간다
Hold 동안 커패시터 전하는 스위치의 누설 전류로 조금씩 빠진다. 이것이 droop다. S/H와 track-and-hold 회로의 표준 용어로, 사양서에는 보통 단위 시간당 변화인 droop rate(V/s)로 적는다.
read noise를 출력 µV가 아니라 전자 수(e⁻ rms)로 말하는 이유와, 그때 conversion gain(CG)의 역할을 설명할 수 있다.
PSD와 ASD의 뜻과 단위를 알고, 대역에서 적분해 RMS를 얻을 수 있다.
저항·트랜지스터의 thermal noise와 1/f noise를 간단한 식에서 통합 모델, 시뮬레이터 모델까지 단계적으로 따라갈 수 있다.
RTS와 FD에서 직접 생기는 noise 원천(G–R, 누설, 계면 trap)을 구분할 수 있다.
$g_m$을 키우는 방법과 그 대가를 안다.
01한 문장으로
같은 장면을 여러 번 찍어도 픽셀 값은 매번 조금씩 다르다. 이 흔들림이 noise다. noise는 평균이 0이라서 "얼마나 퍼져 있는가"로 말한다. 퍼짐의 크기는 RMS(제곱 평균의 제곱근)이고, 그 제곱이 분산이다.
서로 독립인 원천이 여럿이면 분산끼리 더한다. 40 µV와 30 µV의 독립 noise가 합쳐지면 70 µV가 아니라 $\sqrt{40^2+30^2} = 50$ µV다. 이것을 RSS(root-sum-square)라고 한다. 큰 원천 하나가 전체를 지배하기 쉬운 이유이기도 하다.
02Read noise는 전자 수로 말한다
회로에서 재는 noise는 전압이다. 그런데 이미지센서에서는 read noise를 거의 항상 전자 수로 말한다. 신호가 전자 수이기 때문이다. 출력에서 잰 noise 전압을 출력 conversion gain으로 나누면, "입력에서 전자 몇 개가 흔들린 것과 같은가"가 된다. 이것이 입력 환산 read noise(input-referred read noise)다.
출력 noise가 120 µV이고 CG가 60 µV/e⁻이면 read noise는 2 e⁻다. 이렇게 말하면 좋은 점이 셋 있다.
CG가 다른 픽셀끼리 공정하게 비교할 수 있다.
신호와 바로 비교할 수 있다. 신호 100 e⁻에 read noise 2 e⁻이면 SNR을 바로 어림할 수 있다.
CG를 키우는 효과가 바로 보인다. 회로 noise 전압이 같아도 CG가 두 배면 read noise는 절반이다. 04장에서 작은 FD가 저조도에 유리하다고 한 이유다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
주의: 나누는 CG와 noise 전압은 같은 관측점, 같은 동작 조건의 값이어야 한다. FD에서 잰 CG로 column 출력 noise를 나누면 SF 이득만큼 틀린다. 서로 다른 위치의 원천을 합치는 방법은 11장에서 다룬다.
03CG를 정하는 FD 용량 network
CG를 계산하려면 FD에 붙은 용량을 모두 알아야 한다. 4T 픽셀의 FD에는 대략 다음 용량이 붙는다(03장).
그림 10-1. FD node에 붙는 용량들. 고정된 단자로 가는 용량은 그대로 더하고, 함께 움직이는 SF source로 가는 C_gs는 Miller 효과로 줄여서 더한다.
$C_{j,FD}$: FD 확산과 기판 사이의 접합 용량. 보통 가장 크고, 전압에 따라 변한다. FD 확산은 TG의 drain이면서 RST의 source이므로, 소자 모델로 보면 TG의 $C_{db}$와 RST의 $C_{sb}$가 바로 이 접합 용량이다(03장). 회로 시뮬레이션에서는 두 소자의 접합 용량에 FD 전용 확산 영역의 몫을 더한 것이 $C_j$이므로, 소자 모델의 $C_{db}$·$C_{sb}$와 따로 추출한 FD 접합 용량을 둘 다 더하지 않도록 한다.
$C_{TG}$, $C_{RST}$: transfer gate와 reset gate의 overlap·fringing. gate가 고정되어 있으면 그냥 더한다.
$C_{wire}$: FD에서 SF gate까지의 배선과 주변 배선 결합.
$C_{gd,SF}$: SF drain이 전원에 고정되어 있으므로 그대로 더한다.
$C_{gs,SF}$: 반대쪽(source)이 이득 $A$로 따라 움직이므로 $(1-A)$배로 줄어든다(04장 Miller).
신호에는 Miller로 줄어든 용량이, SF noise에는 $C_{gs}$ 전체를 포함한 실제 용량이 쓰인다. 실효 용량으로 noise를 환산하면 read noise를 작게 잡게 된다. 회로 전체를 시뮬레이션하면 이 효과가 자동으로 들어가지만, 손계산이나 축약 모델에서는 따로 챙겨야 한다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
이 보정은 SF에서 생긴 noise에만 적용된다. 원천의 위치에 따라 환산 방법이 다르다.
원천 위치
예
전자 수로 바꾸는 법
FD에 전하로 직접
reset noise, 누설, G–R
그 전하가 곧 입력 환산 값
SF 자신
SF thermal·1/f·RTS
$v_n(C_f + C_{gs})/q$
SF 뒤
column, 비교기
같은 관측점 CG(Miller로 줄어든 용량)로 나눔
05주파수로 펼쳐 보기: PSD
noise는 여러 주파수 성분의 합이다. 각 주파수 근처 1 Hz 폭에 들어 있는 분산을 PSD(power spectral density)라고 하고, 단위는 V²/Hz다. 그 제곱근이 ASD이고 단위는 V/√Hz다. 데이터시트의 "10 nV/√Hz"가 ASD다.
\[\sigma^2 = \int_{f_1}^{f_2} S(f)\,df\]
전체 분산은 PSD 곡선 아래의 면적이다. 이 교재는 양의 주파수만 쓰는 단측 PSD를 쓴다. 음의 주파수까지 쓰는 양측 PSD와 비교할 때는 양의 주파수에서 값이 두 배 차이 난다.
06noise 식의 단계: 간단한 식에서 실제 모델로
이제부터 소자 noise의 식이 차례로 나온다. 처음에는 손으로 계산하는 간단한 식에서 출발해, 한 단계씩 실제 소자의 사정을 더해 간다. 뒤 단계는 앞 단계를 버리는 것이 아니라, 어떤 조건에서 앞 단계의 식으로 돌아가는지까지 포함하는 확장이다. 각 절 앞의 [단계 n] 표시가 이 표의 위치다.
단계
thermal noise
1/f noise
더한 것
언제 쓰나
1. 손계산
$4kTR$, $4kT\gamma/g_m$
$K/(C_{ox}WLf)$
크기를 정하는 주요 변수
어림, 경향 비교
2. 물리 그림
$4kT\gamma g_{d0}$, 약반전 $2qI_D$
수 요동, 이동도 요동
noise가 생기는 기구
원인과 치수 의존 이해
3. 통합 모델
반전 전하 기반
수 요동 + 상관된 이동도 요동
바이어스 전 범위를 한 식으로
반전 정도가 바뀌는 회로
4. 시뮬레이터
tnoiMod
fnoiMod
짧은 채널, 직렬 저항, 경험 계수
시뮬레이션 값 해석
5. 개별 trap
—
RTS, Lorentzian
평균이 깨지는 작은 소자
픽셀 분포의 꼬리
07저항과 트랜지스터의 thermal noise
[단계 1] 저항 안의 전자는 열 때문에 무작위로 움직이고, 그 결과 양 끝에 흔들리는 전압이 생긴다. 이 thermal noise는 1928년 Johnson이 측정하고 Nyquist가 이론으로 설명해 Johnson–Nyquist noise(줄여서 Johnson noise)라고도 부른다. 모든 주파수에 고르게 퍼진 백색 noise이고, 열평형에 있는 저항성(에너지를 소모하는) 요소라면 재료와 상관없이 온도와 저항값만으로 크기가 정해진다. 전압원으로 쓰면 $4kTR$, 전류원으로 쓰면 $4kT/R$이다. 둘은 같은 원천을 Thévenin·Norton으로 바꿔 쓴 것이므로 하나만 쓴다.
$g_m$이 클수록 gate 환산 thermal noise가 작다. 그래서 SF나 증폭기 입력 소자의 $g_m$을 어떻게 키우느냐가 중요하다.
약반전과 body 단자
약반전에서는 채널 noise가 shot noise처럼 행동해 $S_{i_d} \approx 2qI_D$가 되고, $g_m = I_D/(nV_T)$를 쓰면 gate 환산 값은 $2nkT/g_m$ 근처가 된다. 또 source follower처럼 bulk가 고정되고 source가 움직이는 소자에서는 $g_{mb}$가 이득을 깎으므로, 출력에서 본 noise는 $g_m$만이 아니라 $g_m + g_{mb}$와 부하가 함께 정한다(05장). 높은 주파수에서는 채널 noise가 gate로 결합되는 induced gate noise도 생기지만, 픽셀 readout 대역에서는 보통 작다.
08gm을 올리려면
02장의 식을 다시 보자. 포화에서 $g_m = \sqrt{2kI_D} = 2I_D/V_{ov}$이다. $g_m$을 키우는 손잡이는 세 개다.
손잡이
효과
대가
전류 $I_D$를 늘린다
$g_m \propto \sqrt{I_D}$ (강반전)
전력, $V_{ov}$ 증가로 출력이 내려감(05장)
W/L을 키운다
같은 전류에서 $V_{ov}$가 줄어 $g_m$ 증가
gate 용량 증가 → CG 감소, 정착 느려짐
약반전 쪽으로 간다
$g_m/I_D$가 최대 $1/(nV_T)$
큰 W/L 필요, 속도 저하
특히 W/L을 키우는 방법은 끝없이 효과가 있지 않다. 소자가 약반전에 가까워지면 $g_m$이 $I_D/(nV_T)$에서 멈추고, 늘어난 용량만 남는다(수확 체감). 이 균형을 다루는 방법이 $g_m/I_D$ 설계법이다.
함께 읽기: 강반전·약반전에서 $g_m$이 어떻게 달라지는지, W/L을 키울 때의 수확 체감과 $g_m/I_D$ 설계법은 MOSFET 반전 영역 교과서(InversionBook)의 "gm을 키우는 법", "gm/ID 설계 방법론", "강반전과 Square Law" 장에서 자세히 다룬다. 링크는 장 끝의 "함께 읽기"에 있다.
091/f noise와 corner
[단계 1] 채널 가까이의 결함(trap)이 전자를 잡았다 놓았다 하면서 생기는 noise는 낮은 주파수일수록 크다. PSD가 주파수에 반비례해 1/f noise(flicker noise)라고 부른다. 회로 계산에서 가장 많이 쓰는 간이식은 gate 환산 형태다.
\[S_{v_g}(f) = \frac{K}{C_{ox}WL\,f}\]
$K$는 공정과 소자 종류(NMOS, PMOS)에 따라 달라지는 계수다. 게이트 면적 $WL$이 클수록 결함이 평균되어 작아진다. 백색 noise와 1/f noise가 같아지는 주파수를 1/f corner라고 한다. corner보다 낮은 주파수에서는 1/f, 높은 주파수에서는 백색이 지배한다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
1/f noise는 대역을 10배 넓힐 때마다 같은 양씩 늘어난다. 그래서 아주 낮은 주파수까지 적분하면 끝없이 커진다. 실제로는 한 번 읽는 데 걸리는 시간과 CDS가 낮은 주파수 쪽을 잘라 준다(13장).
단계 1의 두 식, thermal $4kT\gamma/g_m$과 flicker $K/(C_{ox}WLf)$를 소자 치수로 함께 계산해 보자.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
101/f noise의 물리: 수 요동과 이동도 요동
[단계 2] 간이식의 $K$ 뒤에는 두 가지 물리 그림이 있다.
수 요동(number fluctuation, McWhorter): 산화막 가까이의 trap이 채널 전자를 붙잡았다 놓으면 채널의 전자 수가 흔들린다. trap들의 시간 상수가 고르게 퍼져 있으면 합쳐서 1/f가 된다.
$N_t$는 산화막 trap 밀도(단위 에너지·부피당), $\lambda$는 전자가 산화막으로 터널링하는 감쇠 길이다. 산화막이 얇아 $C_{ox}$가 클수록, 면적이 클수록 작아진다.
이동도 요동(mobility fluctuation, Hooge): 전자의 이동도 자체가 흔들린다. 채널의 전자 수 $N$이 많을수록 상대 흔들림이 작아진다.
\[\frac{S_{i_d}}{I_D^2} = \frac{\alpha_H}{N\,f}\]
두 그림은 경쟁하는 설명처럼 소개되곤 했지만, 실제 MOSFET에서는 대개 함께 일어난다. 다음 단계가 둘을 한 식으로 묶는다.
11통합 모델: 두 그림을 하나로
[단계 3] 수 요동과 이동도 요동은 따로 떨어진 현상이 아니다. trap이 전자를 하나 붙잡으면 채널의 전자 수가 줄고(수 요동), 동시에 산화막 가까이에 전하가 하나 생겨 근처 전자를 산란시킨다(이동도 요동). 두 효과가 같은 사건에서 함께 일어나므로 서로 상관되어 있다. 이것을 한 식으로 묶은 것이 통합 모델(unified model)이다. 1990년 Hung·Ko·Hu가 제안한 형태가 대표적이며, BSIM의 fnoiMod = 1이 이 모델을 바탕으로 한다.
단계 1의 간이식 $K/(C_{ox}WLf)$는 이 바이어스 의존을 상수 $K$ 하나에 묶어 둔 것이다. 그래서 같은 소자라도 바이어스를 바꿔 측정하면 $K$가 달라 보인다. 간이식의 $K$를 옮겨 쓸 때 어떤 바이어스에서 뽑은 값인지 확인해야 하는 이유다.
Hung 모델은 trap 하나가 만드는 전류 변화를 "전자 수 변화 + 산란 변화"로 쓰고, 그 제곱을 펼친 세 항을 채널을 따라 적분한다. 세 항이 다음 절 fnoiMod = 1 식의 NOIA(수 요동), NOIB(두 효과의 교차항, 곧 상관), NOIC(이동도 요동)에 대응한다.
12시뮬레이터 모델의 noise 모드
[단계 4] 회로 시뮬레이터는 단계 2·3의 물리를 계산하기 쉬운 경험식으로 바꿔 쓴다. 가장 오래된 SPICE 형태부터 보자.
$AF$, $EF$는 보통 1 근처다. $AF = 1$이고 포화에서 $g_m^2 = 2\mu C_{ox}(W/L)I_D$로 나누면 gate 환산 값은 $KF/(2\mu C_{ox}^2 WL f)$가 된다. 면적과 주파수에 대한 의존성 $1/(WLf)$는 간이식과 같고, $C_{ox}$와 이동도는 계수 쪽에 묶인다. 그래서 간이식의 $K$와 SPICE의 $KF$는 같은 숫자가 아니다.
BSIM4 모델은 noise 계산 방식을 모드 파라미터로 고른다. 같은 소자라도 어느 모드를 썼는지에 따라 noise 값이 달라지므로, 비교할 때는 모드부터 확인한다. 아래 식의 세부 항과 단위 환산 상수는 BSIM 버전마다 조금씩 다르므로, 실제 값을 옮길 때는 사용하는 버전의 매뉴얼을 기준으로 한다.
$Q_{inv}$는 채널 전체의 반전 전하, $R_{ds}$는 source·drain 직렬 저항, NTNOI는 보정 계수다. 직렬 저항을 무시하면 $4kT\mu|Q_{inv}|/L^2$이 되고, 포화 장채널에서 $4kT\cdot\tfrac{2}{3}g_m$과 같은 값이 된다.
tnoiMod = 1 (holistic): 채널 noise를 source 쪽 전압원 $\overline{v_d^2}$와 drain 전류원 $\overline{i_d^2}$ 두 개로 나눠 넣는다. source 쪽 전압원이 gate로 유도되는 noise와 상관된 성분을 나타낸다.
$V_{dseff}$는 포화를 반영한 유효 $V_{DS}$, $V_{gsteff}$는 유효 overdrive, $E_{sat}$은 속도 포화 전기장이다. 둘째 식의 뺄셈은 source 쪽 전압원이 drain으로 전해지는 몫을 빼 주어, 두 원천을 합한 drain noise가 첫째 괄호 항이 되도록 한 것이다. 두 극한에서 앞 단계와 이어진다.
$V_{DS} \to 0$: $g_m, g_{mbs} \to 0$이고 $V_{dseff}/I_{ds} = 1/g_{ds}$이므로 합이 $4kT\,g_{ds}$, 곧 저항의 Johnson noise다.
TNOIA·TNOIB 항은 overdrive가 커서 속도 포화가 강한 짧은 채널에서 noise가 커지는 것을 반영한다.
주의: 위 tnoiMod = 1 식은 BSIM4의 한 버전 형태를 옮긴 것이다. 버전에 따라 항의 구성, 계수 이름과 기본값, 속도 포화 보정의 꼴이 다르고, 이후 버전에는 다른 thermal noise 모드도 추가되었다. 이 식은 "두 원천으로 나눠 넣고, 극한에서 앞 단계 식으로 돌아간다"는 구조를 이해하는 용도로 보고, 실제 값은 사용하는 모델 버전의 매뉴얼을 따른다.
$N_0$, $N_l$은 source 끝과 drain 끝의 반전 전하 밀도, $N^*$는 trap 응답에 관련된 상수, NOIA·NOIB·NOIC는 trap 밀도에 관련된 계수, $\Delta L_{clm}$은 채널 길이 변조 구간이다. 첫 항이 채널 안의 기여(앞 절의 세 항), 둘째 항이 포화 영역 끝단의 기여다.
주의: 간이식의 $K$, fnoiMod = 0의 KF, fnoiMod = 1의 NOIA·NOIB·NOIC는 서로 다른 식의 계수다. 같은 소자라도 숫자를 서로 옮겨 쓸 수 없다. 또 이런 계수는 공정마다, 같은 공정에서도 NMOS·PMOS와 바이어스에 따라 크게 다르다. 이 장의 숫자는 예제다.
13하나의 trap: RTS와 Lorentzian
[단계 5] 단계 1–4는 trap이 아주 많아 평균된다고 가정했다. 소자가 아주 작으면 그 가정이 깨져 trap 하나가 전체를 지배할 수 있다. 그 trap이 전자를 잡으면 전류가 한 단계 바뀌고, 놓으면 돌아온다. 전류가 두 값 사이를 무작위로 오가는 RTS(random telegraph signal)다.
잡혀 있는 평균 시간을 $\tau_e$(방출까지), 비어 있는 평균 시간을 $\tau_c$(포획까지), 전류 단계 크기를 $\Delta$라고 하자. 이런 신호의 PSD는 Lorentzian 모양이다.
모서리 주파수 $1/(2\pi\tau)$ 아래에서는 평평하고, 위에서는 $1/f^2$로 떨어진다. 전체 분산은 $\Delta^2\tau_c\tau_e/(\tau_c+\tau_e)^2$로, 잡혀 있는 시간과 비어 있는 시간이 같을 때 가장 크다.
1/f noise는 바로 이 Lorentzian들의 합이다. trap들이 산화막 속 여러 깊이에 있어 시간 상수가 넓은 범위에 고르게(로그 척도로) 퍼져 있으면, 모서리 주파수가 다른 Lorentzian들이 겹쳐 그 사이에서 1/f가 된다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
설계에서 RTS가 중요한 이유는 분포의 꼬리 때문이다. 대부분의 픽셀은 평균적인 1/f noise를 보이지만, 몇몇 픽셀의 SF에는 영향이 큰 trap이 하나 있어 read noise가 몇 배나 크다. 수백만 픽셀 중 그런 픽셀이 얼마나 있는지가 화질을 좌우한다. CDS는 Lorentzian 모서리가 CDS 간격보다 훨씬 낮은 trap은 잘 지우지만, 비슷한 시간 상수의 trap은 지우지 못한다(13장). 물리는 CIS Pixel Device Physics 교재의 read noise 장이 자세히 다룬다.
14FD 주변의 다른 원천
FD에서 직접 생기는 noise는 SF noise와 달리 전하로 바로 들어온다. 그래서 전자 수로 바꿀 때 $C_{gs}$ 되먹임 보정 없이 그 전하가 곧 입력 환산 값이다(앞의 표). 대표 후보는 다음과 같다.
Reset noise: reset을 놓을 때 남는 무작위 전하. 크기는 $\sqrt{kT/C}$이며 12장에서 유도한다. CDS로 지워진다.
FD 경로 저항의 Johnson–Nyquist noise: FD 확산, contact, 금속 배선, 켜진 reset 스위치의 저항은 각각 $4kTR$을 낸다. FD와 고정 전원 사이의 경로(켜진 reset 스위치 등)는 FD 전체 전하를 흔들고, FD 내부의 직렬 경로는 FD 안의 위치마다 전위 차이를 만든다. 켜진 reset 스위치의 noise가 용량에 남은 결과가 곧 kT/C이므로 둘을 따로 더하지 않는다.
암전류 shot noise: FD나 포토다이오드로 새어 드는 전류 $I$는 낱개 전자로 오므로 흔들린다. PSD는 $2qI$이고, 쌓인 전자 수 $N$의 흔들림은 $\sqrt{N}$이다.
접합 G–R noise: FD 접합 공핍 영역의 trap(띠 간격 가운데 근처의 결함 준위)은 전자–정공 쌍을 만들고(생성) 없앤다(재결합). 이것이 접합 누설 전류의 한 기구이고, 그 흔들림이 G–R noise(generation–recombination noise)다. 한 종류의 trap이 지배하면 시간 상수 $\tau$ 하나의 Lorentzian이 된다.
생성 전류는 공핍 영역의 부피에 비례하는 성분과, 접합 가장자리(STI 측벽, 표면)의 둘레에 비례하는 성분으로 나뉜다. 그래서 같은 면적의 접합이라도 공핍 부피와 둘레 길이에 따라 기여가 달라진다. 온도에 강하게 의존한다.
접합·계면 trap의 RTS 누설: trap 하나가 누설 경로를 켰다 껐다 하면 누설 전류가 두 값 사이를 오간다. 이런 픽셀은 암신호가 프레임마다 깜빡인다(RTS 누설, blinking pixel). SF의 RTS와는 위치가 다르다. SF의 trap은 채널 전류를 흔들어 $g_m$을 거쳐 보이고, 접합의 trap은 FD 전하에 바로 쌓인다.
contact·금속–반도체 계면의 trap: FD contact(금속·실리사이드와 Si의 계면)의 trap은 (1) 접촉 저항을 흔들거나, (2) 점유 전하가 바뀌며 FD 전위에 결합되거나, (3) trap을 거친 누설(G–R, RTS)을 만든다. FD는 SF gate에 연결된 고임피던스 node라 유지 구간에 DC 전류가 거의 흐르지 않으므로, (1)의 전압 변동 $\delta V \approx I_{dc}\,\delta R$은 작고 (2)·(3)이 주로 문제가 된다.
GIDL·GISL: 꺼진 TG·RST의 gate 가장자리에서 생기는 누설(gate-induced drain/source leakage)도 FD로 전자를 흘려 넣는다. 일반 접합 누설과 온도·바이어스 거동이 달라 따로 본다. 평균 전류는 FD 전압을 서서히 옮기고(droop, 09장), 그 흔들림은 shot noise처럼 쌓인다.
주의: 같은 trap이나 같은 누설이 여러 이름으로 불리기도 한다. 측정한 누설 전류에 이미 G–R·RTS·GIDL 성분이 섞여 있을 수 있으므로, 합칠 때는 기구별로 나눠 한 현상을 두 번 더하지 않는다. 또 누설 계열은 시간에 따라 전하가 쌓이는 과정이라 정상 과정의 PSD 하나로만 다루기 어렵다. CDS 뒤에는 두 표본 사이에 쌓인 몫이 남는다.
핵심 정리
noise는 RMS(또는 분산)로 말하고, 독립 원천은 분산끼리 더한다(RSS).
read noise [e⁻] = 출력 noise 전압 / 같은 관측점의 CG. CG가 크면 같은 회로 noise가 더 적은 전자에 해당한다.
PSD는 1 Hz당 분산, ASD는 그 제곱근. 분산은 PSD 아래 면적이다.
thermal(Johnson–Nyquist) noise: 저항 $4kTR$, 채널 $4kT\gamma g_{d0}$ (포화 장채널 $\gamma \approx 2/3$), gate 환산 $4kT\gamma/g_m$.
$g_m$은 전류, W/L, 반전 정도로 키우며 각각 대가가 있다($g_m/I_D$ 설계).
noise 식은 손계산 → 물리 그림 → 통합 모델 → 시뮬레이터 모델 → 개별 trap 순으로 확장된다.
1/f noise: 간이식 $K/(C_{ox}WLf)$, 물리는 수 요동(McWhorter)과 이동도 요동(Hooge), 둘을 묶은 통합 모델은 강반전에서 바이어스 의존을 만든다. thermal과 만나는 곳이 corner다.
CG는 FD 용량 network로 정해지며, C_gs는 Miller로 줄여 더한다. 그러나 SF noise를 전자 수로 바꿀 때는 C_gs 전체를 포함한 실제 용량을 쓴다.
시뮬레이터 noise 값은 tnoiMod·fnoiMod에 따라 달라진다. 각 모드는 극한에서 앞 단계 식으로 돌아간다.
trap 하나는 Lorentzian PSD를 만들고, 많이 겹치면 1/f가 된다. 작은 소자에서는 RTS가 noise 분포의 꼬리를 만든다.
FD에 전하로 직접 들어오는 원천(reset, 경로 저항, 누설 shot, G–R, RTS 누설, GIDL)은 그 전하가 곧 입력 환산 값이다.
확인 퀴즈
출력 noise가 120 µV rms이고 같은 관측점의 CG가 60 µV/e⁻일 때 입력 환산 read noise는?
뒷단 noise는 앞단 이득만큼 작게 보인다. 그래서 첫 단의 이득과 noise가 전체 read noise를 좌우한다. column에서 신호를 먼저 키우면 ADC noise의 몫이 줄어드는 이유다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
04픽셀에서 CDS까지: 전달함수 체인
실제 readout 경로를 전달함수의 곱으로 써 보자. 각 단을 이득과 pole 하나로 나타내고 단 사이가 버퍼로 분리되어 있다고 하면, SF 입력에서 CDS 출력까지는 다음과 같다(07장 그림 7-2와 같은 단 구성). 실제 회로처럼 단이 서로 부하가 되는 경우는 아래 '더 깊이'에서 다룬다.
원천마다 지나는 부분이 다르다. SF channel noise는 체인 전체를 지나고, 비교기 noise는 비교기와 CDS만 지난다. 출력 기준으로 모든 원천을 계산한 뒤 SF 입력까지의 이득으로 나누면 같은 기준점(FD)에서 비교할 수 있다.
저주파는 CDS가, 고주파는 가장 낮은 pole이 자른다. 백색 noise가 실제로 보는 대역은 이 둘 사이의 모양으로 정해진다.
단 사이가 버퍼로 분리되지 않으면 단순 곱이 성립하지 않는다. 뒤 단의 용량이 앞 단의 부하가 되므로, 그런 구간은 함께 묶어 하나의 network로 풀어야 한다(07장).
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
실제 회로로 풀면: SF 피드백과 연결된 RC network
위의 곱은 단마다 버퍼가 있다고 본 그림이다. 실제 경로에서 능동 소자는 SF와 비교기뿐이고, 그 사이의 column, 외곽 routing, 칩 간 연결은 서로 부하가 되는 수동 RC다. 이런 경로는 다음 세 단계로 식을 세운다. 모두 고정된 동작점에서 선형화하고, 두 표본 시점의 noise 통계가 같다고 가정한다(13장).
1. SF 단: $C_{gs}$ 피드백까지 넣은 1-pole. FD 용량 $C_f$, gate–source 용량 $C_{gs}$, 출력 쪽 용량 $C_L$을 두고 FD 전하 $Q$를 $x = Q/(C_f + C_{gs})$로 정규화한다. gate는 떠 있으므로 전하 보존에서 $v_g = x + \beta v_s$, $\beta = C_{gs}/(C_f + C_{gs})$이다. 이것을 source 노드의 KCL에 넣으면 다음을 얻는다.
신호($x$)의 전달은 $\dfrac{g_m + sC_{gs}}{G + sC_{eff}}$이다. 분자에 zero $f_z = g_m/(2\pi C_{gs})$가 있다.
channel noise를 $i_n = g_m e_n$으로 쓰면 전달은 $\dfrac{g_m}{G + sC_{eff}} = \dfrac{g_m/G}{1 + s\tau_A}$, $\tau_A = C_{eff}/G$이다. zero가 없다.
두 전달은 pole을 공유하지만 분자가 달라 그 비가 $1 + sC_{gs}/g_m$이다. 그래서 신호의 −3 dB 대역과 noise가 보는 대역이 꼭 같지는 않다. DC에서는 $g_m/G = A/(1-\beta A)$이고, 이것으로 구한 CG는 10장의 $Aq/(C_f + C_{gs}(1-A))$와 같은 값이다. 부하 전류원의 noise도 같은 source 노드로 들어가므로 SF channel 기준으로 옮겨 합칠 수 있다.
독립 1-pole의 곱 $(1+sR_1C_1)(1+sR_2C_2)$는 1차 항의 $R_1C_2$를 빠뜨린다. 뒤 구간의 용량이 앞 저항의 부하가 되는 효과다. $R_1 = R_2 = R$, $C_1 = C_2 = C$이면 Elmore 값은 $3RC$이고, 두 pole의 시정수는 $(3\pm\sqrt5)RC/2$, 곧 약 $2.6RC$와 $0.38RC$다. 그래서 SF 출력 노드에 noise 전류를 넣었을 때 비교기 입력까지의 전달 impedance $Z_c(s)$를 연결된 network 전체에서 구한다.
\[H_{APS}(s) = g_m\,Z_c(s)\]
RC를 모두 $C_L$ 하나로 뭉치면 $Z_c = 1/(G + sC_{eff})$가 되어 1번의 식으로 돌아간다.
3. 비교기와 CDS. 비교기는 이득을 DC 값으로 나눈 1-pole $H_{OTA}(s) = 1/(1 + s\tau_O)$로 두고, 결과를 비교기 입력 기준으로 읽는다. 절대 이득을 곱하면 출력 기준 값이 되므로 입력으로 환산할 때 다시 나눠야 한다. 위 시뮬레이터의 "DC 이득²"이 $A_{OTA}$를 포함한 출력 기준 값이다. 셋을 곱하면 전체 전달은 다음과 같다.
이 결과는 "높이 $S_0$, 폭 $\tfrac{\pi}{2}f_c$인 직사각형"의 면적과 같다. 이 폭을 등가 noise 대역폭(ENBW)이라고 한다. 필터 모양이 달라도 ENBW만 알면 백색 noise의 분산을 바로 구할 수 있다.
06어디까지 적분하나
실제 계산은 유한한 대역에서 한다. 이때 두 가지를 조심하자.
너무 일찍 자르면 놓친다. 1-pole 출력을 $f_c$까지만 적분하면 전체 분산의 절반만 들어온다. $f_c$는 진폭이 $1/\sqrt{2}$가 되는 점일 뿐, 면적의 끝이 아니다.
낮은 주파수 쪽: 1/f noise는 하한을 낮출수록 계속 커진다. 하한은 관측 시간이나 CDS 같은 처리로 정해진다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
수치 적분에서 놓치지 않으려면
PSD가 표로 주어지거나 닫힌형이 없으면 수치 적분을 한다. 대역이 여러 자릿수에 걸치므로 로그 주파수 격자를 쓰는 것이 좋다. 적분 구간 밖에 남은 꼬리는 PSD의 경향(예: 높은 주파수에서 $1/f^2$)으로 상한을 구해 함께 적는다. 구간 안의 오차는 격자를 촘촘히 하거나 적응형 구적법(예: Gauss–Kronrod)으로 추정한다. 어떤 기준으로 "충분히 수렴했다"고 판단했는지를 결과와 함께 남기는 것이 좋다. 부록 B에서 자세히 다룬다.
핵심 정리
회로를 지난 noise의 PSD는 $|H|^2$배가 된다. ASD에는 $|H|$, PSD에는 $|H|^2$.
서로 다른 위치의 noise는 앞단 이득으로 나눠 같은 기준점으로 옮긴 뒤 분산으로 더한다.
첫 단의 이득과 noise가 전체를 좌우한다.
1-pole 백색 noise의 분산은 $S_0 \cdot \tfrac{\pi}{2}f_c$ (ENBW).
$f_c$까지만 적분하면 절반만 들어온다. 1/f는 하한에 민감하다.
확인 퀴즈
전압 이득 4인 단 뒤에서 잰 noise 40 µV rms를 그 단의 입력 기준으로 옮기면?
더 읽을거리
D. A. Johns, K. Martin, Analog Integrated Circuit Design — noise 해석
C. D. Motchenbacher, J. A. Connelly, Low-Noise Electronic System Design
R이 지워진다. 저항이 크면 noise 밀도가 커지지만 대역이 좁아지고, 저항이 작으면 반대가 된다. 두 효과가 정확히 상쇄된다. 04장에서 두 커패시터를 연결할 때 잃는 에너지가 저항과 무관했던 것과 같은 뿌리다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
04숫자로 감 잡기
300 K에서 $kT \approx 4.14\times10^{-21}$ J이다.
C
σ (전압)
σ (전자 수)
0.1 fF
6.4 mV
4.0 e⁻
1 fF
2.0 mV
12.7 e⁻
4 fF
1.0 mV
25.4 e⁻
100 fF
0.20 mV
127 e⁻
C를 키우면 전압 noise는 줄지만 전자 수 noise는 늘어난다. 전자 수로는 $\sqrt{kTC}/q$이기 때문이다. FD처럼 작은 용량에서는 수 e⁻에서 십여 e⁻ 수준이라, 이것을 그대로 두면 저조도 화질이 크게 나빠진다.
05Hard reset과 soft reset
Reset transistor가 충분히 강하게 켜져(triode) FD를 기준 전압에 붙잡는 hard reset에서는 위 결과가 그대로 맞는다. 반면 reset transistor의 gate가 충분히 높지 않아 FD가 약반전 전류로 천천히 충전되며 끝나는 soft reset에서는 noise가 대략 $\sqrt{kT/2C}$로 작아진다. 대신 이전 프레임의 흔적이 남는 image lag가 생길 수 있다. 소자 쪽 설명은 CIS Pixel Device Physics 교재의 reset 장에 있다.
064T 픽셀은 왜 kT/C에서 자유로운가
4T 픽셀은 reset을 놓은 뒤 같은 FD를 먼저 한 번 읽고(reset level), 전자를 옮긴 뒤 다시 읽는다(signal level). reset을 놓을 때 남은 무작위 전하는 두 읽기에 똑같이 들어 있으므로, 빼면 사라진다(13장). 01장 시뮬레이터에서 kT/C를 켜고 꺼도 CDS 결과가 변하지 않았던 이유다.
주의: 3T 픽셀처럼 reset 값과 신호 값이 서로 다른 reset에서 나오면 kT/C가 지워지지 않는다. 또한 표본화 커패시터(09장)에 생기는 kT/C는 픽셀 reset과 별개로 매 표본마다 새로 생긴다.
핵심 정리
커패시터에 남는 thermal noise는 $\sqrt{kT/C}$ (전압), $\sqrt{kTC}/q$ (전자 수).
등분배로도, 저항 noise 적분으로도 같은 답이 나오며, 저항 값은 지워진다.
C를 키우면 전압 noise는 줄고 전자 수 noise는 는다.
soft reset은 noise가 작지만 lag 위험이 있다.
4T 픽셀은 같은 reset을 두 번 읽어 빼므로 FD의 kT/C가 지워진다.
확인 퀴즈
RC 회로에서 저항 R을 10배 키우면 커패시터 양단의 전체 thermal noise(RMS)는?
CDS가 낮은 주파수(1/f)를 누르고, 백색 noise는 오히려 두 배로 만드는 이유를 안다.
두 표본의 간격 T가 1/f 잔여와 백색 성분에 어떻게 작용하는지 안다.
01한 문장으로
CDS는 "같은 것을 두 번 읽어 빼면, 두 번 다 들어 있는 것은 사라진다"는 아이디어다. 01장과 12장에서 reset noise가 이렇게 지워지는 것을 보았다. 그렇다면 시간에 따라 흔들리는 noise는 어떨까? 천천히 변하는 noise는 두 표본에 거의 같이 들어 있어 지워지고, 빠르게 변하는 noise는 지워지지 않는다.
02빼기는 필터다
시간 $t$와 $t+T$의 두 표본을 빼는 일은 주파수로 보면 다음 전달함수를 곱하는 것과 같다.
낮은 주파수($fT \ll 1$): 약 $4\pi^2 f^2 T^2$로, $f^2$에 비례해 눌린다. 느린 흔들림과 1/f noise가 크게 줄어든다.
$f = 1/(2T)$ 근처: 가중이 최대 4다. 이 주파수의 성분은 두 표본에서 부호가 반대라 빼면 오히려 커진다.
$f = 1/T$의 배수: 가중이 0이다. 한 주기를 정확히 건너뛰어 두 표본이 같아지기 때문이다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
주의: CDS를 "noise를 절반으로 줄인다"처럼 한 숫자로 말할 수 없다. 주파수마다 효과가 다르다. 이 가중은 PSD에 곱하는 것이며, ASD에 그대로 곱하면 안 된다(11장).
03백색 noise는 두 배가 된다
두 표본의 간격이 충분히 길면 그 사이 백색 noise는 서로 독립이다. 독립인 두 값을 빼면 분산이 더해진다(14장). 그래서 백색 noise의 분산은 CDS 뒤에 두 배, RMS는 $\sqrt{2}$배가 된다. 1-pole 대역 $f_c$를 지난 백색 noise에서는 닫힌형으로 이렇게 된다.
$T$가 길면 한 표본 분산($S_0\tfrac{\pi}{2}f_c$)의 두 배에 다가가고, $T$가 아주 짧으면 두 표본이 거의 같아 0에 가까워진다.
04T를 어떻게 고를까
아래 실험에서 백색 noise와 1/f noise를 함께 넣고 T를 바꿔 보자.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
T를 줄이면 두 표본이 더 비슷해져 1/f 잔여가 준다.
하지만 T 안에 신호가 정착하고 전송도 끝나야 한다(06–07장). 너무 줄이면 settling error가 커진다.
대역 $f_c$를 좁히면 백색 성분이 줄지만 정착이 느려진다.
결국 CDS 간격과 대역폭은 noise와 정착 사이의 균형점에서 정해진다.
정상 과정 가정
위의 해석은 noise의 통계가 시간에 따라 변하지 않는다(정상 과정)는 가정 위에 있다. 실제 readout에서는 reset 직후처럼 회로 상태가 바뀌는 순간이 있어, 두 표본 시점의 noise 통계가 다를 수 있다. 그런 경우는 시간 영역에서 직접 공분산을 따지거나 상세 시뮬레이션으로 확인한다. 또 이미 CDS 이후로 정의된 noise 값에 이 가중을 다시 적용하면 두 번 처리한 것이 된다.
CDS는 가중치 $w = (1, -1)$인 경우다. 그래서 $\text{Var}(x - y) = \sigma_x^2 + \sigma_y^2 - 2\,\text{Cov}(x,y)$이고, 두 표본의 공분산이 클수록 CDS 뒤의 분산이 작다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
같은 noise를 시간 $t$와 $t+T$에 잰 두 표본의 공분산을 자기 공분산 $R(T)$이라고 한다. 그러면 CDS 분산은 다음과 같다.
\[\text{Var}_{CDS} = 2\big[R(0) - R(T)\big]\]
느린 noise는 $R(T)$가 $R(0)$에 가까워 거의 지워지고, 빠른 noise는 $R(T) \approx 0$이라 분산이 두 배가 된다. 자기 공분산과 PSD는 서로 Fourier 변환 관계라서(Wiener–Khinchin 정리), 13장의 주파수 가중 $4\sin^2(\pi fT)$와 이 식은 같은 이야기를 시간과 주파수에서 한 것이다.
04여러 번 읽어 평균하기
같은 신호를 m번 읽어 평균하면, 서로 독립인 noise는 분산이 $1/m$, RMS가 $1/\sqrt{m}$로 준다. 그런데 모든 읽기에 똑같이 들어가는 성분 $c$는 평균해도 그대로다.
single-slope ADC가 "내려가는 ramp와 카운터"로 전압을 숫자로 바꾸는 원리를 안다.
분해능, clock, 변환 시간의 관계 $2^N/f_{clk}$를 계산할 수 있다.
reset과 signal을 각각 변환해 빼는 digital CDS를 설명할 수 있다.
양자화 noise $\text{LSB}/\sqrt{12}$의 뜻과, read noise와의 관계를 안다.
01한 문장으로
물탱크의 수위를 재는 가장 단순한 방법은 수면이 내려가는 속도가 일정할 때 몇 초 만에 목표 높이에 닿는지 세는 것이다. Single-slope ADC가 바로 그렇게 한다. 일정한 기울기로 내려가는 ramp 전압을 만들고, 카운터가 clock을 세다가, 비교기가 "ramp가 입력을 지났다"고 알려 주는 순간 센 숫자가 코드가 된다.
02구조
Ramp 발생기: 모든 column이 공유하는 하나의 기울어진 전압.
비교기: column마다 하나씩. 입력과 ramp를 비교해 지나치는 순간 뒤집힌다.
카운터: 비교기가 뒤집히는 순간의 clock 수를 저장한다.
column마다 비교기와 카운터가 있으므로 한 행의 모든 픽셀을 동시에 변환한다. 하나의 ADC가 느려도 수천 개가 병렬로 일하는 셈이다.
03분해능과 시간
N bit 코드를 얻으려면 ramp가 전체 범위를 지나는 동안 $2^N$번 셀 수 있어야 한다.
100 MHz clock에서 10 bit는 10.24 µs, 12 bit는 41 µs다. bit 하나를 늘리면 변환 시간이 두 배가 된다. 06장의 정착 시간이 bit에 비례해 늘던 것과 대조된다. 그래서 고해상도·고속에서는 ramp를 두 단계로 나누거나 clock을 빠르게 하는 방법을 쓴다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
04비교기: 5T OTA
column마다 있는 비교기는 흔히 5개의 transistor로 된 OTA로 만든다.
그림 15-1. 5T OTA 비교기. M1·M2 차동쌍, M3·M4 전류 거울 부하, M5 꼬리 전류원. 입력은 auto-zero 용량 C_AZ를 거쳐 들어온다.
차동쌍(M1, M2): 픽셀 신호와 ramp를 받아 둘의 차이에 따라 꼬리 전류 $I_T$를 나눈다.
전류 거울(M3, M4): 한쪽 전류를 복사해 출력에서 두 전류의 차이를 전압으로 바꾼다. 차동 신호를 한쪽 출력으로 모은다.
꼬리 전류원(M5): 전체 전류를 정해 속도와 전력을 정한다.
작은 신호 이득은 $A_0 = g_{m1}(r_{o2} \parallel r_{o4})$로 수십~수백 배다. 이득이 무한하지 않으므로 출력이 뒤집히는 데 입력 차이가 출력 스윙의 $1/A_0$ 정도 필요하고, 전류가 유한하므로 지연이 생긴다.
비교기는 두 단계로 동작한다.
auto-zero: 변환 전에 입력과 출력을 스위치로 잠깐 묶는다. 비교기의 offset이 입력 용량 $C_{AZ}$에 저장되어, 이후 비교에서 빼진다. 이때 스위치를 놓으며 생기는 kT/C와 charge injection(08·12장)은 같은 행의 reset·signal 변환에 공통으로 들어가 digital CDS에서 대부분 지워진다.
비교: ramp가 내려가다 픽셀 신호와 같아지는 순간 출력이 뒤집히고 카운터가 멈춘다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
비교기의 지연은 모든 변환에 같은 만큼 코드를 밀기 때문에 digital CDS에서 지워진다. 비교기 noise는 교차 시각을 흔들어 코드를 흔든다. 그 크기는 "전압 noise ÷ ramp 기울기"만큼의 시각 흔들림이다. ramp가 느릴수록(LSB가 작을수록) 같은 전압 noise가 더 많은 코드로 보인다.
05Digital CDS
4T 픽셀의 reset 값과 signal 값을 각각 변환해 코드에서 뺀다. 아날로그에서 빼는 대신 숫자로 빼므로 digital CDS라고 한다. 두 변환에 똑같이 들어간 성분, 예를 들어 비교기의 offset이나 ramp 시작점의 차이도 함께 지워진다. reset 값은 범위가 좁으므로 짧은 ramp로 빨리 변환하고, signal 값은 전체 범위로 변환하는 경우가 많다.
06양자화: 계단의 오차
연속적인 전압을 LSB 단위의 계단으로 바꾸면 −½에서 +½ LSB 사이의 오차가 생긴다. 입력이 충분히 흔들리면 이 오차는 고르게 퍼진 무작위 값처럼 보이고, 그 RMS는 다음과 같다.
shot noise와 read noise가 함께 정하는 SNR과 dynamic range를 계산할 수 있다.
01한 문장으로
지금까지 noise 원천을 하나씩 보았다. 설계에서 실제로 묻는 질문은 "전부 합치면 몇 전자이고, 그중 무엇이 가장 큰가"다. 이 질문에 답하는 표가 noise 예산(noise budget)이다.
02예산표 만드는 순서
기준점을 정한다. 보통 FD, 단위는 전자 수(e⁻ rms)다(10장).
각 원천을 그 기준점으로 옮긴다. 뒷단 원천은 앞단 이득으로 나누고(11장), 전압이면 같은 기준점의 CG로 나눈다.
처리 단계를 맞춘다. CDS 전 값과 후 값을 섞지 않는다. CDS로 지워지는 성분(reset noise 등)은 CDS 후 예산에 넣지 않는다(13장).
분산으로 더한다. 독립이면 RSS, 상관이 있으면 상관 항을 넣는다(14장).
몫을 본다. 분산에서 차지하는 비율이 큰 원천부터 줄인다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
03CG를 바꾸면
SF 채널 noise, column 회로, ADC처럼 FD 기준 전압으로 정해지는 원천은 CG가 커질수록 전자 수 몫이 준다. 같은 µV를 더 큰 CG로 나누기 때문이다. 반면 암전류 shot noise처럼 처음부터 전자 수로 정해지는 원천은 CG와 무관하다. 또 CG를 키우려고 FD를 줄이면 SF 소자 크기나 동작점이 함께 바뀌어 SF noise 자체가 달라질 수 있다. CG를 키우는 효과가 어디까지인지는 예산표에서 원천별로 봐야 한다.
04빛 자체의 흔들림: shot noise
빛의 광자는 무작위로 도착한다. 평균 $S$개의 전자가 모이면 그 흔들림은 $\sqrt{S}$다(shot noise, 포아송 분포). 이것은 회로가 아무리 좋아도 없앨 수 없다. read noise $\sigma_r$와 함께 보면 SNR은 이렇게 된다.
같은 회로도 여름 자동차 안과 겨울 야외에서 다르게 동작한다. 온도가 바꾸는 것은 크게 전자가 얼마나 잘 움직이는가(이동도)와 채널이 얼마나 쉽게 생기는가(문턱전압) 두 가지다.
02이동도와 문턱전압
이동도: 온도가 오르면 격자 진동이 커져 전자가 더 자주 부딪힌다. 강반전에서 대략 $T^{-1.5}$에 비례해 줄어든다.
문턱전압: 온도가 오르면 페르미 준위가 움직여 채널을 만들기 쉬워진다. 대략 −1 ~ −3 mV/K로 내려간다.
강반전 전류는 $k \propto \mu$와 $(V_{GS}-V_{th})^2$의 곱이므로, 두 효과가 반대로 작용한다. $V_{GS}$가 높으면 이동도 감소가 이겨 전류가 줄고, 낮으면 문턱 감소가 이겨 전류가 는다. 그 사이에 전류가 온도에 거의 무관한 ZTC(zero temperature coefficient) 점이 있다.
온도에 따른 주요 경향을 회로 조건별로 정리하면 다음과 같다(강반전, 대표적인 경향).
양
온도가 오를 때
대략의 크기
설명
이동도 $\mu$
감소
$\propto T^{-1.5}$
격자 산란 증가
문턱전압 $V_{th}$
감소
−1 ~ −3 mV/K
페르미 준위 이동
$I_D$ (고정 $V_{GS}$, 높은 $V_{ov}$)
감소
이동도 쪽이 우세
ZTC보다 위
$I_D$ (고정 $V_{GS}$, 낮은 $V_{ov}$)
증가
문턱 쪽이 우세
ZTC보다 아래
$g_m$ (고정 $I_D$)
조금 감소
$\propto\sqrt{\mu}$
$g_m = \sqrt{2\mu C_{ox}(W/L)I_D}$
$g_m$ (고정 $V_{GS}$)
조건에 따라
$\propto \mu V_{ov}$
이동도와 $V_{ov}$ 증가가 경쟁
$V_{ov}$ (고정 $I_D$)
증가
$\propto 1/\sqrt{\mu}$
같은 전류에 더 큰 overdrive 필요
회로에서 무엇을 고정하느냐가 중요하다. 픽셀 SF처럼 전류원이 $I_D$를 고정하면 $g_m$은 $\sqrt{\mu}$로만 변해 비교적 안정적이지만, $V_{ov}$와 $V_{th}$가 함께 변해 출력 DC 레벨이 움직인다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
03약반전은 훨씬 민감하다
약반전 전류는 $\exp[(V_{GS}-V_{th})/(nV_T)]$에 비례하고, $V_T = kT/q$와 앞의 계수가 모두 온도에 따라 변한다. 문턱 아래의 누설 전류는 온도가 10 K 오를 때마다 수 배씩 늘어나는 경우가 많다. 꺼진 스위치의 누설, FD의 droop(09장), 암전류가 고온에서 크게 나빠지는 이유다.
04그 밖의 요소
요소
온도가 오를 때
비고
금속·확산 저항
대개 증가
재료마다 계수가 다름
접합 용량
조금 증가
내장 전위가 줄어듦
산화막·배선 용량
거의 일정
thermal noise
$\sqrt{T}$에 비례
$4kTR$, $kT/C$
암전류·누설
크게 증가
대략 6–10 K마다 두 배
주의: 위 수치는 일반적인 경향이다. 실제 계수는 공정과 소자 구조에 따라 다르므로, 온도를 바꿔 계산할 때는 해당 조건의 측정이나 모델 자료를 쓴다. 자료가 없는 온도로 식을 그대로 늘려 쓰면(외삽) 오차가 커질 수 있다.
핵심 정리
이동도는 온도에 따라 줄고($\sim T^{-1.5}$), 문턱전압도 준다($\sim$ −2 mV/K).
두 효과가 반대로 작용해 ZTC 점이 생긴다.
약반전 전류와 누설은 온도에 지수적으로 민감하다.
thermal noise는 $\sqrt{T}$, 암전류는 수 K마다 두 배씩 는다.
확인 퀴즈
강반전 MOSFET에서 V_GS가 높을 때 온도가 오르면 drain 전류는 주로?
더 읽을거리
Y. Tsividis, C. McAndrew, Operation and Modeling of the MOS Transistor — 온도 효과
noise 분산을 수치로 적분할 때 생기는 두 가지 오차(구간 안, 구간 밖)를 구분한다.
격자를 촘촘히 할 때 오차가 줄어드는 속도를 안다.
넓은 주파수 범위에서 로그 격자가 왜 효율적인지 안다.
01한 문장으로
PSD가 표로 주어지거나 닫힌형 적분이 없으면 컴퓨터로 면적을 더한다. 그때의 오차는 구간 안을 거칠게 나눠 생기는 오차와 구간 밖을 잘라 버려 생기는 오차 두 가지다. 둘을 따로 추정해야 "얼마나 정확한가"를 말할 수 있다.
02구간 안의 오차
구간을 n개로 나눠 사다리꼴로 더하면, 매끄러운 함수에서 오차는 대략 $1/n^2$로 준다. 구간을 두 배로 나누면 오차가 약 1/4이 된다. Simpson 공식은 $1/n^4$로 더 빨리 줄어든다. 더 나아가 오차가 큰 곳만 골라 촘촘히 나누는 적응형 구적법(예: Gauss–Kronrod)은 구간마다 오차 추정값까지 함께 준다.
SIMULATOR
합성 예제값을 쓰는 교육용 계산입니다. 특정 제품의 설계값이 아닙니다.
03구간 밖의 오차
적분 상한 F에서 자르면 그 위의 꼬리를 놓친다. 1-pole PSD $S_0/(1+(f/f_c)^2)$에서 꼬리는 약 $S_0 f_c^2/F$다. 이렇게 PSD의 경향으로 꼬리의 상한을 구해 결과에 함께 적는다. 하한 쪽도 같다. 1/f noise처럼 하한에 민감한 성분은 하한을 어떻게 정했는지가 결과를 좌우한다(10·13장).
04로그 격자
noise 대역은 Hz에서 GHz까지 여러 자릿수에 걸친다. 일정한 간격으로 나누면 낮은 주파수 쪽이 너무 거칠어진다. 주파수의 로그를 균일하게 나누고, $df = f\,d(\ln f)$로 바꿔 적분하면 모든 자릿수를 고르게 다룰 수 있다. 이 교재의 noise 실험들은 이 방법(로그 격자 위의 Simpson)을 쓴다.
05특이한 점 다루기
CDS의 0점: $4\sin^2(\pi f T)$는 $f = k/T$에서 0이 된다. 구간 경계를 이 점들에 맞추면 오차가 줄어든다.
봉우리: 공진이 있는 전달함수는 좁은 봉우리를 가진다. 봉우리 근처를 촘촘히 나눠야 한다.
표 자료: 측정 PSD는 점 사이를 어떻게 이을지(로그–로그 보간 등)를 정해야 하고, 그 선택도 결과의 일부다.
어떤 기준으로 "충분히 수렴했다"고 판단했는지(구간 안 오차 추정, 꼬리 상한, 허용 오차)를 결과와 함께 남기자. 그래야 다른 사람이 같은 숫자를 다시 얻을 수 있다.
핵심 정리
오차는 구간 안(격자)과 구간 밖(꼬리) 두 가지다.
사다리꼴은 $1/n^2$, Simpson은 $1/n^4$로 준다. 적응형 구적법은 오차 추정을 준다.
해석 기준 검산, 상세 모델과의 비교, 실측 대조가 각각 무엇을 보증하는지 구분할 수 있다.
01한 문장으로
"이 계산은 정확한가?"라는 질문은 사실 세 가지다. 식을 제대로 계산했는가, 그 식이 더 자세한 모델과 맞는가, 그 모델이 실제 칩과 맞는가. 하나를 확인했다고 나머지가 확인된 것은 아니다.
02세 층
층
묻는 것
방법
보증하지 않는 것
1. 해석 기준 검산
계산이 식대로 되었나
손계산, 극한, 보존 법칙, 닫힌형과 비교
식이 현실을 잘 나타내는지
2. 상세 모델 비교
단순화한 식이 자세한 모델과 맞나
같은 조건의 회로 시뮬레이션과 비교
자세한 모델이 실제 칩과 맞는지
3. 실측 대조
모델이 실제와 맞나
같은 회로·bias·온도·timing의 측정
측정하지 않은 조건에서의 정확도
이 교재의 시험(tests)은 모두 1층이다. 예를 들어 "RC 노이즈를 적분하면 R과 무관하게 kT/C가 나온다", "triode 식과 포화 식이 경계에서 이어진다" 같은 것을 확인한다. 이것은 계산 코드가 식대로 동작한다는 뜻이지, 그 식이 실제 픽셀을 정확히 예측한다는 뜻이 아니다.
03좋은 비교의 조건
2층과 3층에서 비교할 때는 같은 것을 비교하고 있는지가 핵심이다.
같은 조건: bias, 온도, timing, 공정 corner가 같아야 한다.
같은 관측점: FD 전압인지 column 출력인지, CDS 전인지 후인지.
같은 정의: RMS인지 peak인지, 단측 PSD인지 양측인지, 어느 대역까지 적분했는지.
같은 범위: 근사가 성립한다고 가정한 영역(소신호, 포화 등) 안에서의 비교인지.
하나라도 다르면 일치하든 어긋나든 결론을 내리기 어렵다.
04자료가 있다는 것과 검증된 것은 다르다
layout에서 추출한 기생 용량(03장)이나 측정에서 얻은 계수를 입력으로 쓴다고 해서 결과가 검증된 것은 아니다. 그 자료는 3층 검증의 재료일 뿐이다. 자료의 출처, 조건, 적용 범위를 함께 기록하고, 결과를 같은 조건의 측정과 비교해야 검증이 된다.
결과를 보고할 때는 "어느 층까지 확인했는가"를 함께 적자. "해석 기준과 일치(1층), 측정 대조 전" 같은 한 줄이 오해를 크게 줄인다.
핵심 정리
검증은 세 층이다: 계산(1), 모델 간 비교(2), 실측(3).
이 교재의 시험은 1층이다.
비교는 같은 조건·관측점·정의·범위에서 해야 의미가 있다.
입력 자료가 있다는 것과 결과가 검증된 것은 다르다.
확인 퀴즈
이 교재의 자동 시험이 확인하는 것은?
더 읽을거리
IEEE Std 1241, Standard for Terminology and Test Methods for Analog-to-Digital Converters (검증 용어 참고)
소자 치수, 바이어스, 용량, 시간 같은 손잡이 하나가 여러 장의 양을 거쳐 read noise와 settling error로 이어지는 길을 따라갈 수 있다.
한 손잡이가 좋은 쪽과 나쁜 쪽을 동시에 움직이는 균형(trade-off)을 맵에서 찾을 수 있다.
이 맵이 어떤 단순화 위에 있는지 알고, 결과를 어디까지 믿을지 판단할 수 있다.
01한 문장으로
앞의 장들은 하나씩 따로 읽었다. 그런데 실제 회로에서는 손잡이 하나가 여러 장에 걸쳐 동시에 영향을 준다. SF의 폭을 키우면 02장의 $g_m$, 03장의 $C_{gs}$, 04장의 CG, 07장의 정착, 10장의 noise가 한꺼번에 움직인다. 이 부록의 맵은 그 연결을 한 화면에 모은 것이다.
02맵 읽는 법
열은 신호가 지나는 순서다. 환경·소재 → SF 소자 → FD·CG → column 정착 → 대역·CDS → ADC → 결과 지표.
점선 테두리 노드는 직접 바꾸는 손잡이(파라미터), 실선 노드는 식으로 계산되는 양이다. 손잡이를 누르면 슬라이더가 나온다.
노드에 마우스를 올리거나 누르면 그 노드의 원인(상류)과 결과(하류) 경로만 남는다. 옆 패널에 식과 직접 원인·직접 영향이 나온다.
값을 바꾸면 변화가 인과 순서대로 한 층씩 퍼진다. ▲/▼는 기본값 대비 변화율이다.
03따라가 볼 길
1. SF를 키우면 noise가 줄까? — 용량 맞춤. 빠른 실험의 "SF 폭 W 두 배"를 눌러 보자. $g_m$이 커져 gate 환산 thermal noise가 줄고, 면적이 커져 1/f noise도 준다. 그런데 결과 지표의 SF read noise는 오히려 늘어난다. $C_{gs}$가 두 배가 되어 CG가 줄고, SF noise를 전자로 바꿀 때 곱하는 실제 용량 $C_f + C_{gs}$가 커지기 때문이다(10장). gate noise가 주는 속도보다 용량이 느는 속도가 빠르면 손해다.
강반전에서 같은 전류로 W만 바꾸면 $g_m \propto \sqrt{W} \propto \sqrt{C_{gs}}$이고, 1/f noise는 $1/(WL) \propto 1/C_{gs}$이다. 이것을 넣고 RN이 가장 작은 $C_{gs}$를 구하면 다음과 같다.
지배 성분
gate 환산 PSD
RN이 최소인 조건
thermal
$\propto 1/g_m \propto C_{gs}^{-1/2}$
$C_{gs} = C_f/3$
1/f
$\propto 1/(WL) \propto C_{gs}^{-1}$
$C_{gs} = C_f$
이 관계를 용량 맞춤(capacitive matching)이라고 한다. 입력 소자를 무작정 키우는 것이 아니라, 붙어 있는 나머지 용량과 견주어 크기를 정한다. 같은 전류, 고정된 L, 강반전이라는 가정 위의 결과이며, 실제로는 대역과 정착도 함께 바뀐다(맵에서 τ가 같이 줄어드는 것을 확인하자).
2. 온도가 오르면. "온도 85 °C"를 눌러 보자. 이동도가 줄어 같은 전류에 필요한 $V_{ov}$가 커지고 $g_m$이 준다. 그러면 SF 출력 저항이 커져 τ가 늘고, 같은 정착 시간에서 settling error가 크게 는다. 동시에 $kT$가 커지고 $g_m$이 줄어 thermal noise가 는다(부록 A). 한 손잡이가 정착과 noise를 같은 방향으로 나쁘게 만드는 경우다.
3. CDS 간격을 줄이면. "CDS 간격 0.5 µs"를 누르면 1/f 잔여가 준다(13장). 맵에서는 정착 시간과 CDS 간격을 따로 두었지만, 실제 readout에서는 두 표본 사이에 signal 전송과 정착이 들어가야 하므로 간격을 마음대로 줄일 수 없다. 맵에서 따로 있는 손잡이가 실제로는 묶여 있을 수 있다는 점을 기억하자.
4. ADC bit를 바꾸면. 10 bit로 낮추면 변환이 빨라져 행 읽기 시간이 줄지만, LSB가 커져 양자화 몫이 read noise를 지배한다. 14 bit로 올리면 반대다(15장). 양자화 몫이 SF noise보다 충분히 작아지면 bit를 더 늘려도 read noise는 거의 줄지 않고 시간만 는다.