DDR 메모리 채널에 대한 decoupling capacitor 계산

원 포인트 레슨 2014. 4. 4. 21:00

전류 흐름
net를 흐르는 total 전류는 termination 저항을 통해 흐르는 steady 전류(Idc)와 드라이버를 통해  흐르는 switching 전류(Iac)의 합 이다. Idc는 드라이버의 상태(state)가 바뀌기 전까지는 일정하다. Iac는 상태가 변할는 동안에만 흐른다. Steady state 전류 변화는 Iac가 드라이버를 통해 흐르는 동안에 발생하기 때문에 이것도 고려가 되어야 한다.

Itotal = Idc + Iac

여기서,
        Idc = Rs와 Rt, Rd를 통해서 흐르는 평균 steady state 전류
        Iac = logic state를 변화시키기 위한 switching 전류

Rs = 0 ohm, Rd = 13 ohm, Rt = 39 ohm 인 경우에 1V/ns edge rate를 가정하면,
        Idc = (Vdd-MVTT)/(Rs+Rd+Rt) = (2.5-1.25)/(0+13+39) = 24mA
        Iac = C * dv/dt = 30e-12 (1.875/1.5e-9) = 37.5mA

위에서,
        부하 30 pF = DQ핀당 5pF * 4 load + PCB trace 4 inch 10pF,  2.5pF/inch @ 60ohm trace.
        1.876 V = 10% - 90% switching range.
        1.5 ns = 최악 switching time

Inductance
디커플링 시스템을 설계하는 데서 치명적 제한 요소는 보통 커패시턴스의 양이 아니라 커패시터 leads와  커패시터를 power와 ground 판에 연결하는 via의 inductance 양이다. 0603 패키지의 0.1uF 커패시터면 아래 계산을 사용할 때 충분한 커패시턴스를 제공한다.

Via Inductance
via 인덕턴스에 관한 식은 다음과 같다.

Lvia = 5.08h[ln(4h/d)+1]

여기서,
    h = via length
    d = via diameter
    단위는 inch, nH

(case by case로 달라질 수 있으므로, 식을 맹신하지는 말고 참고만 하자)

h = 50 mil, d = 13 mil이라고 하면,
Lvia = 5.08 * 0.05 [ln(4*0.05/0.013) + 1] = 0.948 nH

최대 허용 Inductance
빠른 스위칭 전류는 커패시터의 기생 인덕턴스 때문에  전압 판에 연결되어 있는 via에 전압 강하를 유발한다. 표준식 V = L * di/dt 로부터 Lmax를 계산할 수 있다. 계산을 간단하게 하기 위해서 Iac는 V2.5로부터 흐르고 Idc는 MVTT로부터 흐른다고 가정한다. 실제로 MVTT는 전이 동안 Iac 전류에 기여를 하지만 그런 기여는 결과에 크게 영향을 주지는 않는다.
        Lmax = (V * dt / di)/N

여기서,
    dt = 10%-90% switching time
    di = net 당 전류
    N = 동시에 스위칭하는 net 수

MVTT의 허용 규격이 +/- 100 mV이고 2.5V의 허용 규격이 +/-200mV라고 하면,
MVTT 만족을 위한(Idc),
        Lmax = (0.1*1.5e-9 / (2 * 0.024))/109 = 0.029 nH,  nets 수 109개
V2.5 만족을 위한(Iac),
        Lmax = (0.2*1.5e-9 / 0.0375)/109 = 0.073 nH,        nets 수 109개
MVTT는 전이 동안 Iac에 영향을 주지만 영향이 크지 않으므로 계산을 간단하기 위해서 배제하였다.

커패시터당 등가 인덕턴스
같은 0603 커패시터라도 제조사 그리고 유전체 물질 등의 종류에 따라서 패키지 인덕턴스가 다르므로 부품에 대한 데이터시트를 확인할 필요가 있다. 그리고 만약 패키지 인덕턴스가 0.87nH라고 하면 등가 인덕턴스는 다음과 같다.

Leq = Lpkg + Lvia = 0.87 + 0.948 = 1.82nH

필요한 커패시터의 수량
    Ncap = Leq/Lmax = 1.82/0.029 = 63        for MVTT
    Ncap = 1.82/0.073 = 25                         for V2.5

어떤 디자인에서 MVTT는 표면 레이어에 구현이될 것이고 이 경우 커패시터의 단자는 via 없이 바로 판에 연결이 된다. 따라서 Leq = Lpkg가 되고 그럴 경우 수량은 63개에서 31개로 줄어들 수 있다.

예외와 변형
예기서 계산은 di/dt같은 differential 량을 선형적으로 근사했다. 정확도를 높이려면 더 복잡한 계산을 해야 한다. 그리고 각 net들은 같은 부하와 같은 타입으로 가정했다. 디바이스 파리미터가 달라지면 결과가 상당히 달라질 것이다. Rs가 작으면 신호 edge가 빨라져서 큰 di/dt를 만들 것이고 예측은 어려워 진다. 그리고 필요한 커패시터 양도 증가될 것이다. dt에 대한 예측 또한 매우 어렵니다. 그것은 드라이버의 세기에 의존한다. 여튼, 위와 같은 식과 방법을 이용해서 데이터시트를 활용해서 prototype 디자인을 할 수 있을 것이다. 그 다음 MVTT와 V2.5의 노이즈 레벨과 data의 edge rate를 측정해서 디커플링 양과 correlate할 수 있을 것이다.


- 마이크론 TN-46-02 에서 발췌 요약

'원 포인트 레슨' 카테고리의 다른 글

IBIS Package 모델은 언제까지 유효한가?  (0) 2014.08.18
FPGA IBIS 추출  (0) 2014.07.01
Sense 라인은 최대한 얇게  (0) 2014.03.26
시뮬레이션과 측정  (0) 2014.03.25
Nelco N4000-13 대역폭 검토 예  (0) 2014.03.17
: