Test 41-20 ReservedFieldsDLLPReceive
测试DLLP reserved fields error 情况,PCIe spec中规定reserved fields 应该为0,并且接收端要ignore这些fields。
测试流程:
- RP(DUT) as master to send CFG_RD.
- VIP(EP) as completer return ACK DLLP with non-zero reserved fields.
Verify: RP(DUT) can get correct CPLD of CFG_RD and don’t retransmit the same CFG_RD
Test 52-12 ReplayNumTEST & Test 52-20 LinkRetrainOnRetryFail
测试对于一个NAK,在链路不重新训练情况下可以retransmit TLP的最大数量;同时测试在retransmit TLP数量达到REPLAY_NUM之后链路会由于replay fail发生retrain,在retrain之后RC会记录REPLAY_NUM Rollover error,同时link retrain 不会影响replay buffer和link states;Rollover error是一个correctable的error,这个error还可以通过bit_enable和mask信号控制 (EP Only)。
测试流程:
- RP(DUT) as master to send CFG_RD.
- VIP(EP) as completer return CPLD and a NAK DLLP. After retraining the RP(DUT) will retransmit the TLP which is in replay buffer before retrain.
Verify:
RP(DUT) retransmit REPLAY_NUM of times with the same sequence number before retraining happened.
Link retrain When retransmit num is bigger than REPLAY_NUM. And need to check the link state don’t change(In active, by checking to see that same the TS1 and TS2 sequences keep the lane and link numbers intact while retraining, and UpdateFC DLLPs are exchanged instead of InitFCx DLLPs or Data Link Feature DLLPs).
Check Vendor ID and Device ID in RP which should not be changed.
CFG_RD should be retransmit successfully after retain and VIP return ACK.
Test 52-150 CorruptedDLLP
Verify: RP(DUT) should retransmit CFG_RD because ACK with CRC error will be discard which is equal to there is no ACK or NAK received. And there should be a bad DLLP crc error logged by the DUT to connected to EP. Bad DLLP error is a correctable error.
Bad DLLP error in Correctable Error Status Register.
Test 53-31 DuplicateTLPSeqNum
该case是为了测试当DUT收到Duplicate TLPs(Transmitter 收到的CPLD带的seq_num早于 NEXT_RCV_SEQ Num)时的处理方式。这时DUT应该返回一个或者两个ACK,ACK所带的seq_num应该就是收到的Duplicate TLP的seq_num.
Test 57-10 AdjustingInitialPreset8G
该case是为了测试DUT 发送和接受Transmit presets 和 receiver presets hint是否正常:case流程及测试point 如下图