High Speed Digital Design Project SpaceWire Router Student: Asaf Bercovich Instructor: Mony Orbach...

Post on 26-Dec-2015

216 views 0 download

Tags:

Transcript of High Speed Digital Design Project SpaceWire Router Student: Asaf Bercovich Instructor: Mony Orbach...

High Speed Digital Design ProjectHigh Speed Digital Design Project

SpaceWire RouterSpaceWire Router

Student: Asaf Bercovich

Instructor: Mony Orbach

Semester: Winter 2009/2010

2-Semester Project

Date: Januar 2010

Part B - Final Presentation

Project GoalProject Goal• Designing a SpaceWire Switch Core (Router)

compatible to ECSS-E-50-12A standard with the “Path Addressing” routing scheme.

• Designing a SpaceWire Switch Core (Router) compatible to ECSS-E-50-12A standard with the “Path Addressing” routing scheme.

Project ResultsProject Results• D1117_SPWPort – SpaceWire Network Device• D1117_SPWRepeater – SpaceWire Network Repeater• D1117_SPWRouter – SpaceWire Router

• D1117_SPWPort – SpaceWire Network Device• D1117_SPWRepeater – SpaceWire Network Repeater• D1117_SPWRouter – SpaceWire Router

System TopologySystem Topology

SpaceWire RouterSpaceWire Router

System TopologySystem Topology

D1117_SPWRouterD1117_SPWRouter

PORT

• Low latency

• Point-to-point

• Wormhole Routing

• Asynchronous communication

• Path Addressing

• 100 Mb/s of Total Traffic.

Layer 2 (Character Level) Network Port

ReceiverReceiver

D1117 SpaceWire PortD1117 SpaceWire PortArchitectureArchitecture

Port Controller

Port Controller

DinDin

SinSin

DoutDout

SoutSout

Sys ClockSys Clock

ResetReset

RX DATA / ControlRX DATA / Control

TX DATA / ControlTX DATA / Control

Link Start Link Start

State MachineState Machine

TransmitterTransmitter

FIFOFIFORX CLOCKRX CLOCK

FIFOFIFO

WriteWrite

ReadyReady

ReadyReady

ReadRead

ReadRead

ReadyReady

ReadyReady

WriteWrite

Link ReadyLink Ready

Tx ClockTx Clock

System TopologySystem Topology

D1117_SPWRouterD1117_SPWRouter

PORT

• Low latency

• Point-to-point

• Wormhole Routing

• Asynchronous communication

• Path Addressing

• 100 Mb/s of Total Traffic.

SpaceWire Packet FormatSpaceWire Packet Format

<DESTINATION<<CARGO<<END OF PACKET<

SpaceWire Packet

A SpaceWire ‘Routing Switch’ shall transfer packets from the input port of the switch where the packet arrives, to a particular output port determined by the packet destination address.

SpaceWire ‘Routing Switch’SpaceWire ‘Routing Switch’

Routing with Path-AddressingRouting with Path-Addressing

4 3 2 Cargo EOP 4 3 2 Cargo EOP

Layer 2 RepeaterLayer 2 Repeater

SP

W P

ort-0

Re

ad

Inte

rfac

eRX_EMPTY

READ_EN

RX_CONTROL

RX_DATASP

W P

ort

-1

Wri

te I

nte

rfa

ce TX_FULL

TX_WRITE

TX_CONTROL

TX_DATA

SpaceWire Connection Broker

Spa

ceWire signa

ls

Spa

ceWire signa

ls

D1117_SPWRepeater

ENABLE

Router ArchitectureRouter Architecture

Re

ad

Inte

rfac

e

Read Interface S

paceWire M

ux

SP

W P

ort-0

Re

ad

Inte

rfac

e

RX_EMPTY

READ_EN

RX_CONTROL

RX_DATA

SP

W P

ort-1

Re

ad

Inte

rfac

e

RX_EMPTY

READ_EN

RX_CONTROL

RX_DATA

SP

W P

ort-2

Re

ad

Inte

rfac

e

RX_EMPTY

READ_EN

RX_CONTROL

RX_DATA

SP

W P

ort

-0

Wri

te I

nte

rfa

ce TX_FULL

TX_WRITE

TX_CONTROL

TX_DATA

SP

W P

ort

-1

Wri

te I

nte

rfa

ce TX_FULL

TX_WRITE

TX_CONTROL

TX_DATA

SP

W P

ort

-2

Wri

te I

nte

rfa

ce TX_FULL

TX_WRITE

TX_CONTROL

TX_DATA

Wri

te I

nte

rfa

ce

Writ

e In

terf

ace

Spa

ceW

ire M

ux

RX_EMPTY

READ_EN

RX_CONTROL

RX_DATA

TX_FULL

