This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83867IS: BIST configuration

Part Number: DP83867IS

I'm trying to understand how to use the BIST function in the DP83867, but the documentation is a bit vague.

As background, we're experiencing errors on our SGMII bus between the DP83867 and an Altera Arria 10 FPGA. The FPGA is seeing errors - it may be a signal integrity problem, but the system can run for long periods (1+ hours) but then loses increasing numbers of packets over several minutes until throughput almost drops to zero, and then abruptly recovers. 

I'd like to use the BIST function in the PHY to debug further, but I have a couple of questions:

1- Where does the BIST generator and receiver sit logically inside the PHY? There's a good block diagram of the various loopbacks in Figure 10 of the SNLA264A app note - can you describe the BIST connections relative to that diagram?

2- Is it possible to configure the BIST to test the SGMII bus, or does it only feed the analog side of the PHY?

3- The datasheet states (in Section 8.4.5) that "The BIST allows full control of the packet lengths and of the IPG". But the BISCR register only allows for 64 byte packets and 1518 byte packets, and the IPG is not in the register map anywhere. Is it possible to adjust the IPG, or otherwise set the rate at which the BIST generator runs? We'd like to be able to test at full GigE rate, or at reduced rates, if possible.

Thanks - 

     -Ryan

  • Hi,

    BIST is designed to send the packet out on MDI interface. It captures the received packet from MDI interface to compare and provide the packet CRC status.

    Using PRBS, packets can be route to SGMII by configuring internal analog loopback but it's comparsion will not work.

    For your case, you can use DUT#1 to transmit the packet over MDI lines using PRBS, on the Link Partner DUT#2, you can configure the SGMII to loopback. The packet can be received back at DUT#1 to check for errors. In this way, you can configure loopback at various levels on DUT#2 to isolate errrors at SGMII or other place.

    On your comment on PRBS capabiity, we only support 64 byte and 1518 byte packets. I have taken a note to remove the discrepancy in information between text and register configuration.


    Regards,
    Geet
  • Hi,

    I am closing this thread. Incase you need further assitance, Please open new thread and provide link to this thread.

    Regards,
    Geet