A TCP/IP Based Multi-Device Programming Circuit

Post on 03-Jan-2016

41 views 1 download

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

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

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

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

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

Department of Computer Science and Engineering

Applied Research Laboratory

Development Platform FPX Module

OscillatorsStatic Ram

NID (XCV600E)

RAD (XCV2000E)

PROM

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

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

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

Department of Computer Science and Engineering

Applied Research Laboratory

Washington UniversityGigabit Switch Environment

StackedFPX Modules

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

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

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

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

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

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

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