CHAPTER 05
5. 세대 전환과 equalization을 phase별로 분해한다
Gen1/Gen2에서 안정적이지만 Gen3 이상에서 Recovery가 반복되면 receiver detect보다 equalization과 channel margin을 봅니다. target speed, 실제 negotiated speed, 각 lane의 preset/coefficient와 FOM을 같은 표로 기록합니다.
PCIe 세대별 bring-up 관점
| 세대 | 전송률 | line encoding/방식 | 추가로 민감해지는 항목 | 최소 검증 |
|---|---|---|---|---|
| Gen1 | 2.5 GT/s | 8b/10b | 기본 연결, polarity, lane map | x1 L0와 config read |
| Gen2 | 5.0 GT/s | 8b/10b | channel loss와 clock margin | directed speed change 안정성 |
| Gen3 | 8.0 GT/s | 128b/130b | link equalization, preset/coeff | phase 완료와 BER/AER |
| Gen4 | 16.0 GT/s | 128b/130b | channel budget, retimer, Tx/Rx tuning | lane별 margin과 Recovery 빈도 |
| Gen5 | 32.0 GT/s | 128b/130b | 더 작은 eye, jitter, package/connector | 32GT/s compliance와 lane margining |
| Gen6 | 64.0 GT/s | PAM4/FLIT mode | FEC/FLIT, PAM4 margin | 해당 controller/PHY가 실제 지원할 때 별도 절차 |
Gen3+ link equalization phase
| Phase | 주요 목적 | 누가 무엇을 결정하나 | 남길 값 | 실패 해석 |
|---|---|---|---|---|
| Phase 0 | equalization 진입과 양 끝 준비 | upstream/downstream port | phase request/status | capability/진입 조건 |
| Phase 1 | 상대 transmitter preset 초기 설정 | receiver가 요청, transmitter가 적용 | requested/applied preset | PIPE preset 적용 경계 |
| Phase 2 | 한 방향 transmitter 최적화 | receiver 평가와 coefficient/preset update | FOM, coeff status | channel/receiver adaptation |
| Phase 3 | 반대 방향 transmitter 최적화 | 반대 port receiver가 평가 | lane별 completion | 특정 방향 SI/retimer |
| Complete | rate에서 정상 traffic 전환 | 양쪽 port | equalization complete bit, current speed | status는 complete인데 Recovery 반복 시 BER 확인 |
lane별 기록해야 할 tuning evidence
| 항목 | Controller/PHY 위치 | 값의 의미 | 주의점 |
|---|---|---|---|
| Tx preset | controller request/PHY Tx | 정의된 preset 조합 | 숫자가 같아도 PHY implementation은 다를 수 있음 |
| Tx coefficient | preset-to-coeff 또는 direct update | cursor/pre/post cursor 계수 | limit/status handshake 확인 |
| Rx CTLE | PHY | 고주파 보상 | 고정값 복사보다 adaptation 결과 |
| Rx DFE taps | PHY | post-cursor ISI 보상 | PVT와 lane별 차이 |
| FOM | receiver/controller interface | 상대적 quality metric | vendor scale을 BER로 직접 환산하지 않음 |
| Eye/margin | PHY diagnostic/lane margining | time/voltage 여유 | traffic/pattern/temperature 조건 기록 |
| Correctable AER | controller/AER | Bad DLLP, Replay 등 | 누적 counter는 test 시작 전 baseline 필요 |
| Recovery count | LTSSM history | runtime retrain 빈도 | L0 진입 한 번만으로 안정 판정 금지 |
실제 검증 절차
| 순서 | 실행 | 남길 증거 | 판정 목적 |
|---|---|---|---|
| 1 | max-link-speed를 Gen1로 제한하고 cold/warm boot를 반복합니다. | config/DMA까지 기본 path 안정 | equalization 이전 문제를 제거 |
| 2 | 한 세대씩 올리며 lane별 state와 AER delta를 측정합니다. | 처음 실패하는 generation 확인 | channel margin 임계점 식별 |
| 3 | width를 x1부터 늘려 특정 lane의 민감도를 찾습니다. | 실패를 유발하는 lane mask | package/board/connector lane 분리 |
| 4 | 온도와 supply corner에서 같은 test를 반복합니다. | PVT별 speed/width/BER | room temperature 단발 성공을 배제 |
주의preset 숫자 하나를 '정답값'으로 공개하는 것은 의미가 없습니다. 같은 DWC controller라도 PHY release, package, channel, endpoint와 온도에 따라 최적값이 달라집니다.
공개적으로 다시 확인할 수 있는 자료
공개되지 않은 vendor register나 integration별 offset을 추측해서 채우지 않았습니다. 아래 제조사 자료, architecture 문서와 Linux v6.18.37 원본에서 다시 확인할 수 있는 범위만 사용했습니다.
Synopsys PCIe 5.0 complete solution
Controller, PHY, verification IP가 별도 구성요소이며 PIPE 5.x와 SerDes architecture를 지원한다는 공개 제품 범위
Synopsys PCIe 5.0 PHY
PHY가 담당하는 SerDes, equalization, lane margining과 진단 기능의 공개 범위
Synopsys PIPE 5.1 SerDes architecture
기존 PIPE와 SerDes architecture에서 PCS 책임이 이동하는 이유
Linux v6.18.37 DWC header
DWC Port Logic, link debug, iATU와 eDMA 공개 register offset
Linux DWC Devicetree binding
clock, reset, PHY, lane, speed와 DWC resource description