Test 52-100. replaytlporder – Teledyne LeCroy Protocol PCI Express Script Automation Test Tool User Manual
Page 26

Teledyne LeCroy
PCI Express Script Automation Test Tool User Manual
22
3.1.1.6 Test 52-100. ReplayTLPOrder
ASSERTIONS COVERED: DLL.5.2#10
The intent of this test is to verify that the oldest unacknowledged TLP is retransmitted first in replay followed by the
other unacknowledged TLPs in the same order they were transmitted.
Note: Requires reconfiguration of input based on MAX_PAYLOAD_SIZE, link width, and other variables. You
must think about configuration input.
Trainer Stimulus: link_52-100_ReplayTLPOrder.peg
Recording Options: link_layer_common.rec
Verification Scripts: link_52-100_ReplayTLPOrder.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. Disable the automatic Ack/Nak.
b. In a loop, send DUT-dependent number of Configuration Read requests with increasing addresses
in the configuration space.
c. In a loop, wait for the corresponding number of completions.
d. Switch back to Automatic Ack policy.
e. Wait some time for all the outstanding completions to be acknowledged.
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 Status bit 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 retransmitted CONFIG_RD_COMPLETION TLPs are in the original order sent.
b) The DUT set ERR_CORR bit in its Device Status register and generated ERR_CORR message (message by itself
can be replayed).
c) The DUT set “Replay Timer Timeout Status” bit in the Advanced Error Reporting Correctable Error Status
register (if implemented).
If the DUT meets all these criteria, the DUT passes the test.