Visible to Intel only — GUID: nik1398983919871
Ixiasoft
Visible to Intel only — GUID: nik1398983919871
Ixiasoft
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.
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.
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 |