Microelectronic Systems Institute Leandro Soares Indrusiak Manfred Glesner Ricardo Reis Lookup-based...

Post on 03-Jan-2016

213 views 0 download

Tags:

Transcript of Microelectronic Systems Institute Leandro Soares Indrusiak Manfred Glesner Ricardo Reis Lookup-based...

Microelectronic Systems Institute

Leandro Soares Indrusiak

Manfred Glesner

Ricardo Reis

Lookup-based Remote Laboratory for FPGA Digital Design Prototyping

Virtual-Lab 2004Setubal, Portugal

2

Outline

• Motivation and Background– why FPGAs?

• Underlying software platform– why lookup-based?

• Remote Laboratory of Digital Design– what are the advantages?– and how about the disadvantages?

• Conclusions and Future Work

3

Motivation and Background

• the design of digital electronic systems comprehends several rather complex tasks

• prototyping is necessary, for instance:– evaluation of the functionality by the end

user– evaluation of performance, power

consumption, heat dissipation, etc. under real operation conditions

4

Motivation and Background

• prototyping of digital integrated circuits (ASICs) is really expensive

• FPGAs have been used by both companies and universities as prototyping platforms

• in some cases, FPGAs are even incorporated to consumer products

5

Motivation and Background

• XCV800 Xilinx Virtex FPGA– 888.439 system gates– 487.44 HZ – 100MHZ– 166 IO-Pins

• 2 SRAM-Banks– each 512K*16 Bit

• 16 Mbit Flash RAM

www.xess.com

6

Motivation and Background

• FPGAs offer– lower cost– more flexibility– faster prototyping cycles– affordable CAD support

• furthermore– on-the-field updates, reconfigurability

(partial and total), etc.

7

Software Platform

• remote access to FPGAs– prototyped system must receive data from

external sources – prototyped system interacts with other

subsystems that cannot be physically integrated

– users may not be physically co-located with the FPGA resources they want to use

• software layer to ease remote access is needed

8

Software Platform

• FPGAs should be accessed regardless of their network location or implementation details

Network

FPGA Platform AFPGA Platform B

FPGA Platform C

CLIENTprocess

process

processconfigureconfigure

9

Software Platform

configuration bank

sub system

A

sub system

B

• our approach: FPGA encapsulation

10

Software Platform

– TCP/IP based– middleware-based

approach• loose coupling between

clients and servers• alternatives: CORBA,

Jini, UPnP, webservices (UDDI+SOAP), etc.

client server

middleware

queries for

service

advertisesservice

• FPGA distribution over a network

11

Software Platform

• Jini – it comprehends a Java-based set of APIs and

network protocols that support development and deployment of distributed systems organized as federations of services that are highly adaptive to change

– most of the facilities for service lookup, discovery and join are already implemented and freely available

– includes a programming model covering leases, events and transactions

12

Software Platform

• Jini – Jini view of the network doesn't involve a

central controlling authority– the set of all services available on the network

form a federation - a group composed of equal peers

– Jini's infrastructure provides a way for clients and services to find each other

13

Software Platform

• the basic mechanisms for adding, removing, finding and accessing services rely on the following protocols– discovery: supports both service providers

and clients on the location of lookup servers– join: allows the service providers to take part

on a federation of services by registering with a lookup server

– lookup: supports clients looking for services within the federation

14

Software Platform

Server

Server

discovery

15

Software Platform

Lookup Server

Proxy

Proxy

join

Server

Server

16

Software Platform

Lookup Server

Proxy

Proxy

Server

Server

Client

discovery

17

Software Platform

Lookup Server

Proxy

Proxy

Server

Server

Client

lookup

key

matches

18

Software Platform

Lookup Server

Proxy

Server

Server

Client

Proxy

19

Software Platform

lookup serviceclientreconfigurable

hardware service backend service configuration bank

create( )

registerService( )

discoverLookup( )

lookupService( )

configure( )getConfiguration( )

configure( )

process( )

process( )

discoverLookup( )

20

Digital Design Remote Lab• laboratory activities usually involve iterations

over design entry, simulation, synthesis, analysis and prototypation phases

• a typical design problem is given (e.g. design a triple-DES encryption/decryption module able to support a rate of 100 Mbits/s) and the students work over the CAD tools to achieve an acceptable solution

• once an implementation is achieved, an FPGA configuration file can be generated and the design can be remotely prototyped using the proposed infrastructure

21

Digital Design Remote Lab

Network

Reconfigurable Platform B

student

processconfigure

Reconfigurable Platform A

image/video

22

Digital Design Remote Lab

reconfigurable hardware

module

reconfigurable hardware service

& lookup service

client

23

Digital Design Remote Lab

• advantages– students can access the lab anywhere and

anytime– boards can be shared more efficiently– international design contests– video feed can provide further possibilities by

providing visual feedback from measuring instruments

– Java-based approach allows for platform independence

24

Digital Design Remote Lab

• disadvantages– setting up both software and hardware

infrastructure can be complicated– currently rely on general purpose video

streaming (Microsoft Portrait) and communication (ICQ) packages, which are not available on every platform

– working with different FPGA platforms adds complexity

• board sharing is more difficult, as configurations must be specifically generated

• backend module is board-dependent

25

Conclusions

• the technical infrastructure to build efficient access to remote FPGA boards was presented

• such infrastructure was used to set a remote laboratory for prototyping digital integrated circuits, allowing more flexibility and efficiency than the previously reported approaches

26

Conclusions

• maintenance costs are lower, but setup costs are higher

• lack more detailed data about student acceptance

• lack more work on the integration of remote lab and lectures and/or online courses

27

Future Work

• integration of the encapsulated FPGA boards within a simulation environment, allowing the users to validate parts of the system simulation model with the parts of the system which are already implemented in the FPGA board

• develop intelligent service proxies, in order to allow an FPGA board to use other services

28

Thanks for your attention

Microelectronic Systems Institute

http://www.microelectronic.e-technik.tu-darmstadt.de http://www.inf.ufrgs.br

Leandro Soares Indrusiak

Manfred Glesner

Ricardo Reis

<indrusiak, glesner>@mes.tu-darmstadt.de

reis@inf.ufrgs.br

29

Software Platform

• data type abstraction

ba

cken

d

int

float

int[ ]

10101110101011101010101010101010100101010101010010101010101001001010100111001010101010011100100001011111

mem

ory

hard

war

e de

sign

mem

ory

inte

rfac

e ty

pe a

bstr

actio

n

std_

logi

c_ve

ctor

bit_

vect

or

object domain hardware domain