To enable auto-negotiation:
ctl_an_* to advertise desired
When using the control and status interface the example design ties off the
ctl_an_* values to valid settings. If using the
register interface see Board Testing Steps for Auto-Negotiation and Link Training Using AXI4-Lite Interface for the
To enable link training set
ctl_lt_training_enable to 1.
- The core does not actually do any training. It only provides the control protocol required by section 72.6.10. The training algorithm is a user responsibility.
- The core does not monitor the RX eye nor does it send any
presets, initializations, or coefficient control requests to the link partner
TX. It is recommended to set
ctl_lt_rx_trainedto 1. Setting
ctl_lt_rx_trainedtells the link partner that your RX training is completed, and that you will not be sending any more presets, initializations, or coefficient changes.
- The core does not adjust any of the GT TX amplitude or coefficient control settings in response to any training messages received from the link partner. The example design link training Place_Holder logic will indicate that maximum limits have been reached. This should allow link training to complete.
nonce_seed must be set to a non-zero value.
- If connecting two ports with same nonce seed on the same board, resets must be released at different times.
- If the nonce_seed is changed, an
an_resetis needed to load the new value. This includes changing
nonce_seedusing the AXI4-Lite registers.
If the link partner sends next page,
ctl_an_loc_np_ack must be set High to acknowledge the next page and
allow auto-negotiation to complete. This control signal can be set High after next
page is received or tied always High.
Details on Stages and Status Signals
- At the start of auto-negotiation there is a TX disable state where no data
is seen to ensure that the link is down on both sides. The
stat_an_stat_tx_disablesignal toggles for one cycle to indicate the start of this stage.
- Following the TX disable state, auto-negotiation information is exchanged.
During this stage
stat_an_rxcdrholdis held High. The
stat_an_lp_ability_validsignals will toggle High for one clock cycle to indicate when
stat_an_lp*information is valid.
stat_an_start_an_good_checksignal toggles High for one cycle at the start of link training. The
stat_an_rxcdrholdsignal is deasserted and
gtwiz_reset_rx_datapathtoggled. After link training starts there is a 500 ms timer for training and block lock/link up in mission mode/normal PCS operation to complete or auto-negotiation will restart. The
stat_lt_frame_locksignal goes High and
stat_lt_rx_softoggles when the link training block has achieved frame synchronization. The
stat_lt_rx_sofsignal continues to toggle High for one clock duration at the training frame boundary.
- When link training completes the
stat_lt_signal_detectsignal asserts and indicates the start of normal PCS operation.
an_autoneg_completesignal goes High when block lock, synchronization and alignment (if multi-lane core),
stat_rx_valid_ctrl_codeis only applicable to single lane 10G/25G core) go High.
an_autoneg_completesignal must go High within the 500 ms timeout or auto-negotiation will restart. If
stat_rx_statusgoes back Low at any time then auto-negotiation restarts.
Simulation and Loopback
Auto-Negotiation TX disable state takes 50 ms of simulation time to complete. Use SIM_SPEED_UP option without pre-compiled IP libraries to speed up the wait time. See AR 73518 for more information on turning off pre-compiled libraries.
Auto-negotiation will not complete in loopback because auto-negotiation requires that the nonce value received from the link partner must be different than the nonce value sent to the link partner.
Starting signal list to add to ILA for debug:
- stat_rx_synced (only available on multi-lane cores)
- stat_rx_aligned (only available on mult-lane cores)
- stat_rx_valid_ctrl_code (only available on 10G/25G core)
If using line rate that supports Clause 74 Firecode FEC:
If using line rate that supports RS-FEC:
ctl_an_lo_np_acksignal must be set. This port can be tied High.