The MRMAC features a flexible interface (Flex I/F) which permits the user logic to bypass the MAC logic and directly access the internal hardened resources of the MRMAC. Each port's Flex I/F can be configured to access a tap point to and from the internal MRMAC transmit/receive PCS datapath. In this approach, the Flex I/F of the port can be configured to any of the following:
- BASE-R PCS n × 66b word interface (PCS/BASE-R mode)
- FlexE PHY n × 66b word interface (FlexE mode)
- Transparent PHY n × 66b interface (OTN mapping mode)
- Direct access to the FEC resources (FEC only mode)
The Flex I/F can be configured into between one to four independent ports, supporting 4 × 10/25GE, 2 × 50GE, 1 × 40GE, or 1 × 100GE operation.
For each port, the ctl_data_rate
field
of the MODE_REG sets the operating data rate for the Flex I/F. For the TX direction, the
ctl_tx_flexif_input_enable
enables the Flex I/F input
(disabling the AXI4-Stream input interface) and ctl_tx_flexif_select
sets the operating mode, both fields are in
the CONFIGURATION_TX_REG register. For the RX direction, the ctl_rx_flexif_select
field of the CONFIGURATION_RX_REG register sets the RX Flex
I/F mode.