H-Tile Hard IP Ethernet Intel® FPGA IP User Guide: Stratix® 10 Devices

ID 683430
Date 5/03/2024
Public
Document Table of Contents

6.3. TX PCS Interface to User Logic

The H-Tile Hard IP for Ethernet IP core TX client interface in PCS Only variations employs the Media Independent Interface (MII) protocol.

The client acts as a source and the TX PCS acts as a sink in the transmit direction.

Table 16.  Signals of the MII TX Client InterfaceAll interface signals are clocked by the i_clk_tx clock.

Signal Name

Description

i_clk_tx The TX clock for the IP core is i_clk_tx. The frequency of this clock is 402.832 MHz.

i_tx_mii_d[255:0]

TX MII data. Data must be in MII encoding. i_tx_mii_d[7:0] holds the first byte the IP core transmits on the Ethernet link. i_tx_mii_d[0] holds the first bit the IP core transmits on the Ethernet link.

While i_tx_mii_valid has the value of 0 or i_tx_mii_am has the value of 1, and for one additional clock cycle, you must hold the value of i_tx_mii_d stable. We refer to this behavior as freezing the signal value.

i_tx_mii_c[31:0]

TX MII control bits. Each bit corresponds to a byte of i_tx_mii_d. i_tx_mii_c[0] corresponds to i_tx_mii_d[7:0], i_tx_mii_c[1] corresponds to i_tx_mii_d[15:8], and so on.

If the value of a bit is 1, the corresponding data byte is a control byte. If the value of a bit is 0, the corresponding data byte is data.

The Start of Packet byte (0xFB), End of Packet byte (0xFD), Idle bytes (0x07), and error byte (0xFE) are control bytes, but the preamble bytes, Start of Frame (SFD) byte (0xD5), CRC bytes, and payload bytes are data bytes.

When i_tx_mii_valid has the value of 0 or i_tx_mii_am has the value of 1, you must freeze the value of i_tx_mii_c.

i_tx_mii_valid Indicates that i_tx_mii_d is valid.

You must assert this signal a fixed number of clock cycles after the IP core raises o_tx_mii_ready, and must deassert this signal the same number of clock cycles after the IP core deasserts o_tx_mii_ready. The number must be in the range of 1–10 clock cycles.

While you hold the value of this signal at 0, you must freeze the values of both i_tx_mii_d and i_tx_mii_c stable.

o_tx_mii_ready Indicates the PCS is ready to receive new data.
i_tx_mii_am Alignment marker insertion bit. In IP core, you must hold this signal asserted for 5 consecutive clock cycles, counting only valid cycles, to drive the insertion of an alignment marker on the Ethernet link. A valid cycle is one in which i_tx_mii_valid has the value of 1.

The number of valid clock cycles from deassertion of i_tx_mii_am (alignment marker insertion bit signal) to reassertion of i_tx_mii_am is the am_period.

  • For normal operation of the Ethernet link, you must ensure that the value of am_period is 81915 clock cycles.
  • In simulation you can reduce this value to 315. This change decreases the simulation time to RX PCS alignment. You can set the IP core to expect this interval by setting the sim_mode RTL parameter to Enable.
    Note: The value for the MAC+PCS variations is different, to ensure the value on the internal signal has the appropriate am_period.

For an example that handles this setting for simulation and drives the i_tx_mii_am signal appropriately for simulation, refer to the IP core design example for PCS Only variations. For information about how to generate the IP core design example, refer to the H-Tile Hard IP for Ethernet Intel® FPGA IP Design Example User Guide. For information about the sim_mode RTL parameter, refer to the RTL Parameters section of this user guide.

While you hold the value of this signal at 1, you must freeze the values of both i_tx_mii_d and i_tx_mii_c.

Figure 25. TX MII Client Interface for H-Tile Hard IP for Ethernet IP Core
Figure 26. Alignment Marker Insertion on the TX MII Client Interface