Test 52-170. wrongseqnuminackdllp – Teledyne LeCroy Protocol PCI Express Script Automation Test Tool User Manual

Page 29

Advertising
background image

Teledyne LeCroy

PCI Express Script Automation Test Tool User Manual

25

3.1.1.9 Test 52-170. WrongSeqNumInAckDLLP


ASSERTIONS COVERED: DLL.5.2#17
The intent of this test is to verify that the DUT drops any ACK DLLP that does not have a sequence number
corresponding to an unacknowledged TLP and logs a BAD DLLP error associated with the port.

Trainer Stimulus: link_52-170_WrongSeqNumInAckDLLP.peg

Recording Options: link_layer_common.rec

Verification Scripts: link_52-170_WrongSeqNumInAckDLLP.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, to clear all prior error bits.
3. Write 0xFFFFFFFF to Advanced Correctable Error Status Register, to clear all prior error bits.
4. Main test stage. Do the following:

a. Disable the automatic Ack/Nak.
b. Send configuration read request TLP.
c. Wait for completion.
d. Send an Ack DLLP with wrong sequence number (expected minus one).
e. Switch back to Automatic Ack policy.

5. Read Device Status Register. Only ERR_CORR bit should be set.
6. Read Advanced Correctable Error Status Register. No error bits should be set.
7. Read Advanced Uncorrectable Error Status Register. Only Data Link Protocol Error 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 DUT set only the ERR_FATAL bit in its Device Status register and generated ERR_FATAL message.
b) The DUT set “BAD DLLP” bit in the Advanced Error Reporting Correctable Error Status register (if
implemented).

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

Advertising