Arria® 10 Transceiver PHY User Guide

ID 683617
Date 4/01/2024
Public
Document Table of Contents

6.15.2.3. PRBS Soft Accumulators

The Pseudo Random Binary Sequence (PRBS) soft accumulators are used in conjunction with the hard PRBS blocks in the transceiver channel. This section describes the soft logic that can be added to the Native PHY IP core. To enable this option, turn on the Enable PRBS Soft Accumulators option in the Native PHY IP Parameter Editor.
The PRBS soft accumulator has three control bits (Enable, Reset, and Snapshot) and one status bit (PRBS Done).
  • Enable bit—used to turn on the accumulation logic. This bit is also used for selective error accumulation and to pause the sequence.
  • Reset bit—resets the PRBS polynomial and the bit and error accumulators. It also resets the snapshot registers if independent channel snapshots are used.
  • Snapshot bit—captures the current value of the accumulated bits and the errors simultaneously. This neutralizes the impact of the added read time when the Avalon® memory-mapped interface is used. Capturing a snapshot provides an accurate error count with respect to the bit count at a specific time.
  • PRBS Done bit—indicates the PRBS checker has had sufficient time to lock to the incoming pattern.

For example, to capture the accumulated errors at any instance of time and read them back, you can perform the following operations.

  1. Perform the necessary steps from steps 1 to 7 in Steps to Perform Dynamic Reconfiguration.
  2. Perform read-modify-write to address 0x300 and set bit 0 to 1'b1. This action enables the error and bit counters.
  3. To capture the errors accumulated at a particular instant, perform read-modify-write to address 0x300 and set bit 2 to 1'b1. This takes a snapshot of the error counters and stores the value to the error count registers.
  4. To read the number of errors accumulated when the snapshot was captured, perform a read from the corresponding error registers 0x301 to 0x307.
  5. To reset the bit and error accumulators, perform a read-modify-write to address 0x300 bit 1.
  6. Perform the necessary steps from steps 9 to 12 in Steps to Perform Dynamic Reconfiguration.
Note: You can enable the error and bit counters (0x300[0]) and capture the accumulated bits and errors at different times. The error count registers and bit count registers are updated with the latest counter values as long as the counter enable bit is set.

Use the PRBS soft accumulators to count the number of accumulated bits and errors when the hard PRBS blocks are used. PRBS soft accumulators are word-based counter. The value read out from the PRBS soft accumulators represent the number of words counted. Hence, in order to obtain the total accumulated bit, user needs to multiply the value read out from the Accumulated bit pass through count [49:0] registers with the width of PCS-PMA interface. For Accumulated error count [49:0] registers, it counts one as long as there are bit errors in a word (be it one bit error in a word or all the bits in a word are erroneous). Hence, the Accumulated error count [49:0] registers do not give absolute bit errors counted. For each count, the absolute bit errors could range from one to the width of PCS-PMA interface.

For more information about using the hard PRBS blocks, refer to the "Using Data Pattern Generators and Checkers" section.

Table 290.  PRBS Accumulator Registers
Address Type Name Description
0x300[0] RW Counter enable (enables both error and bit counters) Counter enable (enables both error and bit counters)
0x300[1] RW Reset Reset the error accumulators
0x300[2] RW Error Count Snapshot Snapshot captures the current value of accumulated bits and the errors at that time instance
0x300[3] RO PRBS Done PRBS Done when asserted indicates the verifier has captured consecutive PRBS patterns and first pass of polynomial is complete
0x301[7:0] RO Accumulated error count [7:0] Accumulated error count [7:0]
0x302[7:0] RO Accumulated error count [15:8] Accumulated error count [15:8]
0x303[7:0] RO Accumulated error count [23:16] Accumulated error count [23:16]
0x304[7:0] RO Accumulated error count [31:24] Accumulated error count [31:24]
0x305[7:0] RO Accumulated error count [39:32] Accumulated error count [39:32]
0x306[7:0] RO Accumulated error count [47:40] Accumulated error count [47:40]
0x307[1:0] RO Accumulated error count [49:48] Accumulated error count [49:48]
0x30D[7:0] RO Accumulated bit pass through count[7:0] Accumulated bit pass through count[7:0]
0x30E[7:0] RO Accumulated bit pass through count[15:8] Accumulated bit pass through count[15:8]
0x30F[7:0] RO Accumulated bit pass through count[23:16] Accumulated bit pass through count[23:16]
0x310[7:0] RO Accumulated bit pass through count[31:24] Accumulated bit pass through count[31:24]
0x311[7:0] RO Accumulated bit pass through count[39:32] Accumulated bit pass through count[39:32]
0x312[7:0] RO Accumulated bit pass through count[47:40] Accumulated bit pass through count[47:40]
0x313[1:0] RO Accumulated bit pass through count[49:48] Accumulated bit pass through count[49:48]
Note: Intel recommends that you disable the byte serializer and deserializer blocks when using the soft PRBS accumulators. When the byte serializer and deserializer blocks are enabled, the number of bits counted are halved because the clock is running at half the rate.