8/01/2015

DRAM-3 AC-Timing AM437x 적용 (TI-TOOL사용)

1. AM437x GPEVM 


EVM RAM관련 정보
  • RAM:   DDR3L SDRAM  (MT41K512M8RH-125) 
  • SIZE :   4-Gb (512Mb × 8)  - 64 Meg x 8 x 8 banks

DRAM-1 Module RAM의 구성과 Type 및 각 용어 설명

DRAM-2 Memory의 성능향상 방법 Bank Interleaving 과 Burst Mode 및 DLL


2. OCP( Open Core Protocol)


OCP는 DRAM의 기능이 아니며, AM437x에서 사용하는 Core 나 Device 간에 통신을 하기위한 Interface이다.
현재 AM437x는 EMIF를 OCP로 연결하여 사용하고 있기에 이부분을 이해를 해야한다.

기본구조는 Master 와 Slave 구조를 가지고 있으며, AM437x도 OMAP과 동일하게 OCP Interface를 제공하며, 기존 다빈치시리즈는 제공하지 않음, (특히 ARM9 시리즈)

  https://en.wikipedia.org/wiki/Open_Core_Protocol
  https://en.wikipedia.org/wiki/Open_Core_Protocol_International_Partnership_Association
  http://read.pudn.com/downloads95/doc/388103/OCPSpecification%202.2.pdf


이에 관련된 Register 설정을 확인을 해주고, 기본 OCP_CONFIG의 BUS WIDTH 및 기타 설정확인한다.

AM437x
  • EMIF- One 128-bit OCPIP 2.2 interface

3.  EMIF Register 설정


아래의 사이트에서 AC Timing에서 Tool을 제공해주고 있다.
쉽게 설정이 가능하며, 아래절차는 주의사항과 관련내용을 정리해본다.

  http://processors.wiki.ti.com/index.php/AM437x_DDR_Configuration_and_Programming_Guide

  • MT41K512M8RH-TIMING

DDR-3 (Table-1)

DDR3 (Table-2)


       SDCONFIG와 SDTIMER TI에서 제공하는 엑셀을 이용하여 쉽게 설정가능하다.




A.  EMIF->EMIF4D_SDRAM_CONFIG,2설정

  •  Table-2에서 CK에 의해 자동결정 CL(CAS Latency)과 CWL(CAS Write Latency) 결정 
  •  CK=1.25ns 값 CL =11 CK와 CWL=8 CK 결정 
  •  Reserved는 허용이 안됨
  •  SDCONFIG->CL=14(E), CWL=3 (주의: 엑셀이 HEX2BIN사용하므로, 10진수불가)
  •  나머지값은 각각 데이타 시트 참고 
Table-3


Electrical Characteristics and AC Operating Conditions(Table-4)

B. EMIF->EMIF4D_SDRAM_TIMING_1,2,3설정 
  1. 현재 모델은 DDR3-1600임 확인한다.  (Table-1 확인)
  2. CK=1.25ns 값 ( CL =11 CK와 CWL=8 CK -> SDRAM_CONFIG에서 설정 )
  3. RCD=13.75ns, RP=13.75ns, RC=48.75ns 공통이며 최소 값으로 설정 (Table-2확인)
  4. RAS=35ns  최소설정 이는 RCD보다 반드시 커야한다. (Table-2)
  5. 세부 Timing 설정은 Table-4을 확인 
  6. RRD(x8)=4CK , WR=15ns  ,WTR= 4CK , RTP=4CK 으로 설정 
  7. CCD=4CK, RFC-4Gb=260ns (Table-4)
  8. XS= 5CK , 되지만,RFC+10ns 설정으로 270ns 설정 , XSDLL=512CK
  9. REFI=7.8us 로 설정 (***** 85C 이하 일 경우에만) 
  10. ZQCS=64CK ,XP=3CK 
  11. ODTLon = CWL(8) +AL(10)-2CK = 16CK(에러발생)  (3CK 설정 )
  12. RASmax=REFIx9 
  13. DQSCK=10ns (DLL을 Disable 사용)  
  14. RASMAX,RTW는자동설정됨 
  • AL(Additive Latency) = CL(11) -1CK = RCD - 1CK  설정 
  • RL(Read Latency)=AL(10)+CL(11)
  • WL(Write Latency)=AL(10)+CWL(8)
                        Ref. POSTED CAS ADDITVIE LATENCY


C. EMIF->EMIF4D_SDRAM_REFRESH_CTRL 
     

     REFRESH_RATE=  800MHz / (1/tREFI)

    ex) 400MHz 일경우,  400/ (1/7.8) = 3120
    ex) 400MHz 일경우,  800/ (1/7.8) = 6240