TX_WRITE`

TX_CONTROL

TX_DATA

SpaceWire Connection Broker

Source Address Register

SpaceWire Router Control

HE

AD

ER

_D

EL

ET

ION

EN

_D

ES

T_

AD

DR

_R

EG

IST

ER

REGISTERED_SOURCE_ADDR

Packet Detection

Unit

Destination Address Register

REGISTERED_DEST_ADDR

SYSTEM_CLOCK

EN

_S

OU

RC

E_

AD

DR

_R

EG

IST

ER

EOP Detection

Unit

EN

_P

AC

KE

T_D

EL

IVE

RY

PACKET_DETECTEDEOP_DETECTED

Router ControllerRouter Controller

PACKET_DETECTED=1EOP_DETECTED=1

“CONFIGURESOURCEADDRESS”

EN_SRC_ADDR_REGISTER = 1 All other controller output signals are zero.

“CONFIGUREDESTINATION

ADDRESS”

EN_DEST_ADDR_REGISTER = 1HEADER_DELETION = 1

All other controller output signals are zero.

“WAIT FOR EOP/EEP”

EN_PACKET_DELIVERY = 1All other controller output signals are zero.

“IDLE”

All controller output signals are zero.

“RESET”

SPW PORT RESET = 1All other controller output signals are zero.

Hardware in testHardware in test

• GR-RASTA running D1117_SPWRouteras SpaceWire router.

• Gaisler GRESB – Gaisler Ethernet Bridge.(To be explained.)

• 3 PCs as SpacWire stations connected to one D1117 SpaceWire Router. Together they form a SpaceWire network based on ‘Path Addressing’ routing.

• GR-RASTA running D1117_SPWRouteras SpaceWire router.

• Gaisler GRESB – Gaisler Ethernet Bridge.(To be explained.)

• 3 PCs as SpacWire stations connected to one D1117 SpaceWire Router. Together they form a SpaceWire network based on ‘Path Addressing’ routing.

Software in testSoftware in test

• TCP Test Tool 2.3 Freeware.www.SimpleComTools.com

• TCP Test Tool 2.3 Freeware.www.SimpleComTools.com

Main Test TopologyMain Test Topology

Core : D1117 SpaceWire RouterFPGA : GR-RASTA

SPW-0 SPW-1 SPW-2

Logic LinkPC-0

OS: WindowsPC-1

OS: WindowsPC-2

OS: Windows

Main Test TopologyMain Test Topology

Core : D1117 SpaceWire RouterFPGA : GR-RASTA

SPW-0 SPW-1 SPW-2

PC-0OS: Windows

PC-1OS: Windows

PC-2OS: Windows

Gaisler SpaceWire Ethernet BridgeSPW-0 SPW-1 SPW-2

Ethernet

Ethernet

SpaceW

ire

SpaceWire Ethernet BridgeSpaceWire Ethernet Bridge

Gaisler SpaceWire Ethernet BridgeSPW-0 SPW-1 SPW-2

EthernetSPW Physical Port Ethernet/IPv4/TCP - Transmit

Ethernet/IPv4/TCP - Receive

#0 SPW-0 2000 2001

#1 SPW-1 3000 3001

#2 SPW-2 4000 4001

Main Test TopologyMain Test Topology

Core : D1117 SpaceWire RouterFPGA : GR-RASTA

SPW-0 SPW-1 SPW-2

PC-0OS: Windows

PC-1OS: Windows

PC-2OS: Windows

Gaisler SpaceWire Ethernet BridgeSPW-0 SPW-1 SPW-2

Ethernet

Ethernet

SpaceW

ire

PC-0PC-0

Path Address Destination Address

Cargo

TCP Message Header specifying transmission of a SpaceWire packet the size of 6 bytes.

IP Address of GRESB on the IP network.

The TCP Listening Socket on the GRESB.

2000 TCP port corresponds for transmission on SpaceWire port 0.

Send button for dispatching the TCP Message to GRESB

Main Test TopologyMain Test Topology

Core : D1117 SpaceWire RouterFPGA : GR-RASTA

SPW-0 SPW-1 SPW-2

PC-0OS: Windows

PC-1OS: Windows

PC-2OS: Windows

Gaisler SpaceWire Ethernet BridgeSPW-0 SPW-1 SPW-2

Ethernet

Ethernet

SpaceW

ire

PC-1PC-1

Encapsulated SpaceWire PacketTCP Message Header

specifying reception of a SpaceWire packet the size of 5 bytes.

Test MiscellaneousTest Miscellaneous

• “2 Routers Topology” was tested in addition to the “Main Topology” to simulate complex routes in a SpaceWire network with more then one router.

• D1117_SPWRouter delivered successfully thousands of SpaceWire packets originated in PCs, to correct destinations which are PCs as well on the same SpaceWire network.

• “2 Routers Topology” was tested in addition to the “Main Topology” to simulate complex routes in a SpaceWire network with more then one router.

• D1117_SPWRouter delivered successfully thousands of SpaceWire packets originated in PCs, to correct destinations which are PCs as well on the same SpaceWire network.

Further Possibilities Further Possibilities

• The router can be redesigned for multiple connections ‘routing matrix’. Currently the datapath of the router can only support one simultaneous connection from port to port.

• The router can be extended to support more SpaceWire routing schemes. (Not just Path Addressing + Header Deletion).

• The router can be redesigned for higher data rate ~200Mhz on the XC2v6000 FPGA using pipeline design.

• Writing a software Device Driver for windows to virtually make GRESB a SpaceWire network connection on a PC. It can be done by implementing a Device Driver which exposes an Ethernet Device abstraction towards Windows and on the other side, coding SpaceWire packets on GRESB. Such a Device Driver actually solves the problem of “Ethernet over SpaceWire” for PC.

• The router can be redesigned for multiple connections ‘routing matrix’. Currently the datapath of the router can only support one simultaneous connection from port to port.

• The router can be extended to support more SpaceWire routing schemes. (Not just Path Addressing + Header Deletion).

• The router can be redesigned for higher data rate ~200Mhz on the XC2v6000 FPGA using pipeline design.

• Writing a software Device Driver for windows to virtually make GRESB a SpaceWire network connection on a PC. It can be done by implementing a Device Driver which exposes an Ethernet Device abstraction towards Windows and on the other side, coding SpaceWire packets on GRESB. Such a Device Driver actually solves the problem of “Ethernet over SpaceWire” for PC.

EndEnd