아날로그·혼성 신호 테스트
스캔과 BIST는 응답이 기대값과 같은지를 묻는다. 비트 하나만 달라도 불량이고, 같으면 합격이다. ADC나 고속 직렬 링크 앞에서는 이 질문이 통하지 않는다. 12비트 ADC의 출력은 같은 입력에서도 잡음 때문에 한두 코드씩 흔들리고, 16 Gb/s 링크의 비트는 10¹²개에 하나쯤 틀려도 정상이다. 그래서 혼성 신호 테스트는 "맞는가"를 묻지 않고 "얼마인가"를 잰다. 수천~수십만 개의 샘플을 모아 통계를 내고, 그 숫자를 사양과 비교한다. 이 장은 그 측정이 어떤 원리로 이루어지는지, 그리고 몇 개의 샘플과 몇 초의 시간이 필요한지를 다룬다.
- 혼성 신호 테스트가 디지털 테스트와 다른 점(사양 기반, 동기 클록, DSP 측정)을 설명한다.
- ADC의 오프셋·이득 오차·DNL·INL·누락 코드를 정의하고, 히스토그램 테스트로 구하는 법과 필요한 샘플 수를 계산한다.
- 코히런트 샘플링 조건 \(f_{in}/f_s = M/N\)을 세우고, 누설과 창 함수가 FFT 결과를 어떻게 바꾸는지 설명한다.
- 스펙트럼에서 SNR·THD·SINAD·SFDR·ENOB를 계산하고, 지터가 정하는 SNR의 한계를 구한다.
- PRBS·루프백·아이 다이어그램으로 고속 직렬 링크를 검사하고, BER 신뢰도에 필요한 비트 수와 그 대안을 판단한다.
혼성 신호 테스트는 무엇이 다른가
디지털 블록의 테스트는 5장의 폴트 모델 위에 서 있다. 결함이 회로를 어떻게 망가뜨리는지 모델로 정하고, 그 폴트를 드러내는 패턴을 자동으로 만든다. 커버리지라는 하나의 숫자가 테스트의 품질을 말해 준다. 아날로그 회로에는 이런 일반적인 폴트 모델이 사실상 없다. 트랜지스터 하나의 문턱 전압이 20 mV 어긋나도 회로는 "동작"한다. 다만 오프셋이 조금 크고, 왜곡이 조금 많고, 잡음이 조금 높을 뿐이다. 그 "조금"이 사양을 넘는지가 합격과 불량을 가른다.
그래서 혼성 신호 테스트는 사양 기반 테스트(Specification-based test)다. 데이터시트에 적힌 숫자(오프셋 ±2 LSB, DNL ±0.9 LSB, SNR 68 dB 이상)를 직접 재고 한계와 비교한다. 결함을 찾는다기보다 성능을 검증한다. 이 방식의 장점은 판정이 고객의 언어와 같다는 것이고, 단점은 측정마다 많은 샘플과 정밀한 장비가 필요해 비싸다는 것이다. 칩 면적의 5%도 안 되는 아날로그 블록이 테스트 시간과 장비 비용의 절반을 차지하는 일이 흔하다.
장비 쪽에서는 디지털 핀 일렉트로닉스(2장) 옆에 아날로그 계측기가 붙는다. 임의 파형 발생기(AWG, Arbitrary waveform generator)는 메모리에 담긴 샘플을 고정밀 DAC로 내보내 순도 높은 사인파나 램프를 만든다. 디지타이저(Digitizer)는 반대로 DUT의 아날로그 출력을 고정밀 ADC로 받아 메모리에 담는다. DUT의 ADC 출력은 디지털 핀으로 바로 캡처 메모리에 들어간다. 모은 샘플은 테스터 안의 DSP가 FFT, 히스토그램, 평균을 계산해 숫자 몇 개로 줄인다. 이렇게 샘플을 모아 신호 처리로 파라미터를 뽑는 방식을 DSP 기반 테스트(DSP-based testing)라 한다.
모든 장비가 하나의 기준 클록을 공유한다는 점이 디지털 테스트와 가장 다르다. AWG가 내는 사인파의 주파수와 DUT ADC의 샘플링 주파수가 정확한 정수비를 이루어야 FFT 한 번으로 깨끗한 스펙트럼을 얻는다. 기준이 둘이면 몇 ppm의 차이만으로도 스펙트럼이 번진다. 이 조건이 4절의 코히런트 샘플링이다.
혼성 신호 블록은 무엇을 잡고 무엇을 놓치는가. 사양 테스트는 성능이 나쁜 칩을 확실히 잡는다. 하지만 성능은 사양 안인데 결함이 숨은 칩(예를 들어 바이어스 트랜지스터 하나가 열려 있어 남은 하나가 전류를 다 흘리는 경우)은 놓칠 수 있다. 그래서 바이어스 전류, 기준 전압, 내부 노드 전압을 따로 재는 구조 테스트와 섞어 쓴다. 테스트 시간의 대부분은 샘플을 모으는 데 쓰이므로, 다음 절부터는 "샘플이 몇 개 필요한가"를 계속 묻는다.
ADC 정적 파라미터
이상적인 \(n\)비트 ADC는 입력 범위를 \(2^n\)개의 같은 폭 구간으로 나누고, 입력이 \(k\)번째 구간에 들면 코드 \(k\)를 낸다. 한 구간의 폭이 LSB(Least significant bit)다. TB-7의 12비트 감시용 ADC는 입력 범위 1.2 V를 4,096개로 나누므로 1 LSB ≈ 0.29 mV다. 코드가 바뀌는 입력 전압을 전이 전압(Transition level) \(T_k\)라 한다. 코드 \(k-1\)에서 \(k\)로 넘어가는 지점이다. 실제 ADC의 모든 정적 오차는 이 \(T_k\)가 이상적인 자리에서 얼마나 벗어났는가로 표현된다.
오프셋 오차(Offset error)는 전달 함수 전체가 옆으로 밀린 양이다. 보통 첫 전이점 \(T_1\)이 이상값 0.5 LSB에서 벗어난 양으로 정의한다. 이득 오차(Gain error)는 오프셋을 뺀 뒤 기울기가 틀린 정도로, 마지막 전이점과 첫 전이점의 간격이 이상값 \((2^n-2)\) LSB에서 얼마나 다른지로 잰다. 이 둘은 전 범위에 걸친 선형 오차라서 시스템에서 보정하기 쉽다. TB-7의 감시용 ADC는 웨이퍼 테스트에서 오프셋과 이득을 재고 퓨즈(OTP)에 보정값을 기록한다.
보정이 어려운 것은 코드마다 다른 비선형 오차다. 오프셋과 이득을 바로잡은 뒤 코드 \(k\)의 실제 폭 \(W_k = T_{k+1}-T_k\)가 1 LSB에서 벗어난 양이 미분 비선형성(DNL, Differential nonlinearity)이고, 전이점이 끝점을 잇는 직선에서 벗어난 양이 적분 비선형성(INL, Integral nonlinearity)이다.
DNL이 −1이면 폭이 0인 코드, 즉 어떤 입력에서도 나오지 않는 누락 코드(Missing code)다. DNL이 −1 근처까지 내려가면 그 코드는 잡음에 따라 나왔다 안 나왔다 한다. 데이터시트의 "누락 코드 없음, DNL ±0.9 LSB 이하"는 모든 코드의 폭이 0.1 LSB보다 넓다는 약속이다. 출력 코드가 입력 증가에 따라 줄어드는 일이 없는 성질은 단조성(Monotonicity)이라 한다. 제어 루프 안의 ADC·DAC에서는 단조성이 깨지면 루프가 진동할 수 있어 중요하다.
| 파라미터 | 정의 | 원인 예 | TB-7 ADC 한계(예) |
|---|---|---|---|
| 오프셋 | \(T_1\) − 0.5 LSB | 비교기 오프셋, 기준 접지 저항 | ±4 LSB (보정 전) |
| 이득 오차 | 끝점 기울기 오차 | 기준 전압 오차, 커패시터 비 | ±0.5% FS (보정 전) |
| DNL | 코드 폭 − 1 LSB | SAR 커패시터 배열의 비 불일치 | ±0.9 LSB |
| INL | 전이점의 직선 이탈 | 누적된 불일치, 기준 전압의 부하 의존 | ±2 LSB |
| 누락 코드 | DNL = −1인 코드 | 큰 비트 커패시터의 불일치(예: MSB 전이) | 없음 |
SAR ADC의 DNL은 무작위로 흩어지지 않는다. 커패시터 배열의 이진 가중치에서 오차가 생기므로 큰 비트가 바뀌는 코드(1023→1024, 2047→2048)에서 가장 크게 튄다. 그래서 DNL 그래프를 보면 반복되는 톱니 무늬가 있고, 중앙(MSB 전이)에서 가장 큰 스파이크가 나온다. 이 무늬는 설계자에게 어느 커패시터를 다시 맞춰야 하는지 알려 주는 진단 정보이기도 하다.
히스토그램 테스트
4,096개 전이점을 하나씩 찾으려면 입력 전압을 미세하게 바꿔 가며 코드가 바뀌는 곳을 서보 루프로 추적해야 한다. 정확하지만 한 전이점에 수십 번의 측정이 들어 수십 초가 걸린다. 양산에서 쓰는 방법은 히스토그램 테스트(Histogram test, code density test)다. 알려진 분포를 가진 신호를 넣고 각 코드가 몇 번 나오는지 센다. 코드 폭이 넓으면 그 구간에 입력이 머무는 시간이 길어 히트가 많고, 좁으면 적다. 히트 수가 곧 코드 폭이다.
가장 단순한 자극은 선형 램프(Linear ramp)다. 램프가 모든 코드를 같은 속도로 지나면 이상적인 ADC의 히스토그램은 평평하고, 코드 \(k\)의 DNL은 \(H_k/\bar H - 1\)로 바로 나온다. 문제는 램프 자체의 선형성이다. 12비트에서 0.1 LSB를 보장하는 램프를 만드는 것은 ADC를 만드는 것만큼 어렵다. 반면 사인파는 필터 하나로 고조파를 −100 dBc 이하로 깎아 순도 높게 만들기 쉽다. 그래서 양산은 대부분 사인파 히스토그램(Sine-wave histogram)을 쓴다.
진폭 \(A\)인 사인파의 순간값 \(v\)가 갖는 확률 밀도는 다음과 같다. 끝에서 무한대로 커지는 욕조 모양이다.
코드당 평균 히트 수가 적으면 측정값 자체가 흔들린다. 히트 수는 대략 푸아송 분포를 따르므로 코드당 \(n\)개를 모으면 DNL 추정의 표준오차는 약 \(1/\sqrt{n}\) LSB다. 사인파에서는 중앙 코드의 히트가 평균의 \(2/\pi\)배로 적어 이곳이 가장 불리하다. 블레어(J. Blair, 1994)는 신뢰도 \(Z\)(95%면 1.96)로 DNL을 \(\pm\beta\) LSB 안에서 재는 데 필요한 샘플 수를 다음처럼 정리했다.
샘플링 속도 1 MS/s에서 13만 샘플은 약 0.13 s다. 파이널 테스트 삽입 시간 약 8 s의 1.6%로, ADC 하나를 위한 시간으로는 작지 않다. 그래서 히스토그램 캡처는 스캔이나 다른 블록 테스트와 동시에 돌리고(concurrent test), 계산은 다음 다이를 재는 동안 테스터 DSP가 처리한다.
ADC 히스토그램 테스트: 코드 수 세어 DNL·INL 찾기
코히런트 샘플링과 FFT
ADC의 동적 성능(잡음, 왜곡)은 순수한 사인파를 넣고 출력 샘플 \(N\)개를 FFT해서 본다. FFT는 \(N\)개의 샘플이 무한히 반복되는 신호의 한 주기라고 가정한다. 기록이 사인파의 정수 주기를 정확히 담고 있으면 반복해 이어 붙여도 이음매가 매끄럽고, 신호의 에너지는 FFT 빈 하나에 모인다. 정수 주기가 아니면 이음매에서 신호가 끊기고, 그 불연속이 모든 빈으로 에너지를 흘린다. 이것이 스펙트럼 누설(Spectral leakage)이다.
누설을 없애는 가장 확실한 방법은 기록 안에 정수 주기가 들도록 주파수를 정하는 것이다. 이것이 코히런트 샘플링(Coherent sampling)이다.
\(M\)과 \(N\)이 서로소여야 하는 이유는 따로 있다. \(N\)이 2의 거듭제곱이므로 \(M\)을 홀수로 고르면 된다. 만약 \(M = 64\), \(N = 1024\)이면 사인 한 주기에 샘플이 정확히 16개씩 같은 위상에 찍힌다. 1,024개의 샘플이 사실은 16개의 서로 다른 값을 64번 반복한 것에 불과하다. ADC의 4,096개 코드 가운데 16개 남짓만 시험하는 셈이고, 양자화 오차도 신호와 같은 주기로 반복되어 잡음 대신 고조파처럼 나타난다. 서로소이면 \(N\)개의 샘플이 사인의 한 주기 위에서 \(N\)개의 서로 다른 위상에 고르게 흩어진다.
코히런트 샘플링이 성립하려면 소스와 ADC가 같은 기준 클록에서 나와야 한다(1절). DUT 내부 PLL이 샘플 클록을 만들거나 기준을 공유할 수 없을 때는 정수 주기를 맞출 수 없다. 이때는 창 함수(Window function)를 곱해 기록의 양 끝을 0으로 부드럽게 줄여 이음매의 불연속을 없앤다. 대가는 두 가지다. 신호 에너지가 빈 하나가 아니라 몇 개의 빈(주엽)에 퍼지고, 창의 끝부분 샘플은 거의 버려지므로 같은 \(N\)에서 잡음 추정이 덜 정밀해진다.
| 창 함수 | 최대 부엽 | 부엽 감쇠 | 주엽 반폭(빈) | 등가 잡음 대역폭(빈) | 쓰임 |
|---|---|---|---|---|---|
| 사각(창 없음) | −13 dB | −6 dB/옥타브 | 1 | 1.00 | 코히런트 샘플링일 때 최선 |
| 한(Hann) | −31 dB | −18 dB/옥타브 | 2 | 1.50 | 범용. 10비트 안팎의 비코히런트 측정 |
| 블랙먼–해리스 4항(Blackman–Harris) | −92 dB | −6 dB/옥타브 | 4 | 2.00 | 14비트 이상 고해상도 비코히런트 측정 |
양산 테스트는 거의 언제나 코히런트 샘플링을 쓴다. 창을 쓰지 않으니 모든 샘플이 같은 무게로 쓰이고, 신호는 빈 하나, 고조파도 각각 빈 하나에 모여 계산이 단순하다. 창 함수는 기준 클록을 공유할 수 없는 특성 평가나 현장 진단에서 주로 쓴다.
SNR·THD·SINAD·SFDR·ENOB
코히런트 FFT를 하면 스펙트럼은 세 부분으로 갈라진다. 입력 주파수의 빈에 모인 신호, 입력의 정수배 주파수에 생기는 고조파, 그리고 나머지 모든 빈에 흩어진 잡음이다. 샘플링 때문에 \(f_s/2\)를 넘는 고조파는 접혀서(aliasing) 아래쪽 빈에 나타나므로, 고조파의 빈 위치는 \(k \cdot M \bmod N\)을 \(N/2\) 안으로 접어 찾는다.
이 세 성분의 전력 \(P_S\), \(P_H\), \(P_N\)으로 동적 파라미터를 정의한다. 고조파는 보통 2차부터 5차(또는 9차)까지 더한다.
이상적인 \(n\)비트 ADC도 양자화 오차를 피할 수 없다. 오차가 ±0.5 LSB 안에 고르게 퍼져 있다고 보면 그 RMS는 \(\mathrm{LSB}/\sqrt{12}\)이고, 만점 사인파에 대한 SNR은 다음과 같다. 반대로 측정한 SINAD를 이 식에 거꾸로 넣으면, 그 ADC가 "실효적으로 몇 비트짜리인가"가 나온다. 이것이 유효 비트 수(ENOB, Effective number of bits)다.
| ADC 종류(대표) | 분해능 | SNR | THD | ENOB | 양산 FFT 크기 |
|---|---|---|---|---|---|
| TB-7 감시용 SAR (1 MS/s) | 12비트 | ~70 dB | ~−78 dBc | ~11.0 | 4,096 |
| 오디오 시그마-델타 | 24비트 | ~105 dB | ~−100 dBc | ~17 | 16,384 이상 |
| 무선 기저대역 파이프라인 (수백 MS/s) | 12비트 | ~65 dB | ~−75 dBc | ~10.5 | 8,192 |
| SerDes 수신기 내부 ADC (수십 GS/s) | 6~8비트 | ~35 dB | ~−40 dBc | ~5.5 | (내장 모니터로 간접 확인) |
코히런트 샘플링 FFT 분석기
이 숫자들은 서로 다른 결함에 반응한다. 샘플-앤-홀드의 비선형 스위치 저항, 기준 전압의 부하 의존성은 THD와 SFDR을 나쁘게 만든다. 비교기 잡음, 기준 전압 잡음, 클록 지터는 SNR을 낮춘다. SAR의 커패시터 불일치는 정적으로는 DNL, 동적으로는 고조파와 가짓값으로 함께 나타난다. 그래서 정적 테스트(히스토그램)와 동적 테스트(FFT)를 같은 캡처 데이터에서 함께 계산하기도 한다. 코히런트 사인파 13만 샘플이면 히스토그램과 FFT를 동시에 얻을 수 있다.
지터가 정하는 SNR 한계
ADC는 정해진 순간에 입력을 잡아야 한다. 샘플링 순간이 \(\Delta t\)만큼 흔들리면, 신호가 그 순간 움직이는 기울기만큼 전압 오차가 생긴다. 진폭 \(A\), 주파수 \(f_{in}\)인 사인파의 최대 기울기는 \(2\pi f_{in} A\)이므로 오차는 \(\Delta v \approx 2\pi f_{in} A\, \Delta t\)다. 이 흔들림을 조리개 지터(Aperture jitter)라 하고, 샘플 클록의 지터와 ADC 내부 샘플링 스위치의 지터가 함께 들어간다. RMS 지터 \(\sigma_j\)가 만드는 오차를 신호와 비교하면 다음 한계가 나온다.
이 식은 테스트 장비에도 똑같이 적용된다. 고속 ADC를 시험하는 AWG 클록과 샘플 클록의 지터가 DUT보다 작아야 한다. 1 GHz 입력으로 12비트 ADC(74 dB)를 시험하려면 전체 지터가 약 30 fs 이하여야 한다. 일반적인 테스터 클록으로는 불가능한 숫자라서, 고속 ADC 양산 테스트에는 저지터 클록 소스를 로드보드에 따로 싣는다. TB-7의 감시용 ADC는 입력이 500 kHz 이하라 지터 요구가 약 60 ps로 아주 느슨하다. 반면 16 Gb/s SerDes의 수신기는 비트 하나가 62.5 ps이므로 피코초 단위의 지터가 곧 성능이다. 지터는 8절에서 다시 나온다.
지터 vs SNR: 비트를 늘려도 소용없는 곳
DAC 테스트 개요
DAC는 ADC의 거울이다. 코드를 넣고 나오는 전압을 잰다. 정적 테스트는 모든 코드(또는 일부)를 차례로 넣고 출력 전압을 정밀 DMM이나 디지타이저로 재서 오프셋·이득·DNL·INL을 계산한다. 여기서 DNL은 이웃 코드의 출력 전압 차가 1 LSB에서 벗어난 양이다. DAC에는 누락 코드 대신 비단조(Non-monotonic) 문제가 있다. 코드를 하나 올렸는데 출력이 내려가는 경우로, DNL이 −1보다 작을 때 생긴다.
모든 코드를 하나씩 재면 12비트 DAC는 4,096번, 16비트는 65,536번의 측정이 필요하고 매번 세틀링을 기다려야 한다. 그래서 전류 조향형(current-steering)이나 R-2R처럼 구조가 알려진 DAC는 비트 가중치 측정(Major carrier / superposition test)을 쓴다. 각 비트(또는 세그먼트)가 만드는 전압만 \(n\)번 재고, 나머지 코드의 출력은 중첩으로 계산한다. 회로가 선형 중첩을 따른다는 가정이 맞으면 측정 수가 수천 배 준다.
| DAC 테스트 | 측정 방법 | 보는 것 | 시간 감각 |
|---|---|---|---|
| 정적 전수 코드 | 코드 스윕 + DMM/디지타이저 평균 | 오프셋·이득·DNL·INL·단조성 | 코드당 수십 µs~ms |
| 비트 가중치 | 비트별 출력 \(n\)회 측정 + 중첩 | DNL·INL 추정 | 수 ms |
| 동적(FFT) | 사인 코드열 출력 → 디지타이저 → FFT | SNR·THD·SFDR | 수 ms |
| 세틀링·글리치 | 큰 코드 계단(예: 중앙 전이) 파형 캡처 | 세틀링 시간, 글리치 면적(pV·s) | 수 ms |
DAC의 동적 테스트는 디지털 소스 메모리에서 사인파 코드열을 내보내고, 출력을 디지타이저로 잡아 FFT한다. 코히런트 조건은 여기서도 똑같다. 차이는 측정기 쪽에 정밀도 부담이 온다는 것이다. 16비트 DAC의 SNR 98 dB를 재려면 디지타이저가 그보다 좋아야 한다. 또 하나의 방법은 DUT 안의 ADC와 DAC를 서로 연결하는 아날로그 루프백(Analog loopback)이다. 비싼 계측기 없이 디지털 핀만으로 둘을 함께 시험할 수 있지만, 두 블록의 오차가 섞이고 서로 상쇄될 수도 있어 진단력이 떨어진다. 고속 직렬 링크의 루프백이 같은 생각을 극단까지 밀고 간 것이다.
고속 직렬 링크: PRBS, 아이, BER
TB-7에는 16 Gb/s SerDes 4레인이 있다. 비트 하나의 길이, 곧 단위 간격(UI, Unit interval)은 62.5 ps다. 테스터의 디지털 채널은 최대 1.6 Gb/s(2장)라 이 신호를 직접 다루지 못한다. 고속 계측기를 핀마다 붙이면 사이트당 비용이 감당할 수 없게 오른다. 그래서 고속 링크의 양산 테스트는 칩이 자기 자신을 시험하게 만드는 방향으로 간다. 송신기에 패턴 발생기를, 수신기에 패턴 검사기를 넣고, 송신 출력을 수신 입력으로 되돌린다. 테스터는 시작 신호를 주고 오류 개수만 읽는다. 7장의 BIST를 아날로그 링크에 적용한 셈이다.
패턴은 PRBS(Pseudo-random binary sequence)를 쓴다. \(k\)단 LFSR이 만드는 길이 \(2^k-1\)의 수열로, 연속된 \(k\)비트의 모든 조합(전부 0 제외)이 한 번씩 나온다. PRBS7(\(x^7+x^6+1\), 127비트)은 연속 같은 비트가 최대 7개라 짧은 ISI만 자극하고, PRBS31(약 21억 비트)은 연속 31비트까지 나와 수신기의 기저선 변동과 CDR 추적을 혹독하게 시험한다. 검사기는 받은 비트로 자기 LFSR을 맞춘 뒤(self-synchronization) 다음 비트를 예측하고 틀릴 때마다 오류를 센다. 기대 데이터를 메모리에서 꺼내 올 필요가 없다.
루프백만으로는 놓치는 것이 있다. 송신기의 출력이 약하더라도 수신기 등화기가 강하면 링크는 통과한다. 실제 시스템에서는 다른 칩의 수신기, 더 긴 보드 배선과 연결될 것이므로 이 칩은 불량일 수 있다. 그래서 외부 루프백 경로에 일부러 손실과 지터를 넣어(스트레스 루프백) 여유를 확인하거나, 칩 안의 아이 모니터(On-die eye monitor)로 수신 신호의 열린 정도를 직접 읽는다.
아이 다이어그램
직렬 신호를 비트 클록에 맞춰 2 UI씩 잘라 겹쳐 그리면 눈 모양이 된다. 이것이 아이 다이어그램(Eye diagram)이다. 채널의 대역 제한 때문에 앞 비트의 꼬리가 현재 비트에 남는 부호 간 간섭(ISI, Inter-symbol interference)은 선을 여러 갈래로 가르고, 잡음은 선을 굵게, 지터는 교차점을 옆으로 퍼뜨린다. 수신기는 눈이 가장 크게 열린 곳에서 0과 1을 판정한다. 눈의 세로 열림이 아이 높이(Eye height), 가로 열림이 아이 폭(Eye width)이다.
지터는 성분에 따라 다르게 다룬다. 무작위 지터(RJ, Random jitter)는 열잡음 같은 가우스 분포로 꼬리가 무한히 이어진다. 봉우리-봉우리 값이 없으므로 RMS \(\sigma\)로 말한다. 결정적 지터(DJ, Deterministic jitter)는 ISI, 듀티 사이클 왜곡, 전원 잡음 결합처럼 경계가 있는 성분이다. 표준들은 둘을 이중 디랙 모델(Dual-Dirac model)로 묶어 BER \(10^{-12}\)에서의 전체 지터를 \(TJ = DJ_{\delta\delta} + 2 \times 7.03\,\sigma_{RJ}\)로 계산한다. 7.03은 가우스 꼬리가 \(10^{-12}\)이 되는 \(Q\) 값이다.
BER와 신뢰도
링크 사양은 보통 비트 오류율(BER, Bit error ratio) \(10^{-12}\) 이하다. 문제는 이것을 "확인"하는 데 걸리는 시간이다. \(N\)비트를 보내 오류가 하나도 없었다고 해서 BER이 0인 것은 아니다. 오류 수가 푸아송 분포를 따른다고 보면, 참 BER이 목표값이라도 오류가 0개 나올 확률은 \(e^{-N \cdot \mathrm{BER}}\)이다. 이 확률을 \(1-CL\) 아래로 누르려면 다음 비트 수가 필요하다.
TB-7에 넣어 보면 BER \(10^{-12}\), 95%에 \(3.0\times10^{12}\)비트가 필요하고 16 Gb/s에서 약 187 s다. 4레인을 동시에 돌려도 레인마다 같은 시간이 걸린다. 파이널 테스트 한 번의 삽입이 약 8 s이고 테스트 셀 원가가 초당 약 $0.07이니, 8사이트 병렬이어도 개당 약 $1.6로 전체 테스트 비용 목표($0.25, 13장)의 여섯 배가 넘는다. 양산에서 BER \(10^{-12}\)을 직접 확인하는 것은 불가능하다.
대안은 욕조 곡선의 성질을 쓰는 것이다. 샘플 위치를 눈의 가장자리 쪽으로 옮기면 BER이 \(10^{-4}\)~\(10^{-8}\) 정도로 높아져 짧은 시간에도 오류가 충분히 쌓인다. 그 몇 점의 BER을 이중 디랙 모델에 맞추면 RJ와 DJ가 나오고, 이를 \(10^{-12}\)까지 외삽해 아이 폭을 계산한다. 여기에 송신 쪽에서 일부러 사인파 지터를 얹어 수신기가 몇 UI까지 견디는지 보는 지터 허용(JTOL, Jitter tolerance) 시험을 더하면, CDR 루프 대역 밖의 지터에 대한 여유도 확인할 수 있다. 결국 양산에서 재는 것은 "BER이 낮다"가 아니라 "BER이 낮을 만큼 눈이 충분히 열려 있다"는 증거다.
아이 다이어그램과 BER: 16 Gb/s 루프백
BER 테스트 시간 계산기
RF 테스트 간략
TB-7에는 RF 송수신기가 없다. 모바일 SoC의 무선 기능은 보통 별도의 RF 칩과 모뎀이 맡는다. 그래도 혼성 신호 테스트의 연장선에서 RF 테스트가 무엇을 재는지는 알아 둘 만하다. RF 블록의 사양은 주파수 영역의 전력비로 표현된다. 측정 원리는 앞 절과 같다. 기준 클록을 공유하는 소스와 수신기, 그리고 FFT다. 다른 점은 주파수가 GHz 대역이라 측정 경로(케이블, 소켓, 로드보드)의 손실과 반사를 보정하지 않으면 숫자가 의미가 없다는 것이다.
| 파라미터 | 뜻 | 측정 |
|---|---|---|
| 이득·S 파라미터 | 입력 대비 출력 전력, 입출력 반사 | 벡터 네트워크 분석 또는 CW 톤 전력 |
| 잡음 지수 (NF) | 증폭기가 SNR을 얼마나 깎는가 | Y-팩터법(잡음원 켜기·끄기), 이득과 잡음 바닥으로 추정 |
| P1dB | 이득이 1 dB 줄어드는 입력 전력 | 입력 전력 스윕 |
| IP3 | 3차 상호 변조가 외삽으로 기본파와 같아지는 전력 | 두 톤 입력, IM3 측정 |
| EVM·ACLR | 변조 신호의 정확도, 옆 채널 누설 | 변조 파형 캡처 후 복조(DSP) |
RF 테스트는 장비가 비싸고 접촉 경로의 보정이 어려워 웨이퍼 테스트에서는 최소한만 하고 파이널 테스트에 몰아서 한다. 송신기 출력을 칩 안의 수신기로 되돌리는 RF 루프백, 칩 안 전력 검출기 같은 내장 자가 시험이 늘고 있다는 점은 SerDes와 같은 흐름이다. 패키지와 소켓의 RF 특성은 PackagingBook이 다루는 전기적 설계와 직결된다.
ADC는 사인 히스토그램 13만 샘플, SerDes는 BER 대신 아이 마진
12비트 감시용 ADC는 파이널 테스트에서 코히런트 사인파(\(f_s\) = 1 MS/s, \(N\) = 4,096의 배수, \(M\) 홀수)로 시험한다. 같은 캡처에서 히스토그램과 FFT를 함께 계산한다. 코드당 평균 약 32개, 전체 \(2^{17}\) ≈ 131,000 샘플(0.13 s)이면 95% 신뢰도에서 DNL을 약 ±0.43 LSB 정밀도로 잴 수 있어 한계 ±0.9 LSB 판정에 충분하다. 캡처는 스캔 테스트와 동시에 돌려 삽입 시간에 거의 더하지 않는다. 오프셋과 이득은 웨이퍼 테스트에서 재고 퓨즈에 보정값을 쓴다.
SerDes 4레인은 근단 직렬 루프백과 PRBS31 검사기로 기능을 확인한다. 사양은 BER \(10^{-12}\)이지만 95% 신뢰도로 직접 확인하려면 \(-\ln 0.05/10^{-12} \approx 3\times10^{12}\)비트, 16 Gb/s에서 약 190 s가 걸린다. 삽입 시간 8 s의 20배가 넘으므로 불가능하다. 대신 송신 지터 주입과 칩 안 아이 모니터로 샘플 위치를 옮겨 BER \(10^{-6}\) 부근의 몇 점(점당 약 0.2 ms)을 재고, 이중 디랙 외삽으로 \(10^{-12}\)의 아이 폭이 한계(예: 0.3 UI) 이상인지 판정한다.
핵심 정리
- 혼성 신호 테스트는 폴트 모델이 아니라 사양을 직접 재는 테스트다. 측정기가 DUT보다 4~10배 정밀해야 하고, 모든 장비가 하나의 기준 클록을 공유해야 한다.
- ADC의 정적 오차는 전이점의 위치로 정의된다. DNL은 코드 폭이 1 LSB에서 벗어난 양, INL은 DNL의 누적이며, DNL = −1은 누락 코드다.
- 히스토그램 테스트는 코드별 히트 수로 코드 폭을 잰다. 사인파는 확률 밀도 \(1/\pi\sqrt{A^2-v^2}\)로 보정하고, 필요한 샘플은 \(N \approx \pi 2^{n-1} Z^2/\beta^2\)이다. TB-7의 12비트 ADC는 13만 샘플로 β ≈ 0.43 LSB.
- 코히런트 샘플링 \(f_{in}/f_s = M/N\)(M 홀수, N과 서로소)이면 누설 없이 신호가 빈 하나에 모인다. 맞출 수 없을 때만 창 함수를 쓴다.
- SNR·THD·SINAD·SFDR은 신호·고조파·잡음 전력의 비이고, ENOB = (SINAD − 1.76)/6.02다. 높은 입력 주파수에서는 지터가 \(-20\log_{10}(2\pi f_{in}\sigma_j)\)로 SNR의 상한을 정한다.
- 고속 직렬 링크는 PRBS 발생기·검사기와 루프백으로 칩이 스스로 시험한다. BER을 신뢰도 CL로 확인하려면 \(-\ln(1-CL)/\mathrm{BER}\)비트가 필요해 10⁻¹²은 양산에서 불가능하고, 아이 마진 측정과 외삽으로 대신한다.
확인 퀴즈
10비트 ADC의 사인파 히스토그램에서 95% 신뢰도로 DNL을 ±0.2 LSB 안에서 재고 싶다. 필요한 샘플 수에 가장 가까운 것은?
\(f_s\) = 1 MS/s, \(N\) = 1,024로 코히런트 FFT를 하려 한다. 다음 입력 주파수 가운데 가장 알맞은 것은?
200 MHz 입력에서 14비트 ADC의 SNR이 62 dB로 나왔다. 저주파에서는 84 dB가 나온다. 가장 먼저 의심할 것은?
25 Gb/s 링크에서 BER 10⁻¹²을 신뢰 수준 95%, 오류 0개 조건으로 확인하는 데 걸리는 시간은 약 얼마인가?