← PCIe 상세 목차DUJINLABS.COM

Hardware · PCIe detailed manual 07 · Linux v6.18.37

7. 실측, register trace와 Linux log를 하나의 사건으로 합친다

유용한 bring-up 보고서는 scope 캡처, PHY status, DWC register, AER, Linux log가 같은 boot ID와 시간축을 공유합니다. 성공/실패 스크린샷을 나열하는 대신 처음 달라진 checkpoint를 자동으로 찾을 수 있는 형식으로 저장합니다.

상세 표
2
검증 행
20
절차
4 checkpoints
기준
PCIe · Linux v6.18.37

CHAPTER 07

7. 실측, register trace와 Linux log를 하나의 사건으로 합친다

유용한 bring-up 보고서는 scope 캡처, PHY status, DWC register, AER, Linux log가 같은 boot ID와 시간축을 공유합니다. 성공/실패 스크린샷을 나열하는 대신 처음 달라진 checkpoint를 자동으로 찾을 수 있는 형식으로 저장합니다.

장비와 software evidence의 역할

증거확정할 수 있는 것확정할 수 없는 것추천 저장 형식
Oscilloscoperail, REFCLK, PERST# timing/swingLTSSM/TLP 의미원본 waveform + annotated PNG
TDR/VNAimpedance, insertion/return lossruntime protocol stateS-parameter와 board revision
Protocol analyzerTS/DLLP/TLP/AER 사건SoC 내부 AXI/IOMMU 상태trace + timestamp bookmark
PHY eye/BERlane analog margin과 errorConfiguration routinglane/temp/rate별 CSV
DWC register traceLTSSM, target/current link 정책board analog waveformtimestamped raw hex CSV
Linux dynamic debug함수 순서와 반환값signal integrity 자체boot ID 포함 text log
ftrace/tracepointdriver와 IRQ/DMA 시간 관계PHY analog 원인trace-cmd/perf data
AER counterprotocol error 분류와 증가량근본 물리 원인 단독 확정test 전후 delta

처음 실패 경계를 찾는 판정표

관측PHYLTSSMConfig우선 결론다음 측정
DBI도 읽히지 않음미확정미확정불가core clock/reset/address bankDBI ID/reset value와 bus fault
PHY PLL lock, Detect 고정부분 통과Detect불가receiver detect/PERST#/lanelane별 detect와 endpoint pin
Polling 반복Tx/Rx 동작Polling불가TS lock/clock/SI/lane mapblock lock, TS decode, analyzer
Recovery.Equalization 반복기본 path 통과Recovery불가 또는 불안정Gen3+ margin/presetGen1 비교, lane별 FOM
L0, Vendor ID 0xffff통과L0실패CFG iATU/BDF/routingConfig TLP와 iATU dump
Vendor ID 정상, BAR all-ones통과L0부분 통과resource/decode/powerCommand/BAR/bridge window
DMA에서만 AER통과L0통과address/IOMMU/transactionRequester ID, IOVA, AER
L1SS 복귀에서만 실패초기 통과PM 복귀이전엔 통과refclock/wake/ASPMCLKREQ#, PHY wake latency
그림 1. 7. 실측, register trace와 Linux log를 하나의 사건으로 합친다의 실행 순서왼쪽에서 오른쪽으로 실제 소유권과 관찰 지점이 이동합니다.
01 boot ID 부여
02 scope trigger
03 PHY status sampling
04 LTSSM transition trace
05 Config/AER dump
06 Linux trace
07 성공 boot와 자동 diff
08 첫 divergence 보고

실제 검증 절차

순서실행남길 증거판정 목적
1boot마다 board revision, silicon revision, DWC/PHY version, kernel commit와 DT hash를 기록합니다.재현 환경이 한 행으로 식별서로 다른 조건의 log 혼합 방지
2scope trigger 기준 사건을 PERST# deassert 또는 LTSSM enable로 고정합니다.hardware/software timestamp offset 계산파형과 log를 같은 시간축에 배치
3성공 10회와 실패 10회의 transition/counter를 diff합니다.항상 먼저 달라지는 field마지막 timeout log 대신 첫 원인 후보
4수정 후 동일 조건과 횟수로 재시험하고 AER delta까지 비교합니다.성공률뿐 아니라 error margin 개선우연한 단발 성공 배제

주의Linux에서 'link up' 한 줄이 출력됐다는 사실은 PHY margin, Data Link 안정성, Configuration routing, DMA와 power-management 복귀를 증명하지 않습니다.

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

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

Synopsys PCIe 5.0 PHY

PHY가 담당하는 SerDes, equalization, lane margining과 진단 기능의 공개 범위