UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor mkinsley3
Visitor
14,190 Views
Registered: ‎08-27-2008

SFP/SGMII Ethernet on ML405

Jump to solution

I am using a Linksys 1000 Based-T Mini-GBIC SFP Transceiver (MGBT1) with an ML405 dev board.  I've used the example design generated by CORE Generator 'Embedded Tri-mode Ethernet MAC Wrapper' v9.2.04i with default settings other than changing the interface to 'SGMII'. This is all new territory for me so I'm detailing my actions to check that I've headed in the right direction.

 

The example design expects a 250 MHz clock but the ML405 can only provide 125 MHz so I've changed the GT11 instantiations in gt11_dual_1000X.vhd := Changed RXPLLNDIVSEL & TXPLLNDIVSEL from 10 to 20. (AR23612 - Indicates these should be halved when using 125MHz?)

 

The design requires 'DCLK' a callibration clock between 25 & 50 MHz. The ML405 has no such clock so I've changed DCLK from an input to a signal and added a divider in the top level VHDL design file. (There's already a BUFG instantiation in v4_emac_v4_4_block.vhd)

    -- Generate 50MHz dclk (DCLK must be between 25 & 50 MHz)
    dgen : process(host_clk_i)
    BEGIN
      IF (host_clk_i'EVENT AND host_clk_i = '1') THEN
         DCLK <= NOT DCLK;
      END IF;
    END PROCESS dgen;

 

 

I've updated the coregen UCF file with the necessary pin assignments and assigned the EMAC sync status to the LEDs.

CONFIG PART = 4vfx20ff672-10;
CONFIG STEPPING = "SCD1";

# Use 'Center' pushbutton to reset design
NET "RESET" LOC = "D6";

# MGT105 clock source (125MHz Fixed)
NET "MGTCLK_P" LOC = "AF21";
NET "MGTCLK_N" LOC = "AF20";

# 100 MHz System Clock (socketed on dev board)
NET "HOSTCLK" LOC = "AB14";
# Use 'North'/'South' LEDs for sync status
NET "EMAC0CLIENTSYNCACQSTATUS" LOC = "G4";
NET "EMAC1CLIENTSYNCACQSTATUS" LOC = "L9";

INST "*GT11_1000X_A" LOC = "GT11_X0Y3"; # MGT 102A - SMAs (Loopback)

INST "*GT11_1000X_B" LOC = "GT11_X0Y2"; # MGT 102B - SFP

 

After building & loading the resulting design, connecting the SPF Ethernet cable via crossover cable to a PC there is no link established (neither PC nor ML405 LEDs come on). If I connect loopback cables on the ML405 SMA's (ie TXN->RXN, TXP->RXP) the corresonding sync status LED comes on. How can I find out why the SFP Ethernet is not working. 

 

The SFP interface includes an I2C interface - is this purely for storing data (presumably a MAC address) or is some sort of I2C configuration required?

 

Any pointers would be much appreciated.

 

0 Kudos
1 Solution

Accepted Solutions
Visitor mkinsley3
Visitor
14,659 Views
Registered: ‎08-27-2008

Re: SFP/SGMII Ethernet on ML405

Jump to solution

Finally a breakthrough! I have received some other SFP transceivers and with these I am getting the packets back from the address swap module as expected. It seems that the Linksys MGBT1 SFP Transceivers behave differently to other SFP modules. According to the user guide for the MGBT1, they are 'Compliant with Specifications of SFP Transceiver MSA Specification' - following my recent experience I'm not sure this is true!

 

 

0 Kudos
7 Replies
Contributor
Contributor
14,154 Views
Registered: ‎03-12-2008

Re: SFP/SGMII Ethernet on ML405

Jump to solution

I've never used an SFP that was specifically for 1000BaseT, but in general SFP modules do not require anything to be done with the I2C interface in order to function.

Although SFP modules do have a transmit disable, and maybe a receive disable as well (can't remember for sure).  You should probably check the status of those pins, just to be certain you are actually sending light out of the SFP module.

 

You should probably use a PLL or something to divide the host clock.  Timing will be better.  Although I doubt that is really hurting you.

 

0 Kudos
Visitor mkinsley3
Visitor
14,061 Views
Registered: ‎08-27-2008

Re: SFP/SGMII Ethernet on ML405

Jump to solution

Thanks for the pointers.

 

I have found that the SFP transmit disable line was sitting at 1.7V due to the pulldown resistor on the ML405 boad being way too high (R320=4.7K). According to the SFP specification,  this line is connected to a 4.7K-10K pull-up in the module. This voltage needs to be < 0.8V to enable the transmitter. The good news is that after butchering the ml405 hardware design I now have a 1Gbps link to my PC (although no packets transferred yet).

 

Aaaaaaaaaargh.

 

Shouldn't there be an errata sheet or AR for this...

Xilinx Employee
Xilinx Employee
14,046 Views
Registered: ‎01-03-2008

Re: SFP/SGMII Ethernet on ML405

Jump to solution

The board design team has confirm that this is an issue, but it was not previously known.  The R320 resistor should have been 1K instead of 4.7K. 

 

An answer record (AR#31703) has been published on this issue and the BOM will be updated for any future builds.

http://www.origin.xilinx.com/support/answers/31703.htm

Message Edited by mcgett on 10-15-2008 11:33 AM
------Have you tried typing your question into Google? If not you should before posting.
Too many results? Try adding site:www.xilinx.com
0 Kudos
Visitor mkinsley3
Visitor
13,555 Views
Registered: ‎08-27-2008

Re: SFP/SGMII Ethernet on ML405

Jump to solution

I'm still not having any luck getting data through...

 

I started again from scratch as follows:

  • Fitted a 50MHz oscillator in the 'USRCLK' socket of the ml405 board (to feed the DCLK)
  • Set the dip SW14 on the ml405 board to 10011100 (ie 125 MHz output)
  • Regenerated the coregen design, using 'Embedded Tri-Mode Ethernet MAC Wrapper'. Applied defaults except disabled 'EMAC 0', and set the Phy Interface to 1000BaseX PCS PMA.
  • Edited the coregen output file: example_design\physical\gt11_dual_1000X.vhd, changed all assignments of RXPLLNDIVSEL & TXPLLNDIVSEL from 10 to 20. (Total of 4 lines changed)
  • Edited the constraints in file: example_design\ml405_temac1000BaseX_SFP_block.ucf as follows:
 
CONFIG PART = 4vfx20ff672-10;
CONFIG STEPPING = "SCD1";

# Use 'Center' pushbutton to reset design
NET "RESET" LOC = "D6";

# MGT105 clock source (125MHz Fixed)
NET "MGTCLK_P" LOC = "AF21";
NET "MGTCLK_N" LOC = "AF20";

# 100 MHz System Clock (socketed on dev board)
NET "HOSTCLK" LOC = "AB14";

# I have a 50 MHz Oscillator in X6
NET "DCLK" LOC = "AB12";

# Use 'North' LED for sync status
NET "EMAC1CLIENTSYNCACQSTATUS" LOC = "G4";
 
  • Ran the batch file: implement\implement.bat
  • Download bit file to ml405 board (implement\results\routed.bit)
  • Connected crossover cable from SFP (MGBT1) to PC Gigabit network card (with static 192.168.0.99 IP address).
  • Run Wireshark application on PC & start capture on Gigabit network card.
  • Open console window and ping 192.168.0.101

 

The link status LED on the ml405 board comes on, and the PC detects that the network cable is connected.

After the ping request, I see Wireshark report  and ARP broadcast message but there are no duplicate messages reported as I would expect to see with the address loopback in the example design?

 

Any suggestions on how to debug this would be much appreciated... I had hoped to use my eval version of chipscope but I don't think I can use ChipScope 10 with ISE 9.2 ?

0 Kudos
Visitor mkinsley3
Visitor
14,660 Views
Registered: ‎08-27-2008

Re: SFP/SGMII Ethernet on ML405

Jump to solution

Finally a breakthrough! I have received some other SFP transceivers and with these I am getting the packets back from the address swap module as expected. It seems that the Linksys MGBT1 SFP Transceivers behave differently to other SFP modules. According to the user guide for the MGBT1, they are 'Compliant with Specifications of SFP Transceiver MSA Specification' - following my recent experience I'm not sure this is true!

 

 

0 Kudos
Visitor zbakerunm
Visitor
7,474 Views
Registered: ‎08-31-2011

Re: SFP/SGMII Ethernet on ML405

Jump to solution

As a further +1 to mkinsley3, I made some attempts to use a MGBT1 on a ML507 and was having no luck.   I popped out the copper phy and replaced it with a fiber phy plugged into the expansion port of my Gb router and the EDK + LWIP HW/SW worked out of the box.    

 

One note to folks getting hung up / hanged on the xemac_add call, if you go into the BSB settings, "standalone", "lwip130", "temac_adapter", "phy_link_speed" and set it to 1000 it will pass through the call and work properly. 

0 Kudos
Visitor zbakerunm
Visitor
7,457 Views
Registered: ‎08-31-2011

Re: SFP/SGMII Ethernet on ML405

Jump to solution

To update my earlier post,  there is nothing wrong with the Linksys/Cisco MGBT1.   I got together a grabbag of copper phys, from ZyXEL SFP-1000T, addon GLC-T-AOT, AMC Optics EX-SFP-1GE-T-AMC as well the Cisco phy, and they all work with the EDK 1000X design.    

 

The problem --- wait for it -- is the cable.  Just because the cable says "Cat 5E" doesn't mean it will actually work at 1000Gb.   So, if you are having trouble, try some other cables.   Also, try the same cable connected between your computer and Gb router, as if it won't work with the copper SFP, it won't work with your Gb ethernet card either.   I found several Cat 5E cables that wouldn't work and several Cat 5 cables that do work.

0 Kudos