3.2 Write Data Interface
Write Data 인터페이스는 DFI를 통한 Write Data의 전송을 처리하며, 이에 관련된 신호와 타이밍 파라미터가 표 4와 표 5에 상세히 설명되어 있다.
Write 명령이 DFI 제어 인터페이스에 주어진 후 tphy_wrlat 사이클 이후에 dfi_wrdata_en 신호가 활성화되며, 이 신호는 연속적으로 Write Data가 전송될 사이클 동안 활성화 상태를 유지해야 한다; dfi_wrdata 스트림은 dfi_wrdata_en 신호가 활성화된 후 tphy_wrdata 사이클 이후에 시작된다.
tphy_wrlat 파라미터는 Write 명령이 DFI에 전송된 후 dfi_wrdata_en 신호가 활성화될 때까지의 사이클 수를 정의하며, 이는 PHY에 의해 정의되지만 다른 고정된 시스템 값에 따라 지정될 수 있습니다.
tphy_wrdata 파라미터는 dfi_wrdata_en 신호가 활성화된 후 언제 write data가 dfi_wrdata 신호로 전송되는지를 결정하는 타이밍 요구사항을 정의하며, 이 값은 PHY가 write data 알림을 얼마나 빨리 받아야 하는지에 따라 결정됩니다.
tphy_wrdata 파라미터는 PHY가 dfi_wrdata_en 신호을 얼마나 먼저 받아야 하는지에 따라 Write Data가 실제로 dfi_wrdata 신호로 언제 전송되는지를 결정하는 타이밍을 설정하며, 이 값이 1보다 크면 인터페이스에서 지원하는 최소 Write Latency가 제한될 수 있습니다.
DFI 버스에서 명령이 실행되는 동안 tphy_wrlat와 tphy_wrdata라는 타이밍 매개변수는 일정하게 유지되어야 하며, 이 두 매개변수는 DFI control 인터페이스에서 Write 명령이 발행된 후 언제 Write Data가 DFI 버스에 전송되는지를 결정합니다.
각 PHY 클럭의 phase N에 대한 신호 값을 정의하는 "_pN" 접미사가 붙은 phase 별 신호로 신호가 복제됩니다. 필요한 경우 0 단계에서는 이 접미사를 생략할 수 있습니다. 또한 tphy_wrdelay라는 추가 타이밍 매개변수가 있어, 이 매개변수는 PHY에서 Write Data를 지연시켜 정확한 활성화/데이터 타이밍 관계를 정의합니다. 이 타이밍 매개변수는 MC가 DFI Data Word가 0 단계로 시작할 때 항상 Write Data stream을 정렬할 수 있도록 포함되어 있습니다. MC는 필요에 따라 데이터를 정렬하지 않고 이 타이밍 매개변수를 사용하지 않을 수도 있습니다.
DFI 스펙의 section 4.3에서는 쓰기 데이터 인터페이스에 필요한 신호와 파라미터를 자세히 설명하고, 이러한 정보는 table 4와 table 5에 정리되어 있다.
Write Data Signals
Signal | From | Width | Default | Description |
dfi_wrdata or dfi_wrdata_pN |
MC | DFI Data Width | .a | Write data bus 'dfi_wrdata_en' 신호가 활성화된 이후 정해진 'tphy_wrdata' 사이클 동안 전송 frequency ratio system에서는 각 클럭 phase에 맞춰서 별도의 dfi_wrdata_pN 생성 |
dfi_wrdata_en or dfi_wrdata_en_pN |
MC | DFI Data Enable Widthb | 0x0 | Write data and data mask enable dfi_wrdata_en 신호는 write 명령 후 tphy_wrlat 사이클이 지나면 활성화되고, 실제 데이터와 데이터 마스크가 전송되기 전까지 tphy_wrdata 사이클 동안 유지 메모리 데이터의 각 슬라이스에 대해 하나의 dfi_wrdata_en 비트가 있어야 합니다 frequency ratio system에서는 각 클럭 phase에 맞춰서 별도의 dfi_wrdata_en_pN 생성 |
dfi_wrdata_mask or dfi_wrdata_mask_pN |
MC | DFI Data Width / 8 | .a | DFI 인터페이스에서 dfi_wrdata_mask 신호는 쓰기 데이터(dfi_wrdata)의 어떤 부분이 유효한지를 마스킹합니다. 예를 들어, dfi_wrdata_mask [0] 신호는 dfi_wrdata [7:0] 신호에 대한 마스킹을 정의하고, dfi_wrdata_mask [1] 신호는 dfi_wrdata [15:8] 신호에 대한 마스킹을 정의합니다. frequency ratio system에서는 각 클럭 phase에 맞춰서 별도의 dfi_wrdata_mask_pN 생성 |
a. 이 신호는 초기화 중에는 의미가 없습니다. 따라서 이 신호에 대해 유지 관리할 기본값이 필요하지 않습니다.
b. dfi_wrdata_en 신호의 모든 비트가 동일하므로 MC측과 PHY측의 신호 폭이 다를 수 있으며, PHY가 모든 비트를 사용할 필요는 없다.
Write Data Timing Parameters
Parameter | Defined by | Min | Max | Unit | Description |
tphy_wrdata | PHY | 0 | .a | DFI PHY clock cycles b |
tphy_wrdata 파라미터는 dfi_wrdata_en 신호가 활성화된 시점부터 실제 쓰기 데이터가 dfi_wrdata 신호로 전송되기까지의 DFI PHY 클럭 사이클 수를 지정 이 값은 성능에 영향을 주지 않고, 단지 활성화 신호와 데이터 전송 사이의 상대적인 시간을 조정 일반적으로 PHY는 하나의 tphy_wrdata 값에서 작동하도록 설계되지만, 메모리 컨트롤러(MC)는 다양한 값의 범위를 지원 이 파라미터는 고정 값으로 지정될 수도 있고, 시스템 내의 다른 고정 값에 기반한 상수로 지정 특히, DFI 1.0 및 DFI 2.0 메모리 컨트롤러는 tphy_wrdata 값이 1만을 지원 |
tphy_wrdelay | PHY | 0 | 1 or 3 c | DFI PHY clock cycles b |
tphy_wrdelay 파라미터는 DFI 버스에서 데이터가 캡처된 후, PHY가 쓰기 데이터 활성화(write data enable)와 쓰기 데이터(write data) 사이에 추가로 삽입해야 하는 DFI PHY 클럭 사이클 수를 지정 이 파라미터는 frequency ratio system에서만 사용 이 파라미터는 쓰기 데이터의 타이밍을 미세하게 조정하는 역할 예를 들어, 1:2 frequency ratio system에서는 tphy_wrdelay 파라미터의 지연 값으로 0 또는 1을 지원해야 하며, 1:4 frequency ratio system에서는 0, 1, 2, 또는 3을 지원 |
tphy_wrlat | PHY | 0 | .a | DFI PHY clock cycles b |
tphy_wrlat 파라미터는 DFI 컨트롤 인터페이스에서 쓰기 명령이 전송된 시점부터 dfi_wrdata_en 신호가 활성화될 때까지의 DFI PHY 클럭 사이클 수를 지정 이 파라미터는 쓰기 명령과 실제 쓰기 데이터 사이의 타이밍을 조절하는 역할 이 파라미터는 고정 값으로 지정될 수도 있고, 시스템 내의 다른 고정 값에 기반한 상수로 지정될 수도 있습니다. 즉, 시스템의 다른 파라미터나 조건에 따라 이 값이 달라질 수 있습니다. |
a, DFI는 최대값을 지정하지 않습니다. 지원되는 값의 범위는 구현에 따라 다릅니다.
b. 이 타이밍 매개변수는 주파수 비율 시스템의 DFI PHY 클록 사이클 측면에서 정의됩니다. 일치하는 주파수 시스템의 경우 DFI PHY 클록은 DFI 클록과 동일합니다.
c. PHY는 클록 ratio보다 1 적은 최대 쓰기 데이터 지연을 지원해야 합니다. 1:2 주파수 비율 PHY는 0과 1의 값을 지원해야 합니다. 1:4 주파수 비율 PHY는 0~3 범위를 지원해야 합니다.