V-Series Transceiver PHY IP Core User Guide

ID 683171
Date 7/26/2022
Public
Document Table of Contents

3.17. 10GBASE-R PHY Register Interface and Register Descriptions

The Avalon-MM PHY management interface provides access to the 10GBASER-R PHY PCS and PMA registers. You can use an embedded controller acting as an Avalon-MM master to send read and write commands to this Avalon-MM slave interface.

Table 18.  Avalon-MM PHY Management Interface
Signal Name Direction Description
phy_mgmt_clk Input The clock signal that controls the Avalon-MM PHY management, interface. For Stratix IV devices, the frequency range is 37.5-50 MHz. There is no frequency restriction for Stratix V devices; however, if you plan to use the same clock for the PHY management interface and transceiver reconfiguration, you must restrict the frequency range of phy_mgmt_clk to 100-150 MHz to meet the specification for the transceiver reconfiguration clock.
phy_mgmt_clk_reset Input Global reset signal that resets the entire 10GBASE-R PHY. This signal is active high and level sensitive. This signal is not synchronized internally.
phy_mgmt_addr[8:0] Input 9-bit Avalon-MM address.
phy_mgmt_writedata[31:0] Input Input data.
phy_mgmt_readdata[31:0] Output Output data.
phy_mgmt_write Input Write signal. Asserted high.
phy_mgmt_read Input Read signal. Asserted high.
phy_mgmt_waitrequest Output When asserted, indicates that the Avalon-MM slave interface is unable to respond to a read or write request. When asserted, control signals to the Avalon-MM slave interface must remain constant.

Refer to the “Typical Slave Read and Write Transfers” and “Master Transfers” sections in the “Avalon Memory-Mapped Interfaces” chapter of the Avalon Interface Specifications for timing diagrams.

The following table specifies the registers that you can access over the Avalon-MM PHY management interface using word addresses and a 32-bit embedded processor. A single address space provides access to all registers.

Note: Writing to reserved or undefined register addresses may have undefined side effects.
Table 19.  10GBASE-R Register Descriptions
Word Addr Bit R/W Name Description
PMA Common Control and Status
0x021 [31:0] RW cal_blk_powerdown Writing a 1 to channel <n> powers down the calibration block for channel <n>. This register is only available if you select Use external PMA control and reconfig on the Additional Options tab of the GUI.
0x022 [31:0] RO pma_tx_pll_is_locked Bit[P] indicates that the TX clock multiplier unit CMU PLL [P] is locked to the input reference clock. This register is only available if you select Use external PMA control and reconfig on the Additional Options tab of the GUI.
Reset Control Registers-Automatic Reset Controller
0x041 [31:0] RW reset_ch_bitmask Reset controller channel bitmask for digital resets. The default value is all 1 s. Channel <n> can be reset when bit<n> = 1. Channel <n> cannot be reset when bit<n>=0.
0x042 [1:0] WO reset_control (write) Writing a 1 to bit 0 initiates a TX digital reset using the reset controller module. The reset affects channels enabled in the reset_ch_bitmask. Writing a 1 to bit 1 initiates a RX digital reset of channels enabled in the reset_ch_bitmask. Both bits 0 and 1 self-clear.
RO reset_status (read) Reading bit 0 returns the status of the reset controller TX ready bit. Reading bit 1 returns the status of the reset controller RX ready bit.
0x044 [31:0] RW reset_fine_control You can use the reset_fine_control register to create your own reset sequence. The reset control module performs a standard reset sequence at power on and whenever the phy_mgmt_clk_reset is asserted. Bits [31:4,0] are reserved.
[31:4,0] RW Reserved It is safe to write 0s to reserved bits.
[1] RW reset_tx_digital Writing a 1 causes the internal TX digital reset signal to be asserted, resetting all channels enabled in reset_ch_bitmask. You must write a 0 to clear the reset condition.
[2] RW reset_rx_analog Writing a 1 causes the internal RX digital reset signal to be asserted, resetting the RX analog logic of all channels enabled in reset_ch_bitmask. You must write a 0 to clear the reset condition.
[3] RW reset_rx_digital Writing a 1 causes the RX digital reset signal to be asserted, resetting the RX digital channels enabled in reset_ch_bitmask. You must write a 0 to clear the reset condition.
PMA Channel Control and Status
0x061 [31:0]
RW phy_serial_loopback Writing a 1 to channel <n> puts channel <n> in serial loopback mode. For information about pre- or post-CDR serial loopback modes, refer to Loopback Modes.
0x064 [31:0] RW pma_rx_set_locktodata When set, programs the RX CDR PLL to lock to the incoming data. Bit <n> corresponds to channel <n>.
0x065 [31:0] RW pma_rx_set_locktoref When set, programs the RX CDR PLL to lock to the reference clock. Bit <n> corresponds to channel <n>.
0x066 [31:0] RO pma_rx_is_lockedtodata When asserted, indicates that the RX CDR PLL is locked to the RX data, and that the RX CDR has changed from LTR to LTD mode. Bit <n> corresponds to channel <n>.
0x067 [31:0] RO pma_rx_is_lockedtoref When asserted, indicates that the RX CDR PLL is locked to the reference clock. Bit <n> corresponds to channel <n>.
10GBASE-R PCS
0x080 [31:0] WO INDIRECT_ADDR
Provides for indirect addressing of all PCS control and status registers. Use this register to specify the logical channel number of the PCS channel you want to access.
0x081 [2] RW RCLR_ERRBLK_CNT When set to 1, clears the error block count register. To block: Block synchronizer
[3] RW RCLR_BER_COUNT When set to 1, clears the bit error rate (BER) register. To block: BER monitor
0x082 [0] R PCS_STATUS For Stratix IV devices: When asserted indicates that the PCS link is up.
[1] R HI_BER When asserted by the BER monitor block, indicates that the PCS is recording a high BER. From block: BER monitor
[2] R BLOCK_LOCK When asserted by the block synchronizer, indicates that the PCS is locked to received blocks. From Block: Block synchronizer
[3] R TX_FIFO_FULL When asserted, indicates the TX FIFO is full. From block: TX FIFO
[4] R RX_FIFO_FULL When asserted, indicates the RX FIFO is full. From block: RX FIFO
[5] R RX_SYNC_HEAD_ERROR For Stratix V devices, when asserted, indicates an RX synchronization error. This signal is Stratix V devices only.
[6] R RX_SCRAMBLER_ERROR For Stratix V devices: When asserted, indicates an RX scrambler error.
[7] R RX_DATA_READY When asserted indicates that the RX interface is ready to send out received data. From block: 10 Gbps Receiver PCS
0x083 [5:0] R BER_COUNT[5:0] For Stratix IV devices only, records the bit error rate (BER). From block: BER monitor
[13:6] R ERROR_BLOCK_COUNT[7:0] For Stratix IV devices only, records the number of blocks that contain errors. From Block: Block synchronizer
[14] R LATCHED_HI_BER Latched version of HI_BER . From block: BER monitor
[15] R LATCHED_BLOCK_LOCK Latched version of BLOCK_LOCK. From Block: Block synchronizer