Test 52-20. linkretrainonretryfail – Teledyne LeCroy Protocol PCI Express Script Automation Test Tool User Manual

Page 25

Advertising
background image

Teledyne LeCroy

PCI Express Script Automation Test Tool User Manual

21

3.1.1.5 Test 52-20. LinkRetrainOnRetryFail


ASSERTIONS COVERED:
DLL.5.2#2, DLL.5.2#7
The intent of this test is to ensure that the link connected to the DUT goes into retraining after trying and failing for
REPLAY_NUM of times to get a TLP through. It also tests that the retry buffer and link states are not changed
while in retraining and that the pending TLP is retransmitted after link retraining completes.

Trainer Stimulus: link_52-20_LinkRetrainOnRetryFail.peg

Recording Options: link_layer_with_ts.rec

Verification Scripts: link_52-20_LinkRetrainOnRetryFail.pevs

Test Algorithm:

1. Write 0x0000000F to Device Control Register, to enable Error Reporting for all error types.
2. Write 0xFFFFFFFF to Advanced Uncorrectable Error Status Register – clear all prior error bits.
3. Write 0xFFFFFFFF to Advanced Correctable Error Status Register – clear all prior error bits.
4. Main test stage. Do the following:

a. Set the Ack/Nak policy to “Disable”.
b. Send configuration read request TLP.
c. Wait (with timeout) for retraining to occur as a result of REPLAY_NUM plus one replays.
d. Switch back to Automatic Ack policy.
e. Acknowledge the next completion TLP (that comes after link retraining).

5. Read Device Status Register. Only ERR_CORR bit should be set.
6. Read Advanced Uncorrectable Error Status Register. No error bits should be set.
7. Read Advanced Correctable Error Status Register. Only Replay Timer Timeout and REPLAY_NUM

Rollover Status bits should be set.

8. Write 0 to Device Control Register, to disable Error Reporting for all error types.


Pass/Fail Criteria:

Test should successfully progress though all test stages.
All test stages should be executed without protocol violations.

Verify that:
a) The link did not change its state and the Config Read Completion TLP is sent after the retraining is complete (that
the DATA_BUF contains the correct data). If not, treat it as DUT failure (DLL.5.2#7).
b) The DUT set ERR_CORR bit in its Device Status register and generated ERR_CORR message. If not treat it as
DUT failure (DLL.5.2#2).

c) The DUT set “REPLAY_NUM Rollover Status” bit in the Advanced Error Reporting Correctable Error Status
register (if implemented). If not treat it as DUT failure (DLL.5.2#2).

If the DUT meets all these criteria, the DUT passes the test.

Advertising