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: Proper configuration for Xilinx TEMAC SGMII interface for 10/100/1000

Part Number: DP83867IS

I am using the DP83867IS with a Xilinx FPGA that has the Tri-Ethernet MAC IP core (TEMAC). I interface to the DP83867IS PHY over SGMII 4-wire so I also have in the FPGA a core to bridge the TEMAC's core GMII to SGMII. I am working to configure these cores and make customization as necessary to begin testing the hardware. I would like to be able to run in 10, 100 or 1000.

The SGMII interface is required to always run at 1.25Gbps. As mentioned in the data sheet the PHY takes care of this by elongating the frame replicating each byte 10 times for 100-Mbps. Does it also do this 100 times for 10M if I clear bit[7] of PHY address 0x016F? That wasn't 100% clear in the data sheet.

The issue is the MAC side SGMII core also performs this adaptation replicating bytes so it doesn't seem that both should be doing this. What is best approach? I could disable SGMII auto-negotiation on both the MAC and PHY side and force the MAC/SGMII to run at 1000 all the time (remove that byte replication logic) and let the PHY make replications for 10/100? On the other had it makes more sense for the MAC/SGMII to do this since it has large FIFO's and can throttle as necessary in which case I would need to let the PHY know not to replicate for 10/100. Is that an option?

  • Hello Greg,

    Your interpretation of the 10M SGMII operation and bit [7] of 0x16F is correct.
    The SGMII standard defines how data duplication and sampling should execute in both MAC and PHY. So the MAC is also supposed to duplicate data before sending it out. As long as the MAC is compliant with SGMII standard, the PHY will work with the MAC. I would recommend leaving the SGMII auto-negotiation on.

    -Regards,
    Aniruddha