Test 52-150. corruptedcrc_dllp – Teledyne LeCroy Protocol PCI Express Script Automation Test Tool User Manual

Page 27

Advertising
background image

Teledyne LeCroy

PCI Express Script Automation Test Tool User Manual

23

3.1.1.7 Test 52-150. CorruptedCRC_DLLP


ASSERTIONS COVERED: DLL.5.2#15
The intent of this test is to ensure that a DUT recognizes a DLLP with a bad CRC, drops it, and logs a BAD_DLLP
port error.

Trainer Stimulus: link_52-150_CorruptedCRC_DLLP.peg

Recording Options: link_layer_common.rec

Verification Scripts: link_52-150_CorruptedCRC_DLLP.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. Send configuration read request TLP.
c. Wait for completion.
d. Send the Ack DLLP with bad CRC.
e. Wait for the retransmitted completion.
f.

Switch back to Automatic Ack policy.

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 BAD DLLP bit should be set. (Replay Timer

Timeout Status can also be set. See the Notes.)

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 CONFIG_RD_COMPLETION TLP for which the DUT received an ACK with a bad CRC is retransmitted
by the DUT.
b) The DUT set ERR_CORR bit in its Device Status register and generated ERR_CORR message.
c) 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.

Notes: Because the PETrainer™ stays in the Ack/Nak disabled mode waiting for the retransmitted completion while
the ERR_CORR message can be sent, there is a good chance the ERR_CORR message is going to be replayed. This
in turn is going to prompt another ERR_CORR message and set a Replay Timer Timeout Status bit in the Advanced
Error Reporting Correctable Error Status register (if implemented). This situation has to be tracked by the
verification script and not treated as a failure.

Advertising