Visible to Intel only — GUID: hib1495493676275
Ixiasoft
Visible to Intel only — GUID: hib1495493676275
Ixiasoft
7.1. PHY Registers
Addr | Name | Description | Reset | Access |
---|---|---|---|---|
0x300 | REVID | IP core PHY module revision ID | 0x0809 2017 | RO |
0x301 | SCRATCH | Scratch register available for testing | 0x0000 0000 | RW |
0x302 | PHY_NAME_0 | First characters of IP core variation identifier string, "100". | 0x0031 3030 | 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:
|
26'hX_2'b0_1'bX_3'b0 (X= don't care) |
RW |
0x312 | WORD_LOCK | Each of the 20 lower order bits, when asserted, indicates that the corresponding virtual channel has identified 66 bit block boundaries in the serial data stream. If Enable RS-FEC is turned on, the value is always zero. |
0xXXX0 0000 (X= don't care) |
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. | 0xXXXX XXX0 | RW |
0x314 | EIO_FLAG_SEL | Supports indirect addressing of individual FIFO flags in the 10G 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:
|
29'bX_3'b000 | 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]. | 0xXXXX XXX0 | RO |
0x321 | EIO_FREQ_LOCK | Each of the lower order four bits, when asserted, indicates that the corresponding lane RX clock data recovery (CDR) phase-locked loop (PLL) is locked. | 0xXXXX XXX0 | RO |
0x322 | PHY_CLK | The following encodings are defined:
|
29'bX_3'b000 | RO |
0x323 | FRM_ERR | Each of the 20 lower order bits, when asserted, 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 virtual lane loses word lock. Write 1'b1 to the SCLR_FRM_ERR register to clear. If a virtual lane loses word lock, it clears the corresponding register bit. Each bit in this register has a valid value only if the corresponding bit in the WORD_LOCK register at offset 0x312 has the value of 1. If Enable RS-FEC is turned on, the value is always zero. |
0xXXX0 0000 | 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. |
0x0000 0000 | RW |
0x325 | EIO_RX_SOFT_PURGE_S | Set bit [0] to clear the RX FIFO for all four physical lanes.
|
0x0000 0000 | RW |
0x326 | RX_PCS_FULLY_ALIGNED_S | Indicates the RX PCS is fully aligned and ready to accept traffic.
If Enable RS-FEC is turned on, the value is always zero. |
30'bX_2'b00 |
RO |
0x327 | ERR_INJ | When set to 1, injects an error in the corresponding lane. The register is rising-edge triggered. Write a 0 to clear. | 0xXXXX XXX0 | RW |
0x328 | AM_LOCK | When bit [0] is asserted, indicates that the IP core has identified virtual lane alignment markers in the data stream of all 20 virtual lanes, and has ordered the virtual lanes. If Enable RS-FEC is turned on, the value is always zero. |
0xXXXX XXX0 | RO |
0x329 | LANE_DESKEWED | The following encodings are defined:
If Enable RS-FEC is turned on, the value is always zero. |
30'bX_2'b00 |
RO |
0x330 | PCS_VLANE0 | PCS virtual lane mapping. Identifies the five virtual lanes detected on physical lane 0. Virtual lanes are encoded with the five-bit binary virtual lane number. One virtual lane index is encoded in register bits [4:0], another in register bits [9:5], another in register bits [14:10], another in register bits [19:15], and another in register bits [24:20]. For example, if the value of the register is 25'b00001_00101_00011_00000_01000, virtual lanes 0, 1, 3, 5, and 8 map to physical lane 0. The value 0x1F in any of these fields indicates no virtual lane is recorded yet. Before the IP core asserts rx_pcs_ready, transitional values can appear in the register fields. Therefore, you should read the register three to four times to ensure you read the correct virtual lane indicators. If Enable RS-FEC is turned on, the value remains at the reset value. |
0x01FF FFFF | RO |
0x331 | PCS_VLANE1 | PCS virtual lane mapping for physical lane 1. The value 0x1F in any of these fields indicates no virtual lane is recorded yet. Before the IP core asserts rx_pcs_ready, transitional values can appear in the register fields. Therefore, you should read the register three to four times to ensure you read the correct virtual lane indicators. If Enable RS-FEC is turned on, the value remains at the reset value. |
0x01FF FFFF | RO |
0x332 | PCS_VLANE2 | PCS virtual lane mapping for physical lane 2. The value 0x1F in any of these fields indicates no virtual lane is recorded yet. Before the IP core asserts rx_pcs_ready, transitional values can appear in the register fields. Therefore, you should read the register three to four times to ensure you read the correct virtual lane indicators. If Enable RS-FEC is turned on, the value remains at the reset value. |
0x01FF FFFF | RO |
0x333 | PCS_VLANE3 | PCS virtual lane mapping for physical lane 3. The value 0x1F in any of these fields indicates no virtual lane is recorded yet. Before the IP core asserts rx_pcs_ready, transitional values can appear in the register fields. Therefore, you should read the register three to four times to ensure you read the correct virtual lane indicators. If Enable RS-FEC is turned on, the value remains at the reset value. |
0x01FF FFFF | 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 this register 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 this register times the frequency of the clk_status clock, divided by 100. | 0x0000 0000 | RO |
0x343 | KHZ_TX_RS | FEC TX clock (clk_tx_rs) frequency in KHz, assuming the clk_status clock has the frequency of 100 MHz. The TX FEC clock frequency is the value in this register times the frequency of the clk_status clock, divided by 100. This register is available only if Enable RS-FEC is turned on. |
0x0000 0000 | RO |
0x344 | KHZ_RX_RS | FEC RX clock (clk_rx_rs) frequency in KHz, assuming the clk_status clock has the frequency of 100 MHz. The RX FEC clock frequency is the value in this register times the frequency of the clk_status clock, divided by 100. This register is available only if Enable RS-FEC is turned on. |
0x0000 0000 | RO |
0x350 | ENABLE_RSFEC | Allows you to dynamically control the RS-FEC block which is part of the data path. This register is available only if the Enable RS-FEC is turned on.
When the RS-FEC block is enabled, writing 1 enables the RS-FEC data path and writing 0 disables the RS-FEC data path.
Note: In a configuration where the RS-FEC + KR feature is enabled, this register has no effect because the data path always includes the RS-FEC by default.
|
0x0000 0001 | RW |