A TCP/IP Based Multi-Device Programming Circuit

16
Department of Computer Science and Engineering Applied Research Laboratory A TCP/IP Based Multi- Device Programming Circuit David V. Schuehler – Harvey Ku – John Lockwood http://www.arl.wustl.edu/arl/projects/fpx

description

A TCP/IP Based Multi-Device Programming Circuit. David V. Schuehler – Harvey Ku – John Lockwood http://www.arl.wustl.edu/arl/projects/fpx. Goals. Develop an efficient mechanism for programming multiple devices Program devices with identical content - PowerPoint PPT Presentation

Transcript of A TCP/IP Based Multi-Device Programming Circuit

Page 1: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

A TCP/IP Based Multi-Device Programming Circuit

David V. Schuehler – Harvey Ku – John Lockwood

http://www.arl.wustl.edu/arl/projects/fpx

Page 2: A TCP/IP Based Multi-Device Programming Circuit

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

Page 3: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Solution

PCPCPCPCInternet

PCPCPCPC

ReconfigurableDevice 1

End Point

ReconfigurableDevice 2

ReconfigurableDevice 3

TCP/IPdata flow

• A hardware circuit which extracts device configuration information from TCP/IP data flow

Page 4: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

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

Page 5: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Development Platform FPX Module

OscillatorsStatic Ram

NID (XCV600E)

RAD (XCV2000E)

PROM

Page 6: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

FPX Internal Structure

SRAM

EC

Mo

du

le

EC

NID

Switch LineCard

Mo

du

le

RAD

VC VC

VCVC

RAD

Program

SDRAM SDRAM

Data Data

SRAM

Data

SRAM

Data

RAD: Reprogrammable Application Device

•Xilinx XCV2000E FPGA

•External SRAM/SDRAM

•Reprogrammable

NID: Network Interface Device

•XCV600E FPGA

•Controls FPX

•Programs RAD

•Forwards traffic

Page 7: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Programmer Circuit Components

ATM Cell Wrapper

Multi-Device Programmer

TCP Splitter

AAL5 Frame Wrapper

IP Wrapper

IP frames

Byt

e S

trea

m

IP frames

Programming Data

Page 8: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Testing Configuration

RAD

NID

RAD

NID

Programmer FPX Target FPX

TCP-FormattedData

Outgoing TCP-Formatted Data(to next device)

ReconfigurationBitstream

Field ProgrammableGate Array

Programmer

TCPSplitter

IP WrapperFrame WrapperCell Wrapper

Page 9: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Washington UniversityGigabit Switch Environment

StackedFPX Modules

Page 10: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Stacked FPX Devices

WUGS

I/O port I/O portWUGS Switch Elements

Two StackedFPX Devices NID RAD SRAM

SDRAM

NIDRADSRAM

SDRAM

Programmer

Target

Page 11: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Programmer ResultsProgrammer +

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

Page 12: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Comparative Transmit Performance(1MByte bitfile) (wide area throughput = 8Mb/s) (switch delay = 100usec)

Devices Programmed(N)

One-at-a-time

Programming(N*filesize/bitrate)

Multi-Device

Programming(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

Page 13: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Comparative Transmit Performance(1MByte bitfile) (wide area throughput = 80Mb/s) (switch delay = 100usec)

Devices Programmed(N)

One-at-a-time

Programming(N*filesize/bitrate)

Multi-Device

Programming(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

Page 14: A TCP/IP Based Multi-Device Programming Circuit

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

Page 15: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Multi-Device Programmer

PCPCPCPCInternet

PCPCPCPC

ReconfigurableDevice 1

End Point

ReconfigurableDevice 2

ReconfigurableDevice 3

TCP/IPdata flow

• A hardware circuit which extracts device configuration information from TCP/IP data flow and programs remote devices

Page 16: A TCP/IP Based Multi-Device Programming Circuit

Department of Computer Science and Engineering

Applied Research Laboratory

Configuration

RAD

NID

RAD

NID

Programmer FPX Target FPX

TCP-FormattedData

Outgoing TCP-Formatted Data(to next device)

ReconfigurationBitstream

Field ProgrammableGate Array

Programmer

TCPSplitter

IP WrapperFrame WrapperCell Wrapper