50 Gbps Ethernet IP Core User Guide

ID 683158
Date 5/08/2017
Public
Document Table of Contents

7.1. PHY Registers

Table 19.  PHY RegistersThe global hard reset csr_rst_n resets all of these registers. The TX reset tx_rst_n and RX reset rx_rst_n signals do not reset these registers.
Addr Name Description Reset Access
0x300 REVID IP core PHY module revision ID

0x0916 2016

RO
0x301 SCRATCH Scratch register available for testing 0x0000 0000 RW
0x302 PHY_NAME_0 First characters of IP core variation identifier string, "50".

0x0000 3530

RO
0x303 PHY_NAME_1 Next characters of IP core variation identifier string, "GE". 0x0000 4745 RO
0x304 PHY_NAME_2 Final characters of IP core variation identifier string, "pcs". 0x0070 6373 RO
0x310 PHY_CONFIG PHY configuration registers. The following bit fields are defined:
  • Bit[0]: : eio_sys_rst. Full system reset (except registers). Set this bit to initiate the internal reset sequence.
  • Bit[1]: soft_txp_rst. TX soft reset. Resets TX PCS, MAC, and adapter.
  • Bit[2]: soft_rxp_rst. RX soft reset. Resets RX PCS, MAC, and adapter.
  • Bit[3]: Reserved.
  • Bit[4]: set_ref_lock. Directs the RX CDR PLL to lock to the reference clock.
  • Bit[5]: set_data_lock. Directs the RX CDR PLL to lock to data.
  • Bits[31:6]: Reserved.

26'hX_2'b0_1'bX_3'b0

(X= don't care)

RW
0x312 WORD_LOCK When asserted, indicates that the virtual channel has identified 66 bit block boundaries in the serial data stream.

30'hX4'b0

RO
0x313 EIO_SLOOP Serial PMA loopback. Setting a bit puts the corresponding transceiver in serial loopback mode. In serial loopback mode, the TX lane loops back to the RX lane on an internal loopback path.

30'hX2'b00

RW
0x314 EIO_FLAG_SEL Supports indirect addressing of individual FIFO flags in the PCS Native PHY IP core. Program this register with the encoding for a specific FIFO flag. The flag values (one per transceiver) are then accessible in the EIO_FLAGS register.

The value in the EIO_FLAG_SEL register directs the IP core to make available the following FIFO flag:

  • 3'b000: TX FIFO full
  • 3'b001: TX FIFO empty
  • 3b010: TX FIFO partially full
  • 3'b011: TX FIFO partially empty
  • 3b100: RX FIFO full
  • 3b101: RX FIFO empty
  • 3b110: RX FIFO partially full
  • 3b111: RX FIFO partially empty
29'hX3'b0 RW
0x315 EIO_FLAGS PCS indirect data. To read a FIFO flag, set the value in the EIO_FLAG_SEL register to indicate the flag you want to read. After you specify the flag in the EIO_FLAG_SEL register, each bit [n] in the EIO_FLAGS register has the value of that FIFO flag for the transceiver channel for lane [n].

30'hX2'b0

RO
0x321 EIO_FREQ_LOCK Each asserted bit indicates that the corresponding lane RX clock data recovery (CDR) phase-locked loop (PLL) is locked.

30'hX2'b00

RO
0x322 PHY_CLK The following encodings are defined:
  • Bit[0]: Indicates if the TX PCS is ready
  • Bit [1] : Indicates if the TX MAC PLL is locked.
  • Bit[2] : Indicates if the RX CDR PLL is locked
29'hX3'b00 RO
0x323 FRM_ERR

Each asserted bit indicates that the corresponding virtual lane has a frame error. You can read this register to determine if the IP core sustains a low number of frame errors, below the threshold to lose word lock. These bits are sticky, unless the IP core loses word lock. Write 1'b1 to the SCLR_FRM_ERR register to clear.

If the IP core loses word lock, it clears this register.

28'hX_4'b0

RO
0x324 SCLR_FRM_ERR Synchronous clear for FRM_ERR register. Write 1'b1 to this register to clear the FRM_ERR register and bit [1] of the LANE_DESKEWED register. A single bit clears all sticky framing errors.

This bit does not auto-clear. Write a 1'b0 to continue logging frame errors.

0x0

RW
0x325 EIO_RX_SOFT_PURGE_S

Set bit [0] to clear the RX FIFO for both physical lanes.

31'bX_1'b0

RW

0x326 RX_PCS_FULLY_ALIGNED_S Indicates the RX PCS is fully aligned and ready to accept traffic.
  • Bit[0] : RX PCS fully aligned status.

31'hX1'b0

RO
0x328 AM_LOCK When asserted indicates that the physical channel has identified virtual lane alignment markers in the data stream. 28'hX_4'b0 RO
0x329 LANE_DESKEWED
The following encodings are defined:
  • Bit [0]: Indicates all lanes are deskewed.
  • Bit [1]: When asserted indicates a change in lanes deskewed status. To clear this sticky bit, write 1'b1 to the corresponding bit of the SCLR_FRM_ERR register. This is a latched signal.

30'hX2'b00

RO
0x330 PCS_VLANE The following encodings are defined:
  • Bit [1:0]: First virtual index for physical lane 0.
  • Bit [3:2]: Second virtual index for physical lane 0.
  • Bit [5:4]: First virtual index for physical lane 1.
  • Bit [7:6]: Second virtual index for physical lane 1.
24'bX8'b0 RO
0x340 KHZ_REF Reference clock frequency in KHz, assuming the clk_status clock is 100 MHz. The reference clock frequency is the value in KHZ times the frequency of the clk_status clock, divided by 100. 0x0000 0000 RO
0x341 KHZ_RX RX clock (clk_rxmac) frequency in KHz, assuming the clk_status clock has the frequency of 100 MHz. The RX clock frequency is the value in KHZ times the frequency of the clk_status clock, divided by 100. 0x0000 0000 RO
0x342 KHZ_TX TX clock (clk_txmac) frequency in KHz, assuming the clk_status clock has the frequency of 100 MHz. The TX clock frequency is the value in KHZ times the frequency of the clk_status clock, divided by 100. 0x0000 0000 RO

Did you find the information on this page useful?

Characters remaining:

Feedback Message