FPGA - 프로세서 그리고 데이터의 이동/JESD204

3.2 JESD204 구현에 필요한 하드웨어 - SYSREF, SYNC

망고토마토 2021. 6. 4. 14:54
반응형

본 문서에서 축약한 단어는 다음과 같다

RX = JESD204B 수신부

TX = JESD204B 송신부

 

  과거의 ADC 칩들이 LVDS신호의 형태로 데이터를 그냥 FPGA에 전달했다. JESD204B가 나온 이후 상황이 달라졌다. JESD204B 통신이 적용된 ADC 칩의 경우 ADC의 출력데이터가 JESD204B 통신 layer TX에 들어간다.

그리고 외부 선로를 지나 FPGA JESD204B 통신 layer RX에 전달이 된다.

즉 과거의 칩들과는 다르게 ADC의 데이터가 거쳐 가는 부분이 많이 생겼다. 이로 인해 ADC의 출력데이터가 FPGA가 인식하는데 소요하는 시간이 들쑥 날쑥할 수 있다.

따라서 이 소요시간을 일정하게 하기 위해서 JESD204B 통신규격은 SYSREF신호를 이용한다.

 

 이 소요시간을 일정하게 한다는 것을 영어로 한 것이 deterministic latency이다. 

 

JESD204B에서 deterministic latency를 보장하기 위해 SYSREF신호를 이용한다. 

SYSREF의 역할에 대해 알아보자  

SYSREF가 TX와 RX에 도착을 한다. 그러면 JESD204B의 Alignment 단계를 시작한다. 

 

RX는 내부의 Local Multiframe Clock을 SYSREF 신호에 정렬한 다음, SYNC 신호를 1로 만든다(비활성화). SYSREF가 1이 되었다를 인식하는 클럭은 device 클럭이다. 앞선 문서에서 언급한 core clk or sys clk을 말한다. 

LMFC는 multiframe의 octet의 개수를 샌 다음, multiframe이 끝날 때마다 주기적으로 LMFC crossing 신호를 발생시킨다.

 

TX 또한 마찬가지로 내부의 Local Multiframe Clock을 SYSREF 신호에 정렬하며, 내부의 LMFC는 multiframe의 octet의 개수를 샌 다음, multiframe이 끝날 때마다 주기적으로 LMFC crossing 신호를 발생시킨다.  그 상태에서 TX는 RX가 SYNC 신호를 1로 만든 것을 인식하였다면, 다음번 LMFC crossing이 생길 때 ILA sequence 데이터 내용을 전송한다. 

 

RX의 각 lane들은 TX가 보낸 데이터를 받고 이게 정상적인 데이터임을 확인하면, 다음 번 LMFC crossing 신호가 생길 때 까지만 buffer에 저장하고 있는다. 그리고 LMFC crossing 신호가 발생하면 buffer에 담긴 내용을 다음 단계로 넘긴다. 

 

이런 방법을 통해 Sysref 신호와 data 출력간의 latency가 일정하게 유지 될 수 있으므로, JESD204B 시스템의 데이터 생성-전송-수신 사이의 latency가 일정하게 반복적일 수 있다.

 

LMFC crossing 신호의 발생 주기는 JESD204B 시스템의 데이터 생성-전송-수신 사이의 최대 latency를 고려해야 한다. LMFC crossing 신호의 발생 주기는 multi frame의 길이를 변경하면 된다. 

SYSREF 신호의 쓰임(사진출처 : Xilinx JESD204)

 

 

SYSREF 신호의 Timing ( 출처 : Xilinx 자료 )


When JESD204B is used in Subclass 1, the SYSREF signal is the master timing reference for
the system. To achieve accurate deterministic latency the SYSREF signal must be captured
synchronously to the core clock. The SYSREF period must also be a multiple of 4-byte clock
periods because the core uses a 4-byte internal datapath. In the example provided with the
core, by default the SYSREF signal is captured on the falling edge of the core clock to allow
the rising edge of the clock and SYSREF to be aligned at the edge of the device; this is the
case typically when a divided device clock is used for SYSREF. See Clocking for details.

 

SYSREF 신호의 Capture (사진출처 : Analog Devices)

SYSREF 신호의 형태 ( 출처 : Xilinx 자료 )


The correct handling of SYSREF is critical in Subclass 1 operation. The JESD204B
specification allows SYSREF to be generated in any of the following ways:
• Periodic
• One-Shot
• “Gapped” Periodic
The JESD204 core provides several options for how SYSREF is handled for Subclass 1
operation to support maximum flexibility.


Note: The JESD204 core operates using a 32-bit (4-byte) datapath. If a periodic or gapped periodic
SYSREF is used in the system, the SYSREF period must be an integer multiple of the multiframe
period. But it must also be a multiple of 4-byte clocks if the multiframe period is not itself a multiple
of 4-byte clocks.

반응형