PCIe - lspci , link status lspci를 하면 검색되는 것이 PCIe의 root 역할과 endpoint가 다 검색이 된다. link status를 보고 실제 몇 GT/s 로 연결되어 있는지 확인할 수 있다. xilinx pcie lane을 4개로 하고 속도를 8GT/s로 설정한 것이다. 프로세서 RCW에서 5GT/s로 설정해두어서 link status가 위와 같았다. 그래서 프로세서의 PCIe 관련 속도를 8GT/s로 올리고 다시 부팅을 해보았다. FPGA - 프로세서 그리고 데이터의 이동/PCIe 2021.11.23
JESD204B - Deterministic latency의 측정 본 문서에서는 Deterministic latency 측정 과정에 대해 나열하였다. 다음과 같은 JESD204B 통신이 구성된 상태에서 Deterministic Latency를 측정하려 한다. Deterministic Latency의 측정 세팅은 다음과 같다. 위 그림에 잘못된 부분이 있는데 Frame cycle = 10 * 2 / 7372.8 Mbps가 맞다. 보드 기판내에서 신호(전파)가 이동하는데 소요시간에 대해서 잠깐 정리해보았다. 자유공간에서 2.5cm(1인치)를 빛이 이동하는데 걸리는 시간은 83ps이다. 그런데 FR4 기판에서 2.5cm를 움직인다면 소요시간은 어떻게 될까? FR4의 유전률은 대략 4.4이다. 그래서 FR4에서 빛의 이동속도 = 자유공간 빛 이동속도 / root(유전율)이다... FPGA - 프로세서 그리고 데이터의 이동/JESD204 2021.08.27
JESD204B - Total Link Latency(=Deterministic Latency)의 계산 본 글은 TI사의 JESD204B 문서를 참고하여 작성하였습니다. 용어 정의 TX : JESD204B 송신모듈, ADC 내부 JESD204 모듈 RX : JESD204B 수신모듈, FPGA 내부 JESD204 모듈 본글에서는 ADC와 FPGA간에 JESD204B 통신을 구성하였을 때의 예를 가지고, Total Link Delay Latency를 계산하는 과정에 대해 정리하였다. TX, RX의 LMFC 신호의 정렬 시각 Device clock과 SYSREF 신호가 ADC와 FPGA에 다음과 같이 도착하였다. ADC, FPGA에 도착한 Device clock의 주기, 도착 시각은 각각 다르며, SYSREF 신호도 다른 시각에 도착한다. 그래서 ADC와 FPGA 내부의 LMFC 신호의 정렬 시각은 다르게 된다.. FPGA - 프로세서 그리고 데이터의 이동/JESD204 2021.08.27
JESD204B - Deterministic latency를 조정할 수 있는 수단 JESD204B 통신을 구성하였을 때 Deterministic latency를 조정할수 있는 수단이 무엇이 있을까? 우선 예시를 들도록 하겠다. TX : JESD204B 송신모듈 RX : JESD204B 수신모듈 1. Link Delay가 작은 경우 LMFC의 주기가 50ns이다. 그리고 RX Lane 각각에 데이터 도착 소요시간이 100ns 이내였다면, RX는 각 lane의 데이터를 buffer에 담고 있다가 LMFC의 주기에 맞추어 ILA(Initial Line Alignment) 이후 다음 단계로 내보낸다. 이 경우에는 total latency가 100ns이다. 2. Link Delay가 큰 경우 LMFC의 주기가 50ns이다. 그리고 RX Lane 각각에 데이터 도착 소요시간을 보았더니, 제일 빨.. FPGA - 프로세서 그리고 데이터의 이동/JESD204 2021.08.27
JESD204B - SYSREF의 주파수 설정 SYSREF 신호의 주파수를 어떻게 정해야 할까? SYSREF 신호에는 continuous , gapped-periodic , single pulse 모양의 SYSREF signal이 있다. 이번 주제는 single pulse는 제외하고 continuous , gapped-periodic 모양의 sysref signal의 주파수에 대한 내용이다. sysref신호는 LMFC 주파수를 정수로 나눈 주파수 신호이어야 한다. 이것을 다음 수식처럼 정의할 수 있다. f_bitrate는 JESD204B lane의 데이터 전송 속도이다. F는 frame당 octet의 개수이다. K는 multiframe에 들어있는 frame의 개수이다. n은 positive 정수이다. f_sysref의 최대가능 주파수는 f_bitra.. FPGA - 프로세서 그리고 데이터의 이동/JESD204 2021.08.26
JESD204B - Deterministic latency 본 문서는 Analog Device사의 문서를 보고 작성하였습니다. JESD 204B에서 언급되는 Deterministic latency는 위의 그림에서 Framer to De-framer까지의 소요시간이다. 참고로 ADC가 아날로그 신호를 디지털로 변환하는 시간은 Deterministic latency에 포함되지 않는다. JESD204B의 subclass 1을 지원하는 칩 내부에 frame clock과 multiframe clock이 있다. 이 칩이 SYSREF 신호를 인식하면 SYSREF 신호를 기준으로 frame clock과 multiframe clock을 정렬하여 frame clock과 multiframe clock의 위상이 일치한다. ADC가 샘플링한 데이터들이 ADC 내부 JESD204B송신모.. FPGA - 프로세서 그리고 데이터의 이동/JESD204 2021.08.26
FPGA - MGT bank의 신호 지원 규격 MGT bank는 고속 통신을 지원하는 트랜시버이다. Xilinx 제품군별로 GTY, GTH 등으로 불린다. MGT bank의 신호 부분에는 TX line, Rx line, Clock line이 있다. Clock line 은 MGTREFCLK0P MGTREFCLK0N 로 명명되어 있다. input, output으로 사용가능하며, LVDS, LVPECL을 지원한다. TX line, RX line은 MGTHRXP[3:0]/MGTHRXN[3:0], MGTHTXP[3:0]/MGTHTXN[3:0]로 명명되어 있다. General IO pin (HP bank, HR bank)에 있는 pin들은 신호 규격을 변경할 수 있지만 , 이 Pin들은 프로그램에서 변경이 불가하며 오직 CML만 지원한다. 그래서 FPGA 코딩.. FPGA - 프로세서 그리고 데이터의 이동 2021.08.24
LVDS 신호의 형태와 송수신 구조의 예시 PCIe, 클럭, JESD204 등 고속통신을 지원하는 칩들의 데이터 시트를 보면 신호를 LVDS(Low Voltage Differential Signaling) 형태로 보낸다고 또는 받는다고 쓰여져 있다. LVDS란 무엇인지 알고 싶어서 정리하였다. 참고한 자료는 다음과 같다. - TI 사 LVDS 설명 자료 : https://training.ti.com/lvds-overview?context=1135817-1139372-1135818 - Thine 사 LVDS 설명자료 https://www.thine.co.jp/ko/contents/detail/serdes-lvds.html - Xilinx IO, GTY 데이터시트를 참고하였다. - LVDS신호 생성 및 수신을 위한 구성요소 Driver : LVDS신.. FPGA - 프로세서 그리고 데이터의 이동 2021.08.18
IOBUF xilinx FPGA의 모듈 중 IOBUF라는 모듈이 있다. input, ouput으로 둘다 사용가능하다. 그것에 대한 설명을 정리하였다. SPI, I2C 통신에 자주 사용된다. FPGA - 프로세서 그리고 데이터의 이동 2021.08.04
SPI 통신 온도센서, ADC, PLL 등 칩을 제어하는데 사용하는 통신 규격으로 I2C, SPI 통신이 있다. 위 그림은 온도센서를 SPI로 제어하는 방법을 그린 것이다. 총 3가지의 주체가 있다. 1. 프로세서, 2. FPGA, 3. SPI 통신을 지원하는 칩으로 이문서에서는 온도센서를 예로 들겠다. 1. 사용자는 온도센서의 데이터시트를 보고 온도센서를 제어하기 위한 명령어를 파악한다. 보통 이명령어 길이는 24bit 정도 되었다. 제어 명령어를 프로세서에 입력하고, 프로세서는 이 명령어를 FPGA에 전달한다. (아 물론! 프로세서에 온도센서의 SPI 핀들이 바로 연결되어 있다면, 프로세서로 온도센서를 바로 제어할 수 있다.) 2. FPGA는 프로세서로부터 받은 제어 명령어를 FPGA 내부에 있는 SPI 모듈(v.. FPGA - 프로세서 그리고 데이터의 이동 2021.08.03