You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 21
Next »
Requirements
- Support "point-to-point" and "network" mode
- "point-to-point" by default (better logic optimization)
- 3 layer of Ethernet:
- Layer1: PHY
- Layer2: MAC
- Layer3: PGP ETH V1
Layer 3 Ethernet framing
- 512-bit header and 48-bit footer
- Simplify the logic for 100GbE MAC interface (no AxiStreamShifting required)
- Chuck up the stream to MAX_SIZE (1024B default)
- 91.8% efficient = 1024B/(1024B + 4B FCS + 12B intergap + 8B preamble + 64B PGP Ethernet Header + 4B PGP Ethernet Footer)
- 95.7% efficient = 2048B/(2048B + 4B FCS + 12B intergap + 8B preamble + 64B PGP Ethernet Header + 4B PGP Ethernet Footer)
- 97.8% efficient = 4096B/(4096B + 4B FCS + 12B intergap + 8B preamble + 64B PGP Ethernet Header + 4B PGP Ethernet Footer)
- 98.9% efficient = 8196B/(8196B + 4B FCS + 12B intergap + 8B preamble + 64B PGP Ethernet Header + 4B PGP Ethernet Footer)
- Smaller MAX_SIZE lower the latency for publishing the virtual channel "pause" status to the remote side
- Use the MAC's FCS for error checking
- Virtual channel flow control done at the L3 layer
Word# | Word's BYTE | Type | Name | Description | Note |
---|
0 | [5:0] | Header | DestMac | Destination MAC | |
0 | [11:6] | Header | SrcMac | Source MAC | |
0 | [13:12] | Header | EtherType | TBD Value | |
0 | 14 | Header | Version | 0x1 | |
0 | 15 | Header | TID | Transaction ID | - Increments once per packet
- Used for out-of-order frame reorganizing in network mode
|
0 | [17:16] | Header | Pause | Virtual Channel Pause | - 1 bit per Virtual Channel
|
0 | 18 | Header | VC | Virtual Channel Index | - BIT[3:0]: Virtual Channel Index
- BIT[7:4]: Reserved
|
0 | 19 | Header | tUserFirst | first 8-bits of tUser | |
0 | 20 | Header | OpCodeEn | OP-code Enable | |
0 | [29:20] | Header | Reserved | Reserved | |
0 | [31:30] | Header | HdrXsum | 16-bit Header Checksum | |
0 | [47:32] | Header | OpCodeData | 128-bit OP-code Data | - Supports 64-bit timestamp + more information
|
0 | [63:48] | Header | UserData | 128-bit User Data | - Sampled every packet sent
|
1 | [63:0] | Payload | AXIS Data | User Payload Data | |
... | ... | ... | ... | ... | |
(MAX_SIZE/64) | [63:0] | Payload | AXIS Data | User Payload Data | |
(MAX_SIZE/64)+1 | 0 | Footer | tKeepLast | TKEEP on last payload word | - Converted from byte map to an integer
|
(MAX_SIZE/64)+1 | 1 | Footer | EOF/EOFE | EOF and EOFE marker | |
(MAX_SIZE/64)+1 | [3:2] | Footer | Pause | Virtual Channel Pause | - paused bits are sampled and latched during the payload transport
|
(MAX_SIZE/64)+1 | [5:4] | Footer | PayloadSize | Number of bytes in payload | |