Low Latency Ethernet 10G MAC Intel® FPGA IP User Guide
A newer version of this document is available. Customers should click here to go to the newest version.
5.9.1. Calculating Timing Adjustments
You can derive the required timing adjustments in ns and fns from the hardware PMA delay.
Type | Device | PMA Mode (bit) | Latency | MAC Configurations | |
---|---|---|---|---|---|
TX | RX | ||||
Digital12 | Arria® V GZ Stratix® V |
40 | 123 UI | 87 UI | 10GbE 10G of 10M-10GbE |
32 | 99 UI | 84 UI | 10GbE | ||
10 | 53 UI | 26 UI | 1G/100M/10M of 10M-10GbE | ||
Arria® V GX/GT/SX/ST |
10 | 42 UI | 44 UI | 1G/2.5GbE | |
Intel® Arria® 10 |
40 | 147 UI | 66.5 UI | 10GbE 10G of 10M-10GbE |
|
32 | 123 UI | 58.5 UI | 10GbE 10G of 10M-10GbE |
||
10 | 43 UI | 24.5 UI | 1G/100M/10M of 10M-10GbE 1G/2.5GbE |
||
Intel® Cyclone® 10 GX | 40 | 147 UI | 66.5 UI | 10GbE 10G of 10M-10GbE |
|
32 | 123 UI | 58.5 UI | 10GbE 10G of 10M-10GbE |
||
10 | 43 UI | 24.5 UI | 1G/100M/10M of 10M-10GbE 1G/2.5GbE |
||
Intel® Stratix® 10 |
40 | 127 UI | 48.5 UI | 10GbE 10G of 10M-10GbE |
|
32 | 107 UI | 44.5 UI | 10GbE 10G of 10M-10GbE |
||
10 | 43 UI | 26.5 UI | 1G/100M/10M of 10M-10GbE 1G/2.5GbE |
||
Analog13 | Arria® V Stratix® V |
— | -1.1 ns | 1.75 ns | All |
Arria® V GX/GT/SX/ST |
|||||
Intel® Arria® 10 |
|||||
Intel® Cyclone® 10 GX | |||||
Intel® Stratix® 10 |
— | 0.69 ns | 3.54 ns | 10G of 1G/2.5G/10Gbe |
|
0.18 ns | 3.03 ns | 1G/2.5GbE |
The example below shows the required calculation for a 10M – 10GbE design targeting a Stratix® V device.
Step | Description | 10G | 10M, 100M or 1G |
---|---|---|---|
1 | Identify the digital latency for the device. | For Stratix® V using the PMA mode of 40 bits, the digital latency is 87 UI. | For Stratix® V using the PMA mode of 10 bits, the digital latency is 26 UI. |
2 | Convert the digital latency in UI to ns. | 87 UI * 0.097 = 8.439 ns | 26 UI * 0.8 = 20.8 ns |
3 | Add the analog latency to the digital latency in ns. | 8.439 ns + 1.75 ns = 10.189 ns | 20.8 ns + 1.75 ns = 22.55 ns |
4 | Add any external PHY delay to the total obtained in step 3. In this example, an external PHY delay of 1 ns is assumed. | 10.189 ns + 1 ns = 11.189 ns | 22.55 ns + 1 ns = 23.55 ns |
5 | Convert the total latency to ns and fns in hexadecimal. | ns: 0xB fns: 0.189 * 65536 = 0x3062 |
ns: 0x17 fns: 0.55 * 65536 = 0x8CCC |
6 | Configure the respective registers. | rx_ns_adjustment_10G = 0xB rx_fns_adjustment_10G = 0x3062 |
rx_ns_adjustment_mult_speed = 0x17 rx_fns_adjustment_mult_speed = 0x8CCC |