3.4. Software Interface: Registers
This section provides information about the memory-mapped registers. You access these registers using the IP core control and status interface. The registers use 32-bit addresses; they are not byte addressable.
Write operations to a read-only register field have no effect. Read operations that address a Reserved register return an unspecified constant. Write operations to Reserved registers have no effect. Accesses to registers that do not exist in your IP core variation have an unspecified result.
| Word Offset |
Register Category |
|---|---|
| 0x0B0–0x0FF | 40GBASE-KR4 registers |
| 0x300–0x3FF | PHY registers |
| 0x400–0x4FF | TX MAC registers |
| 0x500–0x5FF | RX MAC registers |
| 0x600–0x6FF | TX flow control (pause functionality) registers |
| 0x700–0x7FF | RX flow control (pause functionality) registers |
| 0x800–0x8FF | TX statistics counters |
| 0x900–0x9FF | RX statistics counters |
| 0xA00–0xAFF | TX 1588 PTP registers |
| 0xB00–0xBFF | RX 1588 PTP registers |
| Word Offset |
Register Description |
|---|---|
| 0x0B0–0x0BD |
40GBASE-KR4 top-level and FEC registers Accessible only if you turn on Enable KR. FEC registers are accessible only if you also turn on Include FEC sublayer. |
| 0x0BE–0x0BF |
Reserved. |
| 0x0C0–0x0CC |
40GBASE-KR4 auto-negotiation registers Accessible only if you turn on Enable KR and Enable Auto-Negotiation. |
| 0x0CD–0x0CF |
Reserved. |
| 0x0D0–0x0EB |
40GBASE-KR4 link training registers Accessible only if you turn on Enable KR and Enable Link Training. |
| 0x0EC–0x0FF |
Reserved. |
| 0x310–0x344 |
PHY registers available in all IP core variations |
| 0x405 |
Link fault signaling register LINK_FAULT_CONFIG Accessible only if you turn on Enable link fault generation |
| 0x406 |
IPG column removal register IPG_COL_REM Accessible only if you turn on Average interpacket gap |
| 0x407 |
TX maximum size Ethernet frame (in bytes) MAX_TX_SIZE_CONFIG. Value determines whether the IP core increments the CNTR_TX_OVERSIZE register |
| 0x506 |
RX maximum size Ethernet frame (in bytes) MAX_RX_SIZE_CONFIG. Value determines whether the IP core increments the CNTR_RX_OVERSIZE register. |
| 0x507 |
RX CRC forwarding configuration register MAC_CRC_CONFIG |
| 0x508 |
Link fault status register Provides link fault status information if you turn on Enable link fault generation . Returns zeroes if you turn off Enable link fault generation . |
| 0x50A |
Enable RX payload length checking register Provides enable bit to determine whether the RX error signal flags payload lengths that do not match the length field.. |
| 0x605–0x60A |
Transmit side pause registers Accessible only if you set Flow control mode to the value Standard flow control or Priority-based flow control. |
| 0x700–0x703 |
Receive side pause registers Accessible only if you set Flow control mode to the value Standard flow control or Priority-based flow control. |
| 0x800–0x837, 0x860–0x861 |
Transmit side statistics registers Accessible only if you turn on Enable TX statistics |
| 0x845 | Transmit statistics counters configuration register CNTR_TX_CONFIG Accessible only if you turn on Enable TX statistics |
| 0x846 | Transmit statistics counters status register Accessible only if you turn on Enable TX statistics |
| 0x900–0x937, 0x960–0x961 |
Receive side statistics registers Accessible only if you turn on Enable RX statistics |
| 0x945 | Receive statistics counters configuration register CNTR_RX_CONFIG Accessible only if you turn on Enable RX statistics |
| 0x946 | Receive statistics counters status register Accessible only if you turn on Enable RX statistics |
| 0xA00–0xA0C | TX 1588 PTP registers Accessible only if you turn on Enable 1588 PTP |
| 0xB00–0xB06 | RX 1588 PTP registers Accessible only if you turn on Enable 1588 PTP |
| Word Offset |
Register Category |
|---|---|
| 0x1000–0x1016 |
Packet client registers |
| 0x2004–0x2023 |
Reserved |
| 0x4000–0x4C00 |
Arria 10 dynamic reconfiguration register base addresses for four-lane variations. Register base address is 0x4000 for Lane 0, 0x4400 for Lane 1, 0x4800 for Lane 2, and 0x4C00 for Lane 3. (Bits [11:10] specify the lane). |