Вот например на выходе PCS (до XGMII) у меня идут два пакета:
Код
X"1E00000000000000"; -- IDLE
X"78555555555555D5"; -- Start Of Packet
X"cccc00000001cccc"; -- Dest MAC = 0xcccc00000001; Source MAC = 0xcccc00000002
X"000002c108004500"; -- IP 0x0800
X"005f2d3b00008011"; -- Total Length = 95 (0x005f); Identification = 0x2d3b; Time Live = 0x80 (128); Protocol = 0x11 (UDP)
X"895Cc0a80105c0a8"; -- CRC = 0x895C; Source Address = 192.168.1.5, (0xc0a80105);
X"01a1700070000030"; -- Dest Address = 192.168.1.161, (0xc0a801a1); Source PORT = 28672 (0x7000); Dest PORT = 28672 (0x7000); Length = 48 (0x0030)
X"C20001020304e01b"; -- UDP CRC = 0xC200;
...
X"00000000AABBCCDD"; -- AABBCCDD - CRC of Ethernet Packet
X"8700000000000000"; -- End Of Packet
X"1E00000000000000"; -- IDLE
...
...
...
...
X"1E00000000000000"; -- IDLE
X"78555555555555D5"; -- Start Of Packet
X"cccc00000001cccc"; -- Dest MAC = 0xcccc00000001; Source MAC = 0xcccc00000002
X"000002c108004500"; -- IP 0x0800
X"005f2d3b00008011"; -- Total Length = 95 (0x005f); Identification = 0x2d3b; Time Live = 0x80 (128); Protocol = 0x11 (UDP)
X"895Cc0a80105c0a8"; -- CRC = 0x895C; Source Address = 192.168.1.5, (0xc0a80105);
X"01a1700070000030"; -- Dest Address = 192.168.1.161, (0xc0a801a1); Source PORT = 28672 (0x7000); Dest PORT = 28672 (0x7000); Length = 48 (0x0030)
X"C20001020304e01b"; -- UDP CRC = 0xC200;
...
X"00000000EEFFCCDD"; -- EEFFCCDD - CRC of Ethernet Packet
X"8700000000000000"; -- End Of Packet
X"1E00000000000000"; -- IDLE
X"78555555555555D5"; -- Start Of Packet
X"cccc00000001cccc"; -- Dest MAC = 0xcccc00000001; Source MAC = 0xcccc00000002
X"000002c108004500"; -- IP 0x0800
X"005f2d3b00008011"; -- Total Length = 95 (0x005f); Identification = 0x2d3b; Time Live = 0x80 (128); Protocol = 0x11 (UDP)
X"895Cc0a80105c0a8"; -- CRC = 0x895C; Source Address = 192.168.1.5, (0xc0a80105);
X"01a1700070000030"; -- Dest Address = 192.168.1.161, (0xc0a801a1); Source PORT = 28672 (0x7000); Dest PORT = 28672 (0x7000); Length = 48 (0x0030)
X"C20001020304e01b"; -- UDP CRC = 0xC200;
...
X"00000000AABBCCDD"; -- AABBCCDD - CRC of Ethernet Packet
X"8700000000000000"; -- End Of Packet
X"1E00000000000000"; -- IDLE
...
...
...
...
X"1E00000000000000"; -- IDLE
X"78555555555555D5"; -- Start Of Packet
X"cccc00000001cccc"; -- Dest MAC = 0xcccc00000001; Source MAC = 0xcccc00000002
X"000002c108004500"; -- IP 0x0800
X"005f2d3b00008011"; -- Total Length = 95 (0x005f); Identification = 0x2d3b; Time Live = 0x80 (128); Protocol = 0x11 (UDP)
X"895Cc0a80105c0a8"; -- CRC = 0x895C; Source Address = 192.168.1.5, (0xc0a80105);
X"01a1700070000030"; -- Dest Address = 192.168.1.161, (0xc0a801a1); Source PORT = 28672 (0x7000); Dest PORT = 28672 (0x7000); Length = 48 (0x0030)
X"C20001020304e01b"; -- UDP CRC = 0xC200;
...
X"00000000EEFFCCDD"; -- EEFFCCDD - CRC of Ethernet Packet
X"8700000000000000"; -- End Of Packet
X"1E00000000000000"; -- IDLE
Частота шины - 156,25 МГц (6,4 нс), ширина слова - 64 бит.
Паузу в 9.6 нс нужно выдержать между 'End Of Packet' и 'Start Of Packet'?
Получается достаточно вставить два IDLE и всё?
UPDATE:
в 802.3 (4.4.2) написано:
"NOTE 4—For 10 Gb/s operation, the spacing between two packets, from the last bit of the FCS field of the first packet
to the first bit of the Preamble of the second packet, can have a minimum value of 40 BT (bit times), as measured at the
XGMII receive signals at the DTE. This interpacket gap shrinkage may be caused by variable network delays and clock
tolerances."
Это вообще получается, что может придти что-то такое:
Код
X"00000000AABBCCDD"; -- AABBCCDD - CRC of Ethernet Packet
X"8700000000000000"; -- End Of Packet - между последним битом CRC ETH и первым битом преамбулы - 64 бит
X"78555555555555D5"; -- Start Of Packet
X"8700000000000000"; -- End Of Packet - между последним битом CRC ETH и первым битом преамбулы - 64 бит
X"78555555555555D5"; -- Start Of Packet
Так ведь?