Test 53-20. badlcrc – Teledyne LeCroy Protocol PCI Express Script Automation Test Tool User Manual

Page 30

Advertising
background image

Teledyne LeCroy

PCI Express Script Automation Test Tool User Manual

26

3.1.1.10 Test 53-20. BadLCRC


ASSERTIONS COVERED: DLL.5.3#2
The intent of this test is to verify that a receiver discards a TLP with a bad CRC by NAKing it and reports a BAD
TLP error associated with the port.

Trainer Stimulus: link_53-20_BadLCRC.peg

Recording Options: link_layer_common.rec

Verification Scripts: link_53-20_BadLCRC.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. Turn off automatic sequence numbering, LCRC generation, and Replay Timer.
b. Send configuration read request TLP with bad LCRC.
c. Wait enough time for the TLP to be Nak’ed and the message to arrive.
d. Proceed with the rest of the test, setting PSNs and Tag manually.

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_TLP 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 NAKs the TLP with bad CRC.
b) The DUT set only the ERR_CORR bit in its Device Status register and generated ERR_CORR message.
c) The DUT set “BAD_TLP” 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