High Speed Digital Design Project
description
Transcript of High Speed Digital Design Project
![Page 1: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/1.jpg)
High Speed Digital Design ProjectSpaceWire Router
Student: Asaf BercovichInstructor: Mony OrbachSemester: Winter 2009/20102-Semester ProjectDate: Januar 2010
Part B - Final Presentation
![Page 2: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/2.jpg)
Project Goal• Designing a SpaceWire Switch Core (Router)
compatible to ECSS-E-50-12A standard with the “Path Addressing” routing scheme.
Project Results• D1117_SPWPort – SpaceWire Network Device• D1117_SPWRepeater – SpaceWire Network Repeater• D1117_SPWRouter – SpaceWire Router
![Page 3: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/3.jpg)
System Topology
SpaceWire Router
![Page 4: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/4.jpg)
System Topology
D1117_SPWRouter
PORT
• Low latency• Point-to-point• Wormhole
Routing• Asynchronous
communication• Path Addressing• 100 Mb/s of Total
Traffic.
![Page 5: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/5.jpg)
Layer 2 (Character Level) Network Port
Receiver
D1117 SpaceWire PortArchitecture
Port Controller
DinSin
DoutSout
Sys Clock
Reset
RX DATA / Control
TX DATA / Control
Link Start
State Machine
Transmitter
FIFORX CLOCK
FIFO
Write
Ready
ReadyRead
Read
Ready
ReadyWrite
Link Ready
Tx Clock
![Page 6: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/6.jpg)
System Topology
D1117_SPWRouter
PORT
• Low latency• Point-to-point• Wormhole
Routing• Asynchronous
communication• Path Addressing• 100 Mb/s of Total
Traffic.
![Page 7: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/7.jpg)
SpaceWire 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’
![Page 8: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/8.jpg)
Routing with Path-Addressing
4 3 2 Cargo EOP
![Page 9: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/9.jpg)
Layer 2 Repeater
SPW Port-0
Read Interface
RX_EMPTY
READ_EN
RX_CONTROL
RX_DATASPW
Por
t-1
Writ
e In
terf
ace TX_FULL
TX_WRITE
TX_CONTROL
TX_DATA
SpaceWire Connection Broker
SpaceW
ire signals
SpaceW
ire signals
D1117_SPWRepeater
ENABLE
![Page 10: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/10.jpg)
Router Architecture
Read Interface
Read Interface S
paceWire M
ux
SPW Port-0
Read Interface
RX_EMPTY
READ_EN
RX_CONTROL
RX_DATA
SPW Port-1
Read Interface
RX_EMPTY
READ_EN
RX_CONTROL
RX_DATA
SPW Port-2
Read Interface
RX_EMPTY
READ_EN
RX_CONTROL
RX_DATA
SPW
Por
t-0
Writ
e In
terf
ace TX_FULL
TX_WRITE
TX_CONTROL
TX_DATA
SPW
Por
t-1
Writ
e In
terf
ace TX_FULL
TX_WRITE
TX_CONTROL
TX_DATA
SPW
Por
t-2
Writ
e In
terf
ace TX_FULL
TX_WRITE
TX_CONTROL
TX_DATA
Writ
e In
terf
ace
Writ
e In
terfa
ce S
pace
Wire
Mux
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
HEA
DER
_DELETIO
N
EN_D
EST_AD
DR
_REG
ISTER
REGISTERED_SOURCE_ADDR
Packet Detection
Unit
Destination Address Register
REGISTERED_DEST_ADDR
SYSTEM_CLOCK
EN_SO
UR
CE_A
DD
R_R
EGISTER
EOP Detection
Unit
EN_PA
CK
ET_DELIVERY
PACKET_DETECTEDEOP_DETECTED
![Page 11: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/11.jpg)
Router 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 = 1
HEADER_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.
![Page 12: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/12.jpg)
Hardware in test• GR-RASTA running D1117_SPWRouter
as 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.
![Page 13: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/13.jpg)
Software in test• TCP Test Tool 2.3 Freeware.
www.SimpleComTools.com
![Page 14: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/14.jpg)
Main 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
![Page 15: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/15.jpg)
Main 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
![Page 16: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/16.jpg)
SpaceWire 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
![Page 17: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/17.jpg)
Main 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
![Page 18: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/18.jpg)
PC-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
![Page 19: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/19.jpg)
Main 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
![Page 20: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/20.jpg)
PC-1
Encapsulated SpaceWire PacketTCP Message Header
specifying reception of a SpaceWire packet the size of 5 bytes.
![Page 21: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/21.jpg)
Test 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.
![Page 22: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/22.jpg)
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.
![Page 23: High Speed Digital Design Project](https://reader036.fdocuments.net/reader036/viewer/2022062410/568162ec550346895dd36b8d/html5/thumbnails/23.jpg)
End