Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

Ethernet link detection with Triple Speed MegaCore PCS



This might be more of a general Ethernet question, but can someone quickly comment on how the PCS detects a link? I am starting with a design that features two 1000Base-X SFP modules to do a point to point connection without the MAC (so you could say it's on layer 1). 


Am I supposed to send some data first? Or does the PCS periodically send some idle patterns / negotiation patterns to do that for me? Will I have to periodically send data to allow for stable clock recovery? 


Please point me in the right direction :) 


Cheers, Peter
Tags (1)
0 Kudos
2 Replies
Honored Contributor I

Hi Peter, 


I haven't actually used Altera's TSE, but I can tell you how 1000Base-X works in this regard. The PCS transmits a K28.5 symbol as part of either idle of configuration ordered sets (referred to as /C/). There's a special series of bits contained in this symbol called a "comma". The PCS looks for this sequence of bits and uses it to align the serial stream. Once it thinks it has alignment, it looks for either idle (if autoneg is disabled) or /C/ sets. If you have aneg disabled, it should be sending idle (/I/). If autoneg is enabled, it will transmit /C/ encoded with 0's for abilities until it sees valid signaling from a link partner. Once it sees valid signaling, it will transmit /C/ encoded with the device's advertised abilities, and negotiate a link. 


IEEE 802.3 Clause 36 specifies the 1000Base-X PCS, and Clause 37 specifies 1000Base-X autonegotiation. 


I hope that helps.
Honored Contributor I

Hi cronus, 


that helped! I am browsing the standard right now. This way I also discovered page 4-18 in the Cyclone V Device Handbook (page 133 in the full pdf) which references exactly what you have pointed me to. 


Many thanks, Peter.