Oct 31, 2018
Larry Ruckman
TID-AIR Electronics:
Overview of SURF’s Ethernet Library
What is “SURF”?
2
Typical Ethernet Stack for SURF
3
PHY
MAC
IPv4
UDP
RSSI
High Speed Serial
GMII or XGMII or XLGMII
128-bit AXI Stream
128-bit AXI Stream
128-bit AXI Stream
64-bit AXI Streams
Application Firmware
AxiStreamPacketizer
64-bit AXI Stream
L1
L2
L3
L4
L5
L6
L7
Firmware Ethernet Stack
SURF: ETH PHY (Physical layer)
4
SURF: MAC (Data link layer)
5
MAC RX Engine
MAC TX Engine
From PHY
To PHY
From Network layer(s)
To Network layer(s)
Pause
Flow Control
SURF: (PHY + MAC) Wrappers
6
SURF: IPv4 (Network layer)
7
IPv4 RX Engine
IPv4 TX Engine
ICMP
ARP
From MAC
To MAC
Transport’s ARP Interface(s)
From Transport layer(s)
To Transport layer(s)
SURF: UDP (Transport layer)
8
UDP RX Engine
UDP TX Engine
DHCP
From Network layer
To Network layer
IP Address
To
Server(s)/Client(s)
From
Server(s)/Client(s)
ARP pinging
SURF: (IPv4 + UDP) Wrappers
9
UDP RX Engine
UDP TX Engine
DHCP
To MAC/IPv4
To
Server(s)/Client(s)
From
Server(s)/Client(s)
IPv4 RX Engine
IPv4 TX Engine
ICMP
ARP
From MAC
To MAC
SURF: RSSI (Reliability Layer)
10
SURF: (RSSI + AxiStreamPacketizer) Wrapper
11
SURF: Dev Board Ethernet Performance Results
FW-to-FW Performance:
FW-to-SW Performance:
12
Includes Packetizer
SURF: FW-to-SW Ethernet Performance
13
How to get started?
14
Future Plans for SURF’s Ethernet Library
15
Backup Slides