Test Pattern Checker

The receive datapath implements various test pattern checkers, which can be used for self-test and target testing of specific areas of the datapaths. The following table shows the possible signal combinations for the different test modes.

Table 1. RX Test Pattern Modes
Pattern rx_tst_en rx_scr_idle_en rx_tst_dat_sel rx_prbs9_en rx_prbs31_en
Normal operation 0 0 0 0 0
Scrambled 0 1 0 1 0 0
Scrambled local fault 1 0 0 0 0
PRBS 9 X X X 1 0
PRBS 31 X X X 0 1
Scrambled idle 1 1 0 0 0

In the PRBS test modes, the 66b input data stream is checked against the relevant polynomial according to the IEEE 802.3 specification. Bit errors are counted and are stored in the optional PRBS test pattern error counter that can be accessed through the APB.

You can enable pseudo-random test pattern checking (which is different from PRBS checking) by asserting rx_tst_en. The test pattern checker monitors the descrambler output and counts the number of data mismatches against the expected data pattern. The expected data pattern is either zero or local fault depending on rx_tst_data_sel.

Block errors are counted in the test pattern error counter that can be read through the APB.

The scrambled idles test pattern checking operates in a similar way to the pseudorandom test pattern checks, except that the checker expects a constant stream of encoded idle blocks.