You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

WARNING

Only "point-to-point" mode has been tested.

"Network" mode going through an actual 100GbE network switch (+ stress testing through the switch) has not been done yet.

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
    • Header and payload always 512-bit wide
    • Simplify the logic for 100GbE MAC interface (no AxiStreamShifting required)
  • Chuck up the stream to MAX_SIZE (8196B 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 (instead of ETH pause)
  • Support up to 16 Virtual channels on the same link
    • Same as PGPv3

 

Word#Word's BYTETypeNameDescriptionNote
0[5:0]HeaderDestMacDestination MAC
  • Network mode only
0[11:6]HeaderSrcMacSource MAC
  • Network mode only
0[13:12]HeaderEtherTypeTBD Value
  • Network mode only
014HeaderVersion0x1
  • Hard coded
015HeaderTIDTransaction ID
  • Increments once per packet
  • Used for out-of-order frame reorganizing in network mode
0[17:16]HeaderPauseVirtual Channel Pause
  • 1 bit per Virtual Channel
018HeaderVCVirtual Channel Index
  • BIT[3:0]: Virtual Channel Index
  • BIT[7:4]: Reserved
019HeadertUserFirstfirst 8-bits of tUser 
020HeaderOpCodeEnOP-code Enable 
0[29:20]HeaderReservedReserved
  • Zeros
0[31:30]HeaderHdrXsum16-bit Header Checksum
  • Header Only
0[47:32]HeaderOpCodeData128-bit OP-code Data
  • Supports 64-bit timestamp + more information
0[63:48]HeaderUserData128-bit User Data
  • Sampled every packet sent
1[63:0]PayloadAXIS DataUser Payload Data 
............... 
(MAX_SIZE/64)[63:0]PayloadAXIS DataUser Payload Data 
(MAX_SIZE/64)+10FootertKeepLastTKEEP on last payload word
  • Converted from byte map to an integer
(MAX_SIZE/64)+11FooterEOF/EOFEEOF and EOFE marker
  • BIT0 = EOF, BIT1 = EOFE
(MAX_SIZE/64)+1[3:2]FooterPauseVirtual Channel Pause
  • paused bits are sampled and latched during the payload transport
(MAX_SIZE/64)+1[5:4]FooterPayloadSizeNumber of bytes in payload
  • Units of bytes
  • No labels