Si design guideforddr2-ddr3pcb_eng1

3,964 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,964
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
84
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Si design guideforddr2-ddr3pcb_eng1

  1. 1. www.ansoft.co.kr DDR2/3 PCB SOLUTION
  2. 2. SI Design Guide for DDR2/3 PCB 본 교재는 Ansoft의 SI/PI/EMI tool package인 APDS (Ansoft PCB Design Suite)를 이용한 DDR2/3 PCB의 SI (Signal Integrity) 설계에 대해 소개하고 있습니다. APDS는 PCB EM 해석을 위한 SIwave와 회로해석을 위한 Nexxim으로 구성 되어 있으며, PCB의 구조적 등가회로에 기반한 transient 해석을 통해 가장 진보 적인 High Speed Digital SI 설계를 구현하고 있습니다. SIwave PCB의 layout data에 대한 전자장해석을 통해 공진/ 노이즈 분석 및 Near field/far field를 계산하는 PCB 전용 EM tool입니다. PCB에 최적화된 알고리즘을 이용 하여 일반적인 EM tool에 비해 수십 배 이상 빠른 속도 를 자랑하며, 직관적이고 쉬운 UI를 통해 효율적인 PCB PI/EMI 분석을 수행할 수 있습니다. 그와 더불어 PCB 의 물리적 구조에 대해 SPICE 등가회로를 추출함으로써 정확한 SI 분석을 가능하게 합니다. Nexxim 자동화된 Multi-Solver Transient 해석기술 및 Harmonic Balance/Linear 해석 등의 모든 종류의 회로해석 엔진을 탑재한 가장 진보적인 형태의 회로해석 툴입니다. 특히 SSN과 PCB full layout을 고려한 복합해석이 가능한 현존 유일한 툴로서, 고주파/고속신호의 SI 해석에 최 적화되어 있습니다. HFSS 업계 표준의 3차원 고주파 구조해석 툴로서, DDR2/3 와 관련된 주변 선로 및 커넥터 등의 coupling/field 계산과 정밀한 고속 동작 모델링에 적용됩니다. Q3D 패키지 / 커넥터/ 케이블 등의 임의의 3차원 구조에 대한 RLGC 등가회로를 만들어냄으로써, 물리적 구조가 전기적 신호에 미치는 영향을 정확하게 모델 링할 수 있습니다. TPA DDR2/3 BGA 패키지와 같은 고집적 패키지의 parasitic RLC를 추출함으로써 고속의 디지털 동작에 대한 영향을 평가할 수 있습니다. 2
  3. 3. 고속의 DDR2/3 메모리, 어떻게 해야 잘 동작할까? Fail?? Pass!! Gbps를 넘나드는 DDR2/3 메모리는 전자엔지니어들에게 새로운 도전을 요구하고 있습니다. 기존의 PCB 설계방법으로는 속도를 올리는데 한계점이 존재하며, 무언가 한 차원 높은 설계 방법을 도입해야 한다는 것을 느끼기 시작합니다. 이러한 DDR2/3 메모리를 고속으로 동작시키려면 기존의 디지털 설계와는 다른 고주파 PCB 설계 기술이 필요하며, 그와 더불어 PCB pattern의 SI 분석을 통한 정교한 신호품질 개선과 정이 수반되어야 합니다. 3
  4. 4. SI Design Guide for DDR2/3 PCB Contents Part 1: Introduction 기본적인 DDR2/3 메모리의 특징과 구조를 알아보고, DDR2/3를 활용한 PCB 설계 시 꼭 알아두어야 할 기본적인 정보와 성능 검증을 위한 Spec 및 용어들을 설명합니다. Part 2: DDR2/3 Design Guide 실제로 DDR2/3를 활용한 PCB를 설계하는 과정을 설명하며, DIMM을 이용한 설계와 On-board 설계에 대해 주요한 선로들의 배치방법에 대해 설명합니다. Part 3: DDR2/3 Simulation Guide APDS를 이용하여 실제 DDR2/3 PCB data pattern을 검증하는 SI 분석에 필요한 각종 시뮬레이션 과정을 설명하고, 결과를 분석하는 방법을 알아봅니다. Part 4: Automatic Verification DDR2/3 전용 분석 Tool인 APDS Wizard를 이용하여 자동화된 DDR2/3 SI 분석과정에 대해 알아봅니다. 4
  5. 5. 1. Introduction 1-1. DDR2/3 High Speed Memory 1-2. DDR2/3 설계의 어려운 점 1-3. DDR2/3 의 기본 선로 구성 1-4. 신호분석의 단위, Bytelane 1-5. DQS (Strobe) 신호의 이해 1-6. DDR2/3 동작성능 평가 방법 1-7. Key Spec: Setup time & Hold time 1-8. Module & On-Board case 1-9. 정확한 Termination의 중요성 1-10. ODT의 활용 5
  6. 6. SI Design Guide for DDR2/3 PCB 1-1. DDR2 High Speed Memory Dual Data Rate (DDR)라는 신기술로 메모리 시장을 주도했던 DDR 메모리는 최대 400Mbps 속도의 빠른 메모리 동작환경 시대를 열었습니다. 이러한 DDR 메모리는 보다 고속의 환경에 적합하도록 DDR2 로 업그레이드 되었으며, 속도에 따라 DDR2 (~800Mbps), DDR3 (~1.6Gbps), DDR4 (~4Gbps)와 같이 구분되고 있습니다. 동작속도 (bps) DDR2 DDR3 DDR4 400M, 533M, 667M, 800M 800M, 1066M, 1333M, 1.6G ~ 4G DDR2는 기본적으로 DDR3/4와 같은 구조를 갖고 있으며, 동작속도만 빠른 형태입니다. 고로 본 교재에 서 지칭하는 DDR2 설계법은 DDR3/DDR4에도 함께 적용되는 내용임을 참고하시기 바랍니다. DDR2는 과거의 DDR에 비해 고속환경에 적합하도록 약간의 구조변화가 있는데 DDR에서 DDR2로 넘어오면서 생긴 가장 큰 변화라면 데이터 클럭의 0과 1을 판별하는 기준이 되는 Strobe 신호가 Single line에서 Differential line으로 변경되었다는 점입니다. (이 부분은 DQS 설명 부분에서 자세하게 다룹니다) DDR2를 사용하기 시작하면서부터, 설계자는 동작 클럭을 선택하는데 있어서 애로사항이 늘어나기 시작하는데 높은 동작속도로 사용하려면 DDR2 메모리의 주변회로 및 데이터 선로의 정확한 설계가 뒷받침되어야 하기 때문입니다. 즉 사용자가 그냥 800MHz로 클럭을 올려서 동작시킨다고 데이터가 잘 전송되는 게 아니라, 설계된 구조에서 마진을 얼마나 가지느냐에 따라 사용할 수 있는 동작속도의 범위가 정해지게 됩니다. 이 때문에 기존의 디지털 전자회로 엔지니어들에겐 이렇게 고속동작 시에 발생하는 RF적인 문제들의 해결이 매우 어렵게 느껴지게 됩니다. 반대로, 고속동작/고주파에 익숙한 아날로그 혹은 RF 설계자들 에겐 이러한 문제점들이 상대적으로 익숙하지만, 디지털적인 기본 설계지식의 부족으로 부적절한 초기 설계가 이루어지는 경우가 발생하게 됩니다. 본 교재는 고속 동작하는 DDR2/3 메모리 설계에 있어서 필요한 기본적인 디지털/전자회로 지식과 고주파 아날로그적 지식을 동시에 설명함으로써, 종합적인 DDR2/3 PCB 설계 교재로서의 역할을 하게 될 것입니다. 6
  7. 7. 1-2. DDR2 PCB 설계의 어려운 점 DDR2/3/4 메모리는 400M~4Gbps에 이르는 빠른 동작속도로 인해 고주파 특성이 강해지게 됩니다. 이는 소위 말하는 RF적인 현상들이 뚜렷해진다는 뜻이고, 통상의 RF에서 800MHz 정도를 기준으로 고주파현상의 정도가 급격히 심해진다는 점에서 봤을 때, DDR2부터는 고주파/고속동작의 개념을 명확히 갖고 설계에 임해야 한다는 뜻이 됩니다. 이렇게 RF현상이 뚜렷해진다는 것은, 아래와 같은 이슈들을 부각시키기 됩니다. 선로간의 간섭이 심해진다. (Coupling Issue) 전원 노이즈에 민감해진다. (Power Integration Issue) 신호 품질의 관리가 힘들어진다. (Signal Integration Issue) EMI의 방사가 많아지고 복잡해진다. (Spurious Emission Issue) 이러한 DDR2 메모리의 동작 성능은 선로의 PCB pattern에 크게 의존하게 되며, PCB 설계 자체가 하나의 회로설계처럼 다루어져야 합니다. 즉 쉽게 말해서 PCB 패턴과 회로 소자들이 적절하게 설계/ 배치되지 않으면 고속에서 데이터가 깨지는 문제들에 직면하게 된다는 뜻입니다. 이것은 특히 800Mbps 을 넘어서면서 더욱 심각한 문제로 나타나며 과거에 DDR 설계하듯이 DDR2를 설계하다 보면 점점 더 fail이 심해지는 현상에 직면하게 됩니다. 이는 고속동작을 위한 SI/PI 개념에 익숙치 않은 엔지니어들에 겐 매우 막연한 해결과제처럼 보이게 되어버리죠. "도대체 뭐가 문제야!?" 이를 해결하기 위해서는 PCB를 구조적으로 분석하고 debugging하는 것이 중요해지며, 단순히 Trace 의 형상이나 구조뿐만 아니라 Power/GND Plane 및 주변 선로와의 관계까지 복잡하게 고려해야 하는 상황이 됩니다. 한마디로 PCB artwork을 문자 그대로 "Art"처럼 잘 그려야 한다는 뜻이기도 합니다. 이 때문에 단순한 Routing 개념의 PCB Pattern 설계를 뛰어넘어, 고속의 디지털 신호 품질을 평가할 수 있는 PCB 설계 방법이 필요합니다. 즉 설계된 PCB Pattern에서 고속의 DDR2 신호가 정상적으로 동작 할 지를 검증할 수 있는 Simulation 기술이 필요해지게 되는 것이지요. 그와 더불어, DDR2 메모리의 동작원리와 구조를 정확히 이해함으로써, 기본에 충실한 설계를 통해 고속동작에 따른 문제를 최소화 시키는 엔지니어의 지혜가 필요합니다. 결론은? - 고속 동작회로에서 PCB pattern은 하나의 회로처럼 정교하게 설계되어야 한다. 7
  8. 8. SI Design Guide for DDR2/3 PCB 1-3. DDR2의 선로구성 DDR2 메모리의 기본적인 선로 구성은 아래와 같습니다. 선로명 Ctrl CMD Clock Address DM DQS DQ command line. RAS, CAS 역할 Control Signal: ODT, Buffer 등의 각종 레지스터를 조절 동작속도의 기준이 되는 digital clock을 입력 데이터를 읽고 쓰는 주소 정보를 송수신. Data Mask Strobe signal. DQ 신호의 1과 0을 판별하는 기준시점을 잡아줌 실제로 data가 전송되는 데이터 전송로. 위의 그림은 DDR2 메모리 한 개에 대한 선로 구성으로서, 각 선로 종류별로 설계와 검증방법이 미묘 하게 차이가 있습니다. 본 교재에서는 각 선로별로 설계상의 주의사항과 몇 가지 유용한 tip을 소개하게 될 것이며, 후반부에서는 데이터 전송선로의 SI 분석법에 대해 집중적으로 알아보게 될 것입니다. 8
  9. 9. 1-4. 신호분석의 단위, Bytelane 메모리에서 하나의 데이터 묶음 단위를 Bytelane라고 부르는데, 아래와 같이 크게 DM, DQS, DQ 라인 들로 구성됩니다. DDR2가 정상 동작할 것인지를 판별하는 최종 결과는 DQ (data)에서 전달되어 수신된 신호파형이 spec 을 만족하는가에 달려있습니다. 어차피 메모리 버스의 목표는 1과 0을 판별할 수 있는 최소한의 신호 전달이기 때문이지요. 그래서 실제 신호분석에 필요한 최종파형은 DQ 파형이며 이 DQ 파형이 spec에 만족하는지를 판별해 주는 기준 신호인 DQS의 파형도 필요하게 됩니다. 결과적으로 DM을 제외한 DQ, DQS의 파형을 통해 DDR2의 신호가 제대로 전달되고 있는지를 판별할 수 있게 됩니다. DQS는 2개의 선로 조합으로 구성되는 differential 구조이며 1 byte를 이루기 위해 DQ는 8개의 개별적인 single bit 선로로 구성됩니다. DQS 선로에 의해 생성된 기준신호는 같은 Bytelane에 묶여 있는 8개의 DQ 신호에 동시에 의 품질 평가 기준이 되므로 결과적으로 DDR2/3에서의 SI 분석은 하나의 Bytelane 단위로 해석하게 됩니다. 9
  10. 10. SI Design Guide for DDR2/3 PCB 1-5. DQS (Strobe) 신호란? DQ (data) 신호의 성공적인 전송여부를 판단하기 위해서는 DQS 신호가 필요하며, spec을 적용하기 위해서는 DQS에 대한 정확한 이해가 필요합니다. 위의 그림에서 가운데에 빨간색으로 일정한 아이 패턴을 그리는 파형이 DQ 데이터 파형인데 이 DQ를 가로지르는 보라색의 다른 파형, DQS가 있음을 보실 수 있습니다. DQS는 DQ신호와 동일한 주파수에 1/4 주기만큼 위상이 다른 신호로서 DQS 신호가 전압 스윙의 중앙점을 지나는 순간에 DQ 신호의 1과 0을 판별하게 됩니다. 즉 DDR2의 경우에선 파형의 중앙점이 Vref 지점이 되므로, DQS 신호파형이 Vref를 지나는 순간 DQ가 특정 threshold 전압보다 높으면 High, 낮으면 Low로 판정하게 되는 것이지요. 한마디로 모든 DQ bit 판별의 기준신호가 되기 때문에 매우 정확한 동작이 필요한 reference의 역할을 하게 됩니다. 이 때문에 DDR2부터는 고속에서의 기준신호로서의 DQS의 잡음을 최소화하기 위해 differential line 으로 DQS를 구성하고 있습니다. 기존의 DDR과의 패턴 호환성을 위해 일부 클럭 (400, 533)의 경우는 Single line 구성도 허용하고 있으나 기본적으로 DQS는 2가닥의 differential line 으로 설계되어져야 최대한의 설계 마진을 확보할 수 있습니다. 10
  11. 11. 1-6. DDR2 동작성능 평가 방법 현재의 PCB 패턴과 소자구성에서 DDR2 메모리의 데이터가 정상적으로 전송될 것인지를 판별하는 기준은 여러 가지가 있지만, 모든 조건들을 만족시키는 최종 지표는 바로 Setup margin과 Hold margin 이라 할 수 있습니다. 위의 그림은 실제 DDR2 데이터 파형을 분석하는 Eye Diagram으로서, 우선 DQS가 Vref를 지나는 지점에서 앞쪽으로는 Setup time, 뒤쪽으로는 hold time 이라는 spec이 존재합니다. Setup time은 데이터 파형의 high/low를 판별하는데 필요한 최소시간을 의미하며, Hold time은 판별된 결과가 유지 되어야 하는 최소시간을 의미합니다. 이러한 Setup/Hold time spec은 동작속도와 선로구성 방법에 따라 JEDEC 규격 집에 각각 정의 되어져 있으며, 데이터가 오류 없이 전송됨을 보장할 수 있는 가장 중요한 spec입니다. Eye diagram을 출력하면 먼저 Mask를 그려야 전송성능을 판별할 수 있는데 Setup 영역에서는 V IHAC와 V ILAC, Hold 영역에서는 V IHDC와 V ILDC라는 전압을 기준으로 하게 됩니다. 위 그림을 참조로 각 네 지점 위치 별로 기준 전압과 파형이 만나는 지점을 연결하여 사각형을 그리면 그것이 Mask가 되고, 여기서 Setup 영역의 두 꼭지점을 연결했을 때 Vref와 만나는 지점과 Setup time spec과의 차이가 바로 여유 있는 시간영역, 즉 Setup margin이 되며 Hold 영역도 같은 방식으로 남는 시간을 계산 하면 Hold margin이 계산됩니다. 결국 설계자가 판단해야 할 일은 데이터 선로의 Eye Diagram에 Mask를 그린 후, Setup/Hold margin이 얼마나 존재하는가를 판단하는 일입니다. 만약 margin이 전혀 없는 데이터 선로라면 gray zone 동작이 되어서 데이터의 오류가 발생할 가능성이 높다는 의미가 됩니다. 11
  12. 12. SI Design Guide for DDR2/3 PCB 1-7. Key Spec: Setup time & Hold time 앞에서 설명하였듯이, DDR2 성능분석에 있어서 가장 중요한 spec은 Setup time과 Hold time입니다. 그와 더불어 Mask를 그릴 때 기준이 되는 AC와 DC Threshold Voltage 도 알아야 합니다. 이 값들은 JEDEC 표준문서에 정의되어 있으며, DDR2/3 메모리 종류와 전송속도, DQS 구성방식 등에 따라 다르게 적용됩니다. 우선 메모리 종류와 속도에 따른 AC와 DC Threshold Voltage는 아래와 같이 정의됩니다. 이 Threshold 값은 DQ의 데이터가 1인지 0인지를 판별하는 전압 기준점이 됩니다. V IH(AC) DDR2 DDR3 VREF+0.25 (400/533) VREF+0.2 (677/800) VREF+0.175 V IL(AC) VREF - 0.25 (400/533) VREF -0.2 (677/800) VREF - 0.175 V IH(DC) VREF + 0.125 VREF + 0.1 V IL(DC) VREF - 0.125 VREF - 0.1 VDDQ DDR2 DDR3 1.8 1.5 VREF 0.9 0.75 VTT 0.9 0.75 12
  13. 13. 가장 중요한 Spec이라 할 수 있는 Setup time/Hold time spec은 아래와 같습니다. DDR2 with Differential Strobe ● Setup / Hold time Data rate (Mbps) Setup Time (ns) Hold Time (ns) 400 0.15 0.275 533 0.1 0.225 667 0.1 0.175 800 0.05 0.125 ● Slew Rate table ※ Buffer Strength 등을 조절하여 Slew Rate가 변하는 경우는 변화된 slew rate에 따라 각기 다른 Setup/Hold time을 적용해야 할 수 있습니다. 이 경우 위 table을 활용하여 DQ와 DQS의 slew rate에 맞는 delta time 값을 각 setup time, hold time에 추가로 더하면 됩니다. 13
  14. 14. SI Design Guide for DDR2/3 PCB DDR2 with Single Strobe ● Setup / Hold time Data rate (Mbps) Setup Time (ns) Hold Time (ns) 400 0.025 0.025 533 -0.025 -0.025 667 N/A N/A 800 N/A N/A ● Slew Rate table DDR2의 경우는 위와 같이 Single Strobe를 활용한 spec까지도 제공되는데 자세히 보면 400과 533 클럭 에서만 사용되도록 권장 되어지고 있습니다. 왜냐하면, 고속동작을 위해 DDR2의 strobe를 differential line으로 규정하고 있으나 DDR에서 DDR2로 넘어가는 과도기적 설계에서는 single strobe를 사용하는 종래의 DDR과도 호환되는 PCB 패턴을 만들어야 할 경우가 있기 때문입니다. 즉 DDR1과 DDR2를 혼용 할 수 있도록 하기 위해선 DDR2도 DDR1처럼 single strobe로 구현해야 하는 것이지요. 당연한 얘기지만, single strobe로 DDR2를 동작시키면 common noise의 영향에 더 민감해짐으로써 기존의 differential DDR2 spec을 만족시키기 어렵습니다. 그래서 별도의 single 전용 spec도 제공되 긴 하지만, 667이나 800과 같은 고속에서는 정상 동작시키기 어렵기 때문에 아예 spec 자체가 정의되어 있지 않습니다. DDR2에서의 Single Strobe는 어디까지나 종래의 DDR과의 호환 패턴을 위한 것일 뿐이 므로, 이러한 경우가 아니라면 strobe는 반드시 differential로 구성하여야 합니다. 14
  15. 15. DDR3 ● Setup / Hold time Data rate (Mbps) Setup Time (ns) Hold Time (ns) 800 0.075 0.15 1066 0.025 0.1 1333 TBD TBD 1600 TBD TBD ● Slew Rate table DDR3의 높은 동작속도에서의 Setup/Hold time spec은 수시로 변동이 있는 상황입니다. TBD라고 되어 있는 부분은 To be decided의 준말로서, 곧 결정되어야 한다는 뜻입니다. 15
  16. 16. SI Design Guide for DDR2/3 PCB 1-8. Module & On-Board case 앞의 설명에서, Eye Diagram의 Mask를 그리기 위해선 AC와 DC의 전압 threshold spec이 필요함을 언급하였습니다. 여기서 AC spec이란 출렁이는 AC 파형으로부터 DC적인 신호값을 읽기 위한 전압 기준값을 의미하며, DC spec이란 이미 0, 1이 판별 된 후의 파형변화를 감지하는 전압 기준값을 의미 하게 됩니다. 즉 파형이 중앙을 지나 위 혹은 아래로 움직이기 시작할 때 AC spec이 적용되고 정점을 지나 다시 중앙으로 돌아올 때 DC spec이 적용됩니다. 결국 AC/DC spec은 Data 파형이 일정 전압을 넘었느냐 아니냐를 통해 1과 0을 판단하기 위한 기준점 으로써, Setup 영역에서의 출렁이는 전압에 대비한 판단능력이 더욱 중요하기 때문에 AC spec이 좀더 까다로운 전압 값을 가지게 되는 것이지요. 그런데 여기서 한가지 기억해둘 사실은, 일반적인 on-board DDR2, 즉 PCB에 직접 DDR2 메모리를 실장한 경우엔 Setup/Hold 영역 모두에 그냥 DC spec만 적용해도 무방하다는 점입니다. AC spec은 보다 빡센 신뢰성이 요구되는 경우에 필요한 spec으로써, DIMM과 같은 DDR2 module 설계에서 적용 되어야 합니다. DIMM의 경우는 어떤 Motherboard에 꽂힐지 모르는 팔자이기 때문에 어떤 구린 PCB를 만나더라도 동작할 수 있도록 더욱 많은 설계마진이 필요하기 때문입니다. 실제로 DIMM 설계자보다는 on-board DDR2 설계자가 많기 때문에 AC spec은 통상 무시해도 좋다, 라고 말할 수도 있겠습니다. 다만 보다 마진을 많이 가져야 하는 경우에는 자체 spec으로 AC spec까지 적용하는 것도 고려해 볼만한 사항입니다. 16
  17. 17. 1-9. 정확한 Termination의 중요성 실제로 DDR2의 디버깅에 있어서 자주 발견되는 오류는 적절치 못한 termination에 기인한 경우가 많습니다. 특히 저항 termination에 익숙치 않은 고주파 설계자들에게 쉽게 발생하는 문제로서 기본적인 설계지식부터 다시 검토해봐야 할 부분이 됩니다. Termination은 보통 직렬 저항 또는 병렬 저항을 이용하여 저항까지 전달되어온 신호의 전압 레벨을 tune 하는 역할을 하게 됩니다. 이 때 중요한 점은 저항의 값과 연결 방식에 따라 일장 일단이 존재한다는 사실 이며 설계자는 이러한 trade-off를 정확히 판단하여 적절한 termination 방법을 정해야만 합니다. Termination이 없는 경우 적당한 Termination이 걸린 경우 위의 그림은 DDR2/3 신호 수신단에서 저항 termination의 유무에 따른 수신 신호 파형의 변화를 보여준 예입니다. 일반적으로 저항 termination을 추가하면 오른쪽 그림처럼 전압 파형의 크기는 작아지지만, 신호의 loading이 보다 명확해져서 ripple과 over/undershoot 현상이 저감되고 파형이 안정적인 형상 이 되는 경우가 많습니다. 마진이 충분하다면 왼쪽 그림처럼 termination이 없어도 Eye mask와 관련된 SI 성능에 문제가 없을 수 도 있습니다. 그러나 이처럼 뭔가 "조절되지 않은" 큰 파형이 출렁이고 있는 경우는, 불행히도 EMI 적으로 문제를 일으킬 가능성도 높다는 점을 꼭 기억해야 합니다. 그리고 중요한 점은, DDR2/3에서는 이렇게 외부에 별도의 병렬 termination 저항을 달아주지 않아도 내부에서 ODT 기능을 활용하여 보다 효과적이고도 경제적으로 termination을 적용할 수 있다는 점입니다. 17
  18. 18. SI Design Guide for DDR2/3 PCB 1-10. ODT의 활용 DDR2부터는 기존의 DDR과 달리 내부에 자체적인 termination용 저항이 탑재되어 있는데, 그것을 ODT (One-Die Termination) 혹은 DCI (Digitally Controlled Impedance)라고 부릅니다. 이러한 ODT는 외부의 Control 단자를 이용하여 조절하게 되는데, 외부 입력 신호에 따라 각 선로 종단의 병렬 저항들이 switch on/off되게 됩니다. 위의 오른쪽 그림처럼 DDR2/3 내부에 존재하는 ODT를 잘 활용하면, 메모리 IC 외부에 termination용 저항소자를 달 필요가 없기 때문에 원가절감은 물론 설계의 편의성도 증진시킬 수 있게 됩니다. 그런 데 실제로는 적지않은 설계자들이 익숙치 않다는 이유로 외부에 저항을 달고 있는 경우가 많으며 경우 에 따라선 외부소자로 사용하는 것이 납땜을 통한 간단 튜닝에 있어서는 더욱 편한 면도 있습니다. 특히 ODT로 내장된 저항은 50, 75, 150의 일정한 값만 지정할 수 있기 때문에 설계자가 미세하게 튜닝하고 싶은 경우라면 불편하게 느껴질 수도 있긴 합니다. 결정적으로 ODT 저항을 조절하는 방법이 익숙치 않아서 ODT의 활용률이 떨어지는 경우가 많은 게 현실입니다. 그러나 언제나 성능개선과 원가절감이 필요한 설계자 입장에서는 내장된 ODT를 적극적 으로 활용하여 대량 생산 시 보다 안정적인 수율 및 부품단가를 줄이고 신호품질을 개선하는 것이 좋을 것은 명약관화한 일입니다. 18
  19. 19. 특히 앞의 그림과 같이 데이터 선로를 분기하여 여러 개의 DDR2/3 칩을 사용하는 경우, controller에서 특정한 하나의 칩으로만 데이터를 전송할 때 ODT가 필수적으로 사용되어야 합니다. 다른 DDR2/3 칩의 ODT는 disable하고 목표가 되는 DDR2/3 칩만 ODT를 on 시켜서 해당 DDR2/3 칩에만 load가 잘 걸려야 신호가 정상적으로 전송되기 때문이지요. 이는 S/W 적으로 control 되는 ODT의 가장 강력한 장점으로써, PCB 상에 저항소자를 추가하여 만든 termination으로 할 수 없는 선택적 동작이 가능하게 됩니다. DDR2/3의 ODT는 왼쪽 그림과 같이 각 DQ/DQS/DM pin에 300옴 3개를, ODT pin에 300옴 3개가 달려있고 각 저항끼리 병렬로 S/W가 달려있습니다. ODT를 disable 하면 아무런 병렬 저항이 보이지 않으며, 일단 S/W를 끈 상태에서 enable 을 하면 300옴이 동시에 2개가 걸려서 150옴이 됩니다. A6 (SW1) 0 0 1 1 A2 (SW2) 0 1 0 1 Rtt (Normal) Disabled 75 ohm 150 ohm 50 ohm 여기에 위의 표처럼 순차적으로 저항간의 S/W를 조절하면 150옴/75옴/50 옴과 같이 병렬로 3가지의 저항 값을 termination으로 잡아줄 수 있는데, 이는 A0 ~ A9 Address field의 A2 와 A6의 2 bit를 조절하여 결정 하게 됩니다. 이러한 ODT 조절기능은 batch file등을 이용하여 controller에 load 시키게 되며, Controller의 동작 방식 이나 종류에 따라 사용방법이 조금씩 다를 수 있으므로, 제품 제조사에서 배포하는 별도의 ODT 관련 매뉴 얼을 참조하시면 보다 상세한 활용 방법을 익힐 수 있습니다. 다시 한번 ODT의 중요성에 대해 강조한다면, DDR2/3에 이미 내장되어 있는 ODT를 적극적으로 활용 하여 DDR2/3 Memory의 신호품질을 개선하고 불필요한 외부소자도 줄일 수 있다는 점을 명심하시기 바랍니다. 19
  20. 20. SI Design Guide for DDR2/3 PCB 2. DDR2/3 Design Guide 2-1. 선로길이 맞추기: Skew 관리 2-2. DIMM case/On-board case 2-3. DIMM: Clock Line 설계 2-4. DIMM: 2T mode - Address/CMD Line 설계 2-5. DIMM: 1T mode with Termination - Address/CMD Line 설계 2-6. DIMM: DM/DQS/DQ 설계 2-7. On-board: Clock Line 설계 2-8. On-board: 2T mode - Addre7s/CMD Line 설계 2-9. On-board: 1T mode with Termination - Address/CMD Line 설계 2-10. On-board: DM/DQS/DQ 설계 20
  21. 21. 2-1. 선로길이 맞추기: Skew 관리 고속의 디지털 설계에 있어서 동일한 종류의 동기 데이터가 전송되는 병렬 선로들의 길이를 맞추는 것은 매우 중요한 작업이자, 기본적인 설계지식이기도 합니다. 현실적으로 PCB Layout 상에서 DDR2의 DQ 선로와 같은 병렬 선로들은, 아래와 같이 다양한 길이와 모양으로 그려질 수 밖에 없습니다. 이렇게 다양한 layer로 분산되어 다양한 형상으로 진행되는 병렬 선로들의 전기적 길이, 즉 위상을 동기 시키기 위해서는 여러 가지 방법이 동원됩니다. 가잔 먼저 각 PCB Layout CAD에 존재하는 여러 가지 부가 기능을 통하여 위상을 동기 시키는 것이 가능한데, 중요한 것은 "어떻게" 길이를 보정하느냐 라는 문제입니다. 400Mbps 급의 DDR2에서 선로길이가 아주 길지 않다면, 대체로 물리적으로 길이만 맞추 어도 어느 정도 정상적으로 동작할 수 있습니다. 그러나 datarate를 올려가기 시작하면 분명히 한계점을 느끼기 시작할 것입니다. 그렇기 때문에 단순히 길이만 계산하는 방법이 아니라, 위상 동기를 위해 선을 꼬아놓은 구조의 특성 까지 물리적으로 확인하는 것이 필요해지며, 결국 PCB에 대한 전자기적 구조해석이 필요해집니다. 본 교재에서 설명하는 모든 SI 분석용 PCB 데이터는 이러한 EM 해석에 근간하고 있으며, 제대로 된 high speed digital 분석을 위해서는 반드시 필요한 과정입니다. 그리고 중요한 점은, 아무리 EM 해석에 기반한 SI 분석을 통한 skew 보정이 가장 실제적이라고는 해도, 어쨌든 초기설계 단계에서 DQ 병렬선로의 길이를 최대한 맞추는 것은 DDR2/3 PCB layout에서 가장 기본적인 전제조건이라는 점을 기억해 두시기 바랍니다. 21
  22. 22. SI Design Guide for DDR2/3 PCB 2-2. DIMM case/On-board case 실제로 DDR2 메모리를 활용하는 경우는 크게 2가지 케이스로 분류해야 하는데, 모듈 형태로서 마더보드 에 장착 해야 하는 DIMM 형태와 PCB에 직접 DDR2 메모리 IC를 SMT로 실장하여 사용하는 On-board 형태로 구분합니다. 이 두 케이스 별로 설계방법과 적용되는 spec도 미묘하게 차이 나기 때문에, 적용 하려는 시스템에 따라 최적화된 설계 방법이 필요해집니다. DDR2/3 DIMM을 이용한 경우 On-Board DDR2/3 본 DDR2/3 Design Guide part에서는, DIMM case와 On board case로 나누어서 각각의 주요 trace 설계법과 분석, 튜닝 방법에 대해 설명할 것입니다. 그리고 DDR2/3의 PCB trace 설계는 크게 Clock line 설계, CMD/Address line 설계, DM/DQ/DQS 설계의 3 part로 나뉘어지며, 각기 비슷하면서도 조금씩 다른 기준으로 설계가 이루어져야 합니다. DIMM과 On-board case는 공히 termination과 ODT에 대해 꼼꼼하게 체크할 필요가 있으나, 선로 배치와 방법론에서 여러 가지로 차이점이 있습니다. DIMM은 module을 통해 DDR2/3 메모리에 접근 하기 때문에 Controller에서 DIMM까지 가는 경로에 대한 설계만이 필요하지만, On-board의 경우는 Controller에서 DDR2/3 칩까지 전달되는 모든 경로에 대해 고려하고 튜닝 해야 합니다. 반면 경로조건은 다르지만, ODT 설정이나 termination에 따른 파형변화는 DIMM이나 on-board에 공히 적용되는 조건입니다. 고로 이후로 Design guide에서 이어지는 설명은 DIMM case와 on-board case로 나뉘어져 있지만, 실제 DDR2/3 PCB 설계자들에겐 모두 도움이 되는 공통적인 내용들이 많으 므로 전체적으로 읽어보시기를 권장 드립니다. 22
  23. 23. 2-3. General Case "2 DIMM": Clock Line 설계 우선, Clock 선로들은 uni-directional differential signaling scheme을 사용하고 있으며, SSTL1.8V logic의 경우, DDR2 SDRAM의 differential Input buffer에서의 logic threshold 값은 0V를 기준으로 ±500mV를 초과하지 않습니다. 기본 사항 ● 일반적인 2개의 DIMM을 사용하는 Hardware Interface에는 Main Board 상에서 DIMM 한 개 당 3개의 differential clock signal이 공급되며, 공급된 clock의 재분배는 DIMM 모듈 내 buffer의 구성 에 따라 달라질 수 있습니다. 일반적인 2개의 DIMM을 사용하는 Hardware Interface에는 총 6개의 differential pair가 사용됩니다. ● Clock Trace는 Single Impedance는 60옴, Zodd(<Zsingle)는 50Ohm으로 설계하여 100Ohm Differential impedance은 확보합니다. (6층일 경우, Physical Width와 Height에 대한 Physical Dimension은 29페이지의 그림을 참조하시기 바랍니다.) ● Memory Controller의 Application Note에서는 Main Board 상의 Option Cap에 대한 내용들이 기술되어 있는데, 이것은 Pulse Egde의 non-monotonic 현상을 개선할 수 있으므로, 가능하면 Schematic에 반영하도록 합니다. (추후 상세 기술) 23
  24. 24. SI Design Guide for DDR2/3 PCB 선로 길이의 관리 • Memory Controller와 DIMM간의 trace 길이는 최대 5000mils (12.7cm)를 넘지 않도록 합니다. 이렇게 최대 길이에 제한을 두는 이유는 Crosstalk (periodic jitter)와 Dielectric Loss(ISI)에 의한 Deterministic(Bounded) Jitter를 저감하여, Timing/Voltage Margin을 최대로 확보하기 위합니다. DDR2 interface 상의 Clock의 length는 source synchronous timing method에서 strobe signal과 같이 중요한 reference signal이므로 너무 짧게 배선할 경우, 부품 실장과 Skew 관리 시 사용되는 meander line (=serpentine trace)을 위한 공간을 확보하기 어렵습니다. • Differential line의 두 선로(+/- trace)의 길이 차이는 최대 0.25mm 이내여야 합니다. 이는 +/-Signal phase에 의한 common mode noise를 저감하기 위해서입니다. (그림 참조) Parallel Termination (100Ohm Shunt) Zdiff=100Ohm( Zodd=50Ohm) 위의 그림은 Differential Clock의 Positive Length가 0.5mm 더 긴 경우, Receiver에서 관찰된 differential voltage와 common voltage의 결과입니다. 이 경우 두 선로간의 Differential voltage의 차이는 적지만, common voltage는 매우 큰 차이를 보이고 있음을 알 수 있습니다. 24
  25. 25. • DIMM의 differential pin에서 tight coupled 구간까지의 최대 길이는 0.5mm로 제한합니다. 즉 아래와 같이 두 개의 벌어진 pin에서 선로가 나온 후에는 differential pair 구성을 위해 가까이 붙이게 되는데, 최대한 가까운 거리에서 얼른 붙여야 한다는 의미입니다. 아래 그림은 Differential Signal이 Via의 Uncoupled 구간에서 Reference Change로 인해 야기시키는 Noise source를 나타내고 있습니다. (SIwave Near-Field Simulation) 25
  26. 26. SI Design Guide for DDR2/3 PCB 선로 간의 간격 • Clock 신호선과 다른 신호선간의 거리는 최소 0.5mm 이상 이격할 것을 권장합니다. 만약 이 거리가 가까워지면, 불필요한 crosstalk로 인해 periodic jitter가 발생할 수 있습니다. Clock 신호는 Address/ CMD/Ctrl/DQS의 기준이 되는 신호이므로, 이러한 점에서 보다 주의해야 합니다. 이것은 Data Group (Byte Lane) 신호 중, reference signal인 strobe 신호에 대해서도 동일하게 적용됩니다. • Reference Length를 확보하기 위해 Differential Signal을 Tuning (Meander Line)하는 경우, Zdiff의 Tolerance가 심해지지 않도록 아래와 같이 멀리 이격합니다. • Differential 선로를 meander 형태로 꺾을 때는, 간격에 더욱 주의해야 합니다. 아래 그림처럼 꺾인 pair끼리 너무 가까이 붙어있으면 NG (No good, 말 그대로 NG!)라고 할 수 있습니다. NG NG NG Edge to edge spacing(S1) between positive and negative signal Edge to edge spacing(S2) between meander lines: > 2S1 위에서 지적한 NG (S1=S2) 구간은 Zdiff의 Impedance가 100Ohm으로 형성되지 않으며, Skew로 인한 설계 delay가 다소 변화될 수 있습니다. 이렇게 부득이하게 differential line을 꺾어야 하는 경우는, 다른 signal pair와의 거리 S2가 differential line 자체의 간격 S1보다 최소 2배 이상이 되도록 설계해야 합니다. 만약 그 이하의 거리로 pair끼리 맞닿으면, 인접 Signal이 Switching할 때 Switching조건에 따라 Zodd, Zeven의 임피던스에 Variation이 발생되고 Velocity 또한 변화되어 위상 차가 더욱 커지게 되어, 결과적으로 common mode noise가 더욱 증가되기 때문입니다. 26
  27. 27. 이러한 NG구간 단면의 E-Field 분포를 관찰해보도록 하겠습니다. (모든 선 폭이 0.1mm이고 유전체의 두께도 0.1mm인 경우의 예입니다) 아래 그림은 S1=S2 인 경우의 단면 field 분포로서, 두 pair간에 불필요한 field가 형성되고 있음을 알 수 있습니다. 이렇게 Signal들이 인접하여 Coupling이 강해지면 Diff. Signaling에 대한 유효유전 상수가 작아지고 (전송속도는 빨라짐), 결과적으로 Diff. Impedance가 감소되게 됩니다. S2=S1 Posi Nega Nega Posi Ref. Plane 아래 그림은 S2 = 2*S1 인 경우의 단면 field 분포로서, 위와는 다르게 양 쪽이 똑같이 안정적인 field 분포를 갖고 있음을 알 수 있습니다. S2=2S1 덧붙여서, Differential Clock 선로의 Self Net에 skew가 생성되는 상황일 때, +/- 길이 오차 (Phase)를 우선적으로 보정하되 Uncoupled 구간의 관리를 우선 순위로 합니다. 예제) ※ 우선순위 1. Pin 배열로 인해 Skew가 생길 경우, Phase delay를 보정(Serpentine Trace). 2. Skew보정 시, 생성된 Uncoupled Region 을 최소화하며, 불연속이 적어지도록 두 라 인 사이의 영역을 관리 27
  28. 28. SI Design Guide for DDR2/3 PCB Termination 관련 @ Main Board DIMM 내의 Clock input buffer의 근처에는 differential line의 +/- 선로간에 병렬 저항이 사용되므로, Main Board에서는 별도의 Shunt Termination저항 (100Ohm)을 사용하지 않습니다. 또한 Reflection 으로 인한 Voltage/Timing Margin을 더 확보하기 위해 Buffer Strength와 Termination을 최적화할 필요가 있습니다. Main Board 상에 100Ohm shunt termination을 추가로 적용할 경우, DC IR drop이 발생하여 파형이 작아지므로 DC적인 noise margin이 줄어들게 됩니다. 선로의 배치 Clock 선로는 기준신호이기 때문에, 다른 신호보다 더 세심하게 배치되어야 합니다. Routing 우선순위 는 DDR2 Interface Signal들 중에 첫 번째이며, 불가피하게 Impedance 불연속 구간이 발생할 경우, 이것을 최소화하여 설계하려는 노력이 필요합니다. (전술한 Uncoupled Region참조) 상기 그림은 외층에 배선한 edge-to-edge coupled type의 Microstrip일 경우이며, FR4 system에서 Physical Dimension이 W=0.1mm, S=0.1mm, H(PCB Layer Stack 중, Prepreg Thickness)=0.1mm 일 경우, 약 Single Zo가 63Ohm 정도로 형성되며, Zodd가 약 50.5Ohm 정도로 형성이 됩니다. (Zdiff=2*Zodd) 28
  29. 29. 아래는 6층 기판의 예로써, 1층 혹은 6층에 Differential Signal을 상기와 같이 Coupled Microstrip으로 배선하고, 2층 5층은 Reference Plane (GND)으로 구성한 PCB Layer Stackup의 예입니다. 이러한 stackup 방법은 4번째 층에 Power Plane Layer가 들어가기 때문에 Power(4th)-Ground(5th) Plane Pair에 의한 Power/Ground Impedance를 저감하는데 도움이 됩니다. 또한 선로를 배선하는 1,3,6층은 어느 Layer에 배선을 해도 Ground를 reference plane으로 가져갈 수 있고, 층별로 배선 폭 (W 약 0.1mm)을 바꾸지 않아도 약 60옴의 일정한 특성 임피던스를 갖게 된다는 장점도 있습니다. 물론 이보다 더 많은 stackup을 사용하면 당연히 더 좋은 배선 층과 안정적인 전원 특성을 가질 수도 있지만, 본 예에서는 BGA의 짧은 Ball Pitch에 대한 구현성과 원가절감을 고려한 6층 (1.6T Bulk PCB) 의 예를 들고 있습니다. 특히 위에서 제시한 방법은 DDR2 Interface에서 SI/PI/EMC에 유리한 Layer Assign임을 참고하시기 바랍니다. ※ 참고문헌: "Printed Circuit Board Design Techniques for EMC Compliance" Ch2. Section2.5 Layer Stackup Assignment 29
  30. 30. SI Design Guide for DDR2/3 PCB 1pF Shunt Termination 200Ohm Shunt Termination Resistor 위 그림은 DDR2 Memory Module 내의 Differential Clock 선로의 Interconnection Topology (Multi-Drop)를 나타내고 있습니다. 아래 그림은 1. Interconnection Topology의 빨간색 부분에 Port들 (8 Multi port)을 인가하고, 2. Full PCB를 주파수 영역의 Filed Solver인 SIwave로 해석한 후, 3. SPICE model을 추출하여 4. Nexxim에서 Main Board의 clock interconnection topology 연결하여 SI적인 특성 (667Mbps - Clock: 333MHz)을 분석 하는 과정을 Schematic으로 나타낸 것입니다. SIwave에서 분석된 DDR2 Memory Module의 Clock Interconnection에 대한 회로 Element 위와 같이 PCB의 SPICE 모델을 불러온 후, IBIS 설정 후에 differential 입력을 설정하여, Differential input에서의 Clock 파형을 아래와 같이 해석해보았습니다. 30
  31. 31. Layout 상의 Clock trace 형상에서 확인했듯이, 분기 (Multi Drop) 구조로 발생되는 Reflection Noise 로 인하여 각 파형들의 edge가 깨끗하지가 않고, non-monotonic response가 발생하고 있습니다. 이러한 Non-monotonic response를 완화하기 위해, Main Board Topology를 아래 그림과 같이 변경해 보았습니다. 아래 회로는 DIMM Connector 부근에 5pF의 Shunt Capacitor를 추가한 것입니다. 31
  32. 32. SI Design Guide for DDR2/3 PCB 위 결과에서 굵은 파형이 5pF의 Capacitor를 추가한 그래프인데, Non-monotonic response가 줄어 들면서 파형이 약간 개선된 것을 확인할 수 있습니다. 다만 Capacitor의 추가로 인해 Reference Event Time이 조금씩 느려질 수 있기에, 적당히 trade-off를 하면서 튜닝해야 합니다. (Buffer Strength와 BOM의 결정) 위 그림은 Clock Buffer Strength를 변경해가면서 해석한 결과입니다. 이처럼 S/W 또는 H/W적으로 내부의 Output Buffer의 Strength를 변경할 수 있는데, 일반적으로 Output Buffer의 Strength를 강하게 할수록 Output Impedance는 작아집니다. 이런 식으로 신호의 세기를 변화시킴으로써 slew rate를 튜닝 할 수 있는데, Buffer Strength 조절은 Nexxim에 Import된 Output buffer의 IBIS model의 "Model Selection" UI를 통해 변경함으로써 손쉽게 확인해볼 수 있습 니다. 32
  33. 33. 2-4. General Case "2 DIMM": Address/CMD Line 설계 (분기구조, 2T모드) Address/CMD 선로 설계에 있어서는 1T 모드와 2T 모드의 경우를 고려해야 하는데, 이것은 Memory Controller의 DDR2 Interface Pin이 어떻게 구성이 되는 지와 관련이 있습니다. JEDEC에서 정의한 DDR2 DIMM Reference Design은 아래와 같이 다양한 종류가 있습니다. General Case의 2 DIMM Interface 시, 메모리 모듈을 개발하는 회사에서는 아래의 모든 조합에 대해 호환성을 가지도록 설계하여야 합니다. 33
  34. 34. SI Design Guide for DDR2/3 PCB Source: RAMpedia by Virtium Technology 34
  35. 35. PCB상에서 Address/CMD 선로를 설계할 때는, "Memory Controller"에서의 Address/CMD pin이 Copy 유무 (Slot1, 2 전용 Pin)에 따라 큰 차이가 있습니다. 만약, Memory Controller의 Address/CMD pin이 각각 1개일 경우라면, 아래 그림처럼, 2개의 DIMM에 분기시켜야 합니다. 하나의 Address/CMD pin에서 나온 선로는 DIMM 2개에 연결되며, 이때 확장을 위한 Slot2로 인해 Slot1에는 불필요한 stub가 물리적으로 배선이 됩니다. 이러한 Stub1과 Stub2의 길이를 최소로 해야 지만 Memory pin에서의 non-monotonic response를 줄일 수 있습니다. 위와 같이 분기된 경우 하나의 DIMM에 9개의 DDR2 칩이 존재한다면, 하나의 선로에 총 18개의 load (1DIMM당 9개의 Receiver)가 걸리는 셈이 됩니다. 이는 매우 heavy한 load (IBIS내의 Ccomp의 값이 약 1pF~3pF)로서, address/CMD 신호를 생성하는 driver 신호의 Power가 커야지만 신호전압이 full-swing할 수 있게 됩니다. 이 때문에 분기구조를 사용하는 경우는 2T 모드를 사용하는 것이 유리한데, 만약 1T 모드로 동작시키 면 ISI (Inter Symbol Interference)가 너무 심해져서 Valid Window가 작게 형성되어 Timing margin 을 확보하기가 힘들어집니다. 여기서 발생하는 ISI는 Multi-Giga bps의 Serial I/O에서처럼 형성되는 Conductive/Dielectric Loss 때문이 아니라, heavy load에 의한 fan-out 현상에서 기인하고 있습니다. 35
  36. 36. SI Design Guide for DDR2/3 PCB 만약, Memory Controller에서 2개의 Address/CMD pin을 제공한다면, 분기할 필요 없이 각각의 DIMM 에 하나씩 걸어주면 됩니다. 이 경우는 load가 상대적으로 가벼워지기 때문에, 간단하게 1T 모드로 동작 시킬 수 있게 됩니다. 여기서 말하는 1T 모드는, 1주기의 Clock 신호당 1번의 Rising에서 Address/CMD 신호가 Sampling 되는 방법을 의미하고, 2T 모드는 2주기의 Clock 신호당 당 1번의 Rising에서 Address/CMD 신호가 Sampling되는 방법을 의미합니다. (아래 그림 참조) ※ 상기 그림은 Logic Timing Diagram이 아닙니다. 동일한 Interconnect Topology를 가지는 Address/CMD 신호가 Pulse Width를 다르게 가져갈 경우에 대한 例입니다. 36
  37. 37. 위 그림은 하나의 address/CMD 선로를 이용하여 2개의 DIMM을 Mount했을 때의 SI분석 사례 입니다. DIMM하나 당 9개의 DDR2 Address/CMD receiver들이 존재하는 경우이며, 이것을 667Mbps Speed grade에 대해 1T 모드로 동작시키면, Address/CMD 신호는 167MHz로 동작하게 되며 주기는 약 6nsec가 되고, PW는 약 3nsec정도가 됩니다. 1T Mode @ Single ADD/CMD BUS Pulse Width = 3nsec @ 667Mbps 위의 Eye Diagram 해석 결과를 보면, 분기구조에 대해 1T 모드로 동작 시에는 Load가 너무 Heavy 해서 ISI가 심해진 것을 알 수 있습니다. 이 경우 연속적 Switching하는 Bit Sequence가 발생되면 제대로 Voltage Swing이 되지 않게 되고, 결과적으로 위와 같이 Eye Window가 작아지고 Timing/ Voltage Noise Margin을 확보할 수 없게 됩니다. 37
  38. 38. SI Design Guide for DDR2/3 PCB 2T MODE @ Single ADD/CMD BUS Pulse Width = 6nsec @ 667Mbps 위의 해석결과는, 같은 분기구조에서 2T 모드로 동작시킨 경우의 Eye Diagram 결과입니다. 2T 모드 가 되면서 PW가 2배인 6nsec로 늘어났기 때문에, 연속적인 Bit에서도 거의 Full Swing을 할 수 있게 되었습니다. 결과적으로 ISI에 의한 영향이 조금 둔감됨으로써, Eye Valid Window가 약 3nsec정도 확보되는 것을 볼 수 있습니다. 상기 Topology와 같이, Main Board의 DIMM 1근처에 10pF짜리 Capacitor(Option)를 추가할 경우, 38
  39. 39. Termination scheme이 개선됨에 따라 약 150psec정도 Eye Window가 더 커진 것을 알 수 있습니다. 이렇듯 Main Board 상의 Interconnect Topology 및 BOM 결정에 의해 Address/CMD 선로의 신호 품질을 개선할 수 있는데, 이러한 작업을 Pre Layout SI simulation이라고 합니다. (회로도를 생성할 경우, 안정적인 품질의 BOM을 결정할 수 있습니다.) 마지막으로 Buffer Strength를 강화시켜본 해석결과를 살펴보도록 하겠습니다. 2T MODE + 10pF + Buffer Strength (1.8V sstl class1 12mA) 39
  40. 40. SI Design Guide for DDR2/3 PCB 기존의 Buffer Strength (8mA)보다 좀 더 센 12mA의 Buffer Strength를 가진 IBIS model로 교체한 결과를 보면 (Memory Controller가 SSTL Class2지원 시, Buffer Strength는 20mA까지 높일 수 있습 니다.), 이전 결과보다 Eye window가 750ps 정도 더 커진 것을 알 수 있습니다. (Nexxim 내 IBIS Model Selector UI를 활용) 2T MODE + 10pF + Buffer Strength (1.8V sstl class1 12mA) 위 그림은 지금까지 적용된 분기구조의 Address/CMD 선로에 대해 각종 튜닝을 거친 후의 Timing Diagram 분석입니다. Clock과 Address/CMD의 Waveform을 같이 Simulation함으로써, Propagation Delay라던가, Reflection에 의한 Timing Margin같은 것들을 Post Layout (DIMM)+Pre Layout (Main Board) Simulation을 통해 확인해볼 수 있습니다. Timing 분석을 할 경우, Receiver인 DDR2 Memory의 Address/CMD Input Buffer에서의 Setup/Hold Time을 확인해야 하며, 이것을 상기 Valid Before/After로부터 각각 빼서 남는 부분이 Setup/Hold Margin이 됩니다. 상기 그림에서는 Pre Layout된 Main Board의 Clock 길이가 Memory보다 상당히 길게 배선되어 Hold Margin이 적게 형성되는 예를 나타내고 있습니다. 이 때 Clock Delay (DLL setup) 는 Address/CMD Pulse width의 1/2입니다. 40
  41. 41. 2-5. General Case "2 DIMM": Ctrl Line 설계 (1T mode Address/CMD 설계) Ctrl 선로는 Address/CMD와 달리 항상 2개의 pin이 각기 다른 DIMM을 load로 하기 때문에, 1T 모드만 사용해도 무방합니다. 이 경우는 분기구조 없이 2개의 pin이 각각의 DIMM에 연결되는 Address/CMD 선로의 1T 모드 동작의 경우와 설계방법이 동일합니다. 41
  42. 42. SI Design Guide for DDR2/3 PCB 앞을 그래프에서 보여지듯이, Valid Window는 약 1.39nsec 정도가 나오지만 Voltage Noise Margin이 별로 없는 상황입니다. 이런 경우 Pre Layout 해석을 통해 효과적으로 개선할 수 있으므로, SSN과 Crosstalk에 의한 영향이 중첩이 될 경우를 대비해서 더 큰 Voltage Noise Margin을 확보하도록 해보겠 습니다. 여기에 2T 모드 튜닝 때와 마찬가지로, 위와 같이 10pF짜리 Capacitor를 추가하였습니다. 위 그래프의 결과를 통해 Reflection Noise가 다소 완화되면서 Valid Window가 400ps 정도 더 커진 것을 알 수 있으며, 위 아래의 Noise Margin도 늘어났습니다. 이렇듯 Nexxim을 이용한 SI 시뮬레이션 을 통해 Option discrete component가 어떠한 부분을 개선할 수 있는지 미리 예측해볼 수 있게 됩니다. 42
  43. 43. 1T Mode ADD/CMD and Control Signals (with 20pF capacitor) 위 그래프는 분기구조가 없는 1T 모드의 Ctrl/Address/CMD 선로의 Timing Diagram 분석 결과입니다. 적당한 선로 설계와 튜닝을 통하여 Valid Window를 확보하였고, 그에 따라 안정적인 동작이 가능하도록 충분한 Setup/Hold Margin이 확보되었음을 알 수 있습니다. 이 때 역시 2T 모드와 마찬가지로 Clock은 Ctrl/Address/CMD 신호의 Center Align을 위한 DLL 값을 사용한 결과입니다. 43
  44. 44. SI Design Guide for DDR2/3 PCB 2-6. General Case "2 DIMM" : DM/DQS/DQ 설계 DDR2 SDRAM부터는 칩 내부에 Termination 저항을 장착하고 조절하는 ODT(On-Die Termination) Technology를 적용하고 있습니다. 그래서 DATA Group Signal의 Interface에 있어서 가장 먼저 확인 하셔야 될 작업은 사용할 Memory Controller가 ODT Technology를 채택하고 있는가 입니다. 아래의 Table들은 Controller와 DDR2 칩 모두 ODT가 있을 경우의 ODT설정법입니다. On-Board 에서도 Data가 분기되는 경우에는 Table분석이 반드시 필요합니다만, Data 신호가 Point-to-Point로 연결되는 경우에는 별도의 Table분석이 필요하지 않습니다. 44
  45. 45. Signal Write Mode Operation 1R/2R Slot1 Operation 각각의 DIMM에 SDRAM이 Single Side에만 존재하는 경우, 첫번째 DIMM으로 Memory Controller 에서 Write하는 경우에 대한 Simulation을 가정해보겠습니다. 이 Simulation 사례에 사용된 Memory Controller는 ODT Technology를 적용하고 있지 않기 때문에, Read Mode Operation을 위한 물리적인 Parallel Termination (0.9V Pull-up Resistor)이 Memory Controller 근처에 있습니다. 45

×