← Ethernet 상세 목차DUJINLABS.COM

Hardware · Ethernet detailed manual 04 · Linux v6.18.37

4. RGMII clock-data skew와 internal delay의 주인을 확정한다

RGMII는 DDR로 4-bit data를 전달하며 송신과 수신 각각 약 2ns 수준의 clock skew가 필요합니다. 지연을 MAC, PHY, PCB 중 정확히 한 곳이 담당하도록 회로, DT와 latch register를 맞춥니다.

상세 표
2
검증 행
16
절차
4 checkpoints
기준
IEEE 802.3 · phylib/phylink · Linux v6.18.37

CHAPTER 04

4. RGMII clock-data skew와 internal delay의 주인을 확정한다

RGMII는 DDR로 4-bit data를 전달하며 송신과 수신 각각 약 2ns 수준의 clock skew가 필요합니다. 지연을 MAC, PHY, PCB 중 정확히 한 곳이 담당하도록 회로, DT와 latch register를 맞춥니다.

두 방향

TXC/TXD와 RXC/RXD는 서로 다른 clock domain입니다. 송신만 정상이고 수신만 CRC가 늘 수 있으므로 방향별로 측정합니다.

phy-mode 의미

`rgmii-id`, `rgmii-rxid`, `rgmii-txid`, `rgmii`는 PHY 내부 delay 사용 책임을 나타냅니다. 이름만 보고 MAC delay까지 자동 설정된다고 가정하지 않습니다.

PCB delay

trace length로 skew를 만들었으면 PHY internal delay를 다시 켜지 않습니다. package와 via까지 포함한 실제 delay를 SI report로 확인합니다.

속도 의존

125MHz에서 timing margin이 가장 작아 1G에서만 CRC가 늘 수 있습니다. 10/100 성공은 1G timing 증거가 아닙니다.

레지스터와 관측값을 함께 읽는 표

항목소유 블록설정 또는 의미정상 증거실패 해석
PHY RGMII delayPHY vendor bankRx/Tx delay enable과 tapDT 의도와 latch 값 일치reset 후 값 유실 또는 strap 우선순위
MAC interface selectSoC/MACRGMII mode와 speedresolved speed에 따라 clock mode 갱신GMII/RMII mode 잔존
MAC speed/duplexMAC10/100/1000와 duplexPHY resolved tuple과 일치link_up callback 누락
RX CRC/alignmentMAC수신 sampling 오류 지표정상 cable 부하에서 증가 없음RX skew/clock edge 우선
TX underflow/carrierMAC송신 datapath와 duplex부하에서도 안정TX clock/mode 또는 FIFO
PHY symbol errorPHY PCSMDI 쪽 symbol 품질MAC CRC 증가와 별개로 안정symbol도 늘면 RGMII보다 MDI/SI

증상에서 첫 실패 경계를 찾는 표

관측 증상직전 통과 증거우선 확인반증 시험판정
carrier ON, RX CRC 폭증PHY symbol error 0RXC-RXD skewPHY RX delay만 바꿔 error curve 측정RGMII 수신 timing
TX만 상대 CRClocal RX 정상TXC-TXD skew상대 PHY CRC와 local TX delay 비교RGMII 송신 timing
1G만 실패100M traffic 정상125MHz skew와 duty cycle1G short cable에서 interface probeRGMII margin
warm reboot 후 실패cold boot delay 정상PHY delay register retentionresume/reset 뒤 register diff초기화 순서
DT 변경이 효과 없음live DT 값 확인실제 delay owner와 driver parsingPHY raw register 직접 readback속성이 다른 driver에 적용됨
MAC CRC와 PHY symbol 동시 증가link 유지RGMII와 MDI를 각각 강제 loopbackPHY internal loopback 위치별 비교처음 오류가 생기는 경계 판별
그림 1. 4. RGMII clock-data skew와 internal delay의 주인을 확정한다의 실행 순서왼쪽에서 오른쪽으로 실제 소유권과 관찰 지점이 이동합니다.
01 PHY resolved speed
02 phylink MAC config
03 interface clock 선택
04 delay programming
05 TX/RX edge
06 MAC frame/FCS
07 counter 비교

실제 검증 절차

순서실행남길 증거판정 목적
1회로도와 PCB length report에서 TX/RX skew 책임을 적습니다.방향별 ps/ns 계산board 의도 확정
2live DT와 PHY/MAC delay register를 함께 dump합니다.software 의도와 hardware readback중복/누락 확인
31G full-duplex 양방향 traffic에서 CRC를 방향별로 기록합니다.local/partner counter deltaTX/RX 분리
4가능하면 delay tap sweep으로 error bathtub을 만듭니다.tap별 BER/CRC중앙 margin 선택

주의오실로스코프 probe 자체가 RGMII edge를 바꿀 수 있습니다. probe loading과 측정 위치를 기록하고, register sweep 결과와 함께 해석합니다.

공개적으로 다시 확인할 수 있는 자료

공개되지 않은 vendor register나 integration별 offset을 추측해서 채우지 않았습니다. 아래 제조사 자료, architecture 문서와 Linux v6.18.37 원본에서 다시 확인할 수 있는 범위만 사용했습니다.

Linux phylink

PHY, fixed-link, in-band PCS와 MAC callback의 관계