最近调试FPGA card,记录几个点:
1. LTSSM(Link Training and Status State Machine)
状态机,PCIe设备在退出复位(Cold or Warm Reset)或Hot Reset后,便会进入LTSSM状态的第一个状态:Detect State;link training state (链路训练状态)会依次Detect -> Polling -> Configuration -> L0 进行。
2. 如果link training 完成,则RP Link Status Register(Offset 12h)bit13 置1;
也可以通过该寄存器读到Current Link Speed and Link Width;这两个状态会比较早就读到,可能polling-》Configuration 阶段就可以读到;但是Data Link Layer Link Active 会晚一点,应该是进入L0。
3. Link Control Register (Offset 10h)bit 4,如果设定,则disable link,LTSSM to Disable;然后enable Link,则LTSSM 开始Detect 流程。