Customizing the

The core has parameters so you can customize its function. You set the parameters in the General tab of the core's IP Configuration window.

Table 1. Core Parameters
Name Options Description
Data Streaming Mode Cut Through, Store Forward Default: Cut Through
In Cut Through mode, the XGMII packet is transferred with minimum latency, without waiting for the complete packet.
In Store Forward mode, the XGMII packet is only transferred when the entire packet is fully stored.
Programmable Inter Packet Gap 9 - 15
Default: 12
In Store Forward mode, the effective IPG may be governed by the Store Forward mechanism, in which the packet is transferred only after it is fully stored.
Maximum Transmission Unit Frame Length 64 - 16,406 Default: 1518
Maximum Transmission Unit Frame Length is the total count of headers (destination address, source address, VLAN tag, type/length), data payload and frame check sequence.
Refer to the frame length depicted in Figure 1 and Figure 2.
Any RX packet with physical length > Maximum Transmission Unit Frame Length is flagged as an oversized frame.
Any RX packet with a payload < 46 (or < 42 for VLAN-tagged frames) is flagged as an undersized frame.
Configure MAC Source Address Thru Port Yes, No Default: No
When set to No, the user configures the MAC Source Address in the IP Manager Configuration GUI.
When set to Yes, the input port mac_source_address_port[47:0] is generated to facilitate the user’s input. The MAC Source Address configuration field in the IP Manager Configuration GUI becomes unavailable.
Additionally, when set to Yes, the user needs to drive static (or pseudo-static) values in hexadecimal to the input port mac_source_address_port[47:0]. This input value is used in the following scenarios:
  • When generating TX Pause frame
  • When comparing against address filtering
However, this input value is not used when converting from user TX AXI ST inputs to XGMII TX packets.
MAC Source Address Default: 48'h0000_0000_0000
This configuration is only available if the Configure MAC Source Address Thru Port is set to No.
This setting is in hexadecimal. This MAC Source Address is used in the following scenarios:
  • When generating a TX pause frame.
  • When comparing it to address filtering.
This MAC Source Address is not used when converting from user TX AXI ST inputs to XGMII TX packets.
Broadcast Filtering Enable, Disable Default: Enable Broadcast Filtering.
Disable Broadcast Filtering.
TXFIFO Depth 8, 16, 32, 64, 128, 256, 512, 1024, 2048 Default: 512
Set the FIFO depth for storing the Full TX packet during Store Forward mode.
The FIFO depth must be large enough to store the maximum length of the TX frames intended for transfer.
This parameter is ineffective in Cut Through mode.
Link Fault Detection Enable, Disable Default: Enable Link Fault Detection.
Disable Link Fault Detection.
Optimize Timing Yes, No Default: Yes.
This enables the synthesis of pipeline registers to improve timing.
When choosing No, no pipeline registers are being synthesized. You can disable if the mac10gbe_clk in your design is meeting the targeted 156.25 MHz.
TX_PKT_CNT_DW Default: Display in post IP generation.
In Store Forward mode, the XGMII packet is only transferred when the entire packet is fully stored. TX_PKT_CNT_DW specifies the data width of the maximum number of frames that can be stored in the TXFIFO at one time, based on 2TX_PKT_CNT_DW-1.
This parameter is meant to optimize resource utilization. The default value is 3.
  • TX_PKT_CNT_DW = 1 → stores 1 frame
  • TX_PKT_CNT_DW = 2 → stores up to 3 frames
  • TX_PKT_CNT_DW = 3 → stores up to 7 frames
  • TX_PKT_CNT_DW = 4 → stores up to 15 frames
  • TX_PKT_CNT_DW = 5 → stores up to 31 frames
  • TX_PKT_CNT_DW = 6 → stores up to 63 frames
  • TX_PKT_CNT_DW = 7 → stores up to 127 frames
  • TX_PKT_CNT_DW = 8 → stores up to 255 frames
  • TX_PKT_CNT_DW = 9 → stores up to 511 frames
  • TX_PKT_CNT_DW = 10 → stores up to 1023 frames
recommends user to correlate both parameters TXFIFO_DEPTH and TX_PKT_CNT_DW, based on the TX data frame length, to optimize the resource utilization.
For example, if the maximum and the minimum frame length is 64 and 16 respectively, you should set TXFIFO_DEPTH = 8 and TX_PKT_CNT = 3. Alternatively, you may set TXFIFO_DEPTH = 16 and TX_PKT_CNT = 4.
  • A TXFIFO_DEPTH = 8 can stores up to 4 frames of the smallest frame length (optimized resource).
  • A TXFIFO_DEPTH = 16 can stores up to 8 frames of the smallest frame length (this setting is not recommended because this adds to memory and counter resources).
Note:
  • This parameter is not available in the IP Configuration Interface, but it is available in the post-generated IP.
  • The default setting of this parameter is 3, mainly to optimize resources and to cater for the typical use case during Store Forward mode.
  • In the case where there is a need for the TXFIFO to store > 7 frames per time, you may manually change this setting in the following directories:
    • ip/<ip_name>/<ip_name>.sv. This is the location of the generated Ethernet 10G MAC Core.
    • ip/<ip_name>/ efx_ethernet_10g_exp/ip_name>.sv. This is the location of the generated example design.