Document 7667968

Download Report

Transcript Document 7667968

A TCP/IP Based Multi-Device
Programming Circuit
David V. Schuehler – Harvey Ku – John Lockwood
http://www.arl.wustl.edu/arl/projects/fpx
Department of Computer Science and Engineering
Applied Research Laboratory
Goals
• Develop an efficient mechanism for
programming multiple devices
• Program devices with identical content
• Allow devices to be placed throughout the
Internet
• Support a hardware-based solution
– No microprocessor or soft core
Department of Computer Science and Engineering
Applied Research Laboratory
Solution
• A hardware circuit which extracts device
configuration information from TCP/IP data
flow
Reconfigurable
Device 1
Reconfigurable
Device 2
Reconfigurable
Device 3
PC
PC
TCP/IP
data flow
Internet
Department of Computer Science and Engineering
Applied Research Laboratory
End Point
System Configuration
• Programming Station
– Transmits configuration file
• End Station
– Terminates TCP/IP connection
– Acts as data sink
• One or More Target Devices
– Contains programmer circuit & target component
• Network Connectivity
– IP route from programmer to each device and end station
Department of Computer Science and Engineering
Applied Research Laboratory
Development Platform
FPX Module
Oscillators
Static Ram
RAD
(XCV2000E)
NID (XCV600E)
PROM
Department of Computer Science and Engineering
Applied Research Laboratory
Data
SDRAM
Data
SRAM
Module
Module
Data
SDRAM
Data
SRAM
RAD
VC
VC
RAD
Program
SRAM
VC
EC
FPX Internal Structure
VC
NID
EC
Switch
LineCard
RAD: Reprogrammable
Application Device
•Xilinx XCV2000E FPGA
•External SRAM/SDRAM
•Reprogrammable
NID: Network Interface
Device
•XCV600E FPGA
•Controls FPX
•Programs RAD
•Forwards traffic
Department of Computer Science and Engineering
Applied Research Laboratory
Programmer Circuit
Components
IP frames
TCP Splitter
Byte Stream
Multi-Device Programmer
IP Wrapper
AAL5 Frame Wrapper
ATM Cell Wrapper
Department of Computer Science and Engineering
Applied Research Laboratory
Programming Data
IP frames
Testing Configuration
Programmer FPX
RAD
Target FPX
RAD
Programmer
Field Programmable
Gate Array
TCP
Splitter
IP Wrapper
Frame Wrapper
Cell Wrapper
Reconfiguration
Bitstream
NID
TCP-Formatted
Data
NID
Outgoing TCP-Formatted Data
(to next device)
Department of Computer Science and Engineering
Applied Research Laboratory
Washington University
Gigabit Switch Environment
Stacked
FPX Modules
Department of Computer Science and Engineering
Applied Research Laboratory
Stacked FPX Devices
Target
SRAM
Two Stacked
FPX Devices
WUGS
I/O port
SDRAM
NID
RAD
Programmer
WUGS Switch Elements
Department of Computer Science and Engineering
Applied Research Laboratory
RAD
NID
SRAM
SDRAM
I/O port
Programmer Results
Programmer +
TCP-Splitter +
Protocol Wrappers
Post Place & Route Clock
Frequency
71.76 MHz
Slice Flip Flops
5668 (14%)
LUTs
5210 (13%)
Block RAM
47 (29%)
Time to program 3 devices
with 2.2MByte config file
1.102 seconds
Department of Computer Science and Engineering
Applied Research Laboratory
Comparative Transmit Performance
(1MByte bitfile) (wide area throughput = 8Mb/s) (switch delay = 100usec)
Devices
Programmed
One-at-a-time
Programming
Multi-Device
Programming
(N)
(N*filesize/bitrate)
(size/rate + N*delay)
1
1 sec
1 sec
10
10 sec
1 sec
100
1.7 min
1 sec
1,000
16.7 min
1.1 sec
10,000
2.8 hrs
2 sec
100,000
1.2 days
11 sec
Department of Computer Science and Engineering
Applied Research Laboratory
Comparative Transmit Performance
(1MByte bitfile) (wide area throughput = 80Mb/s) (switch delay = 100usec)
Devices
Programmed
One-at-a-time
Programming
Multi-Device
Programming
(N)
(N*filesize/bitrate)
(size/rate + N*delay)
1
.1 sec
.1 sec
10
1 sec
.1 sec
100
10 sec
.1 sec
1,000
1.7 min
.2 sec
10,000
16.7 min
1.1 sec
100,000
2.8 hrs
10.1 sec
Department of Computer Science and Engineering
Applied Research Laboratory
Summary
• A hardware circuit has been developed
which supports the simultaneous
programming of multiple devices
• Devices can be dispersed throughout the
Internet at disparate locations
• Programming information is transmitted
once and received by all devices
• Simple to add or remove devices from
programming chain
Department of Computer Science and Engineering
Applied Research Laboratory
Multi-Device Programmer
• A hardware circuit which extracts device
configuration information from TCP/IP data
flow and programs remote devices
Reconfigurable
Device 1
Reconfigurable
Device 2
Reconfigurable
Device 3
PC
PC
TCP/IP
data flow
Internet
Department of Computer Science and Engineering
Applied Research Laboratory
End Point
Configuration
Programmer FPX
RAD
Target FPX
RAD
Programmer
Field Programmable
Gate Array
TCP
Splitter
IP Wrapper
Frame Wrapper
Cell Wrapper
Reconfiguration
Bitstream
NID
TCP-Formatted
Data
NID
Outgoing TCP-Formatted Data
(to next device)
Department of Computer Science and Engineering
Applied Research Laboratory