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
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
Top Related