
work, while a proxy-based access interface abstracts the internals of each board, al-
lowing integration at the API level.
The paper is organized as follows: Section 2 presents the background work and
motivation on remote access to FPGA boards; Section 3 shows the advantages of
using loosely-coupled networks to support the dynamic location and leasing of such
boards; Section 4 presents some usage scenarios for such technology; and the paper is
closed with conclusions and perspectives for the future.
2 Motivation and Background Work
The remote access to FPGA devices can be useful in many of the domains where
reconfigurable hardware is used nowadays [1,2]. A typical example is the remote
upgrade of systems which are already deployed, such as a distributed network of
sensors. The usage of FPGAs as prototyping platforms can also benefit from remote
access, specially when the prototyped system must receive data from external sources
or when it interacts with other subsystems that cannot be physically integrated. An-
other possibility, which is the actual focus of this paper, is the remote access to FPGA
boards for educational purposes. In such case the students/designers must not be
physically co-located with the FPGA resources they want to use, opening a range of
possibilities of distant learning where practical design activities can also be per-
formed. This possibility was already explored in [3]. Our approach extend the ap-
proaches presented in [2] and [3] by introducing a lookup-based system where FPGA
resources can be dynamically located when needed. Some advantages of the proposed
system over previous work:
- more efficient usage of the FPGA resources can be achieved, because all
boards can be made available at any time to every student/designer, so every
one can be served as long as there is at least one board available;
- there is no need for a fixed network locator for each FPGA device. Thus,
devices can be safely removed from the network when they are not in use
(no user will get a “error 404: device unavailable” message, as the binding
between the user and the board is dynamically resolved;
- devices can be also added dynamically, without any notification to the users.
The newly added devices will be available immediately after their proxy is
uploaded to the lookup server.
The remote access procedure must allow the user to change the configuration of
the FPGA – this is usually done by uploading to the device a configuration file, which
is generated by the design automation tools according to the user’s desire for the
device functionality. Furthermore, it is also necessary to provide an interface to send
and receive data to the FPGA, so the configured functionality can be put into use. To
do so, we had to reduce the integration overhead of the FPGA modules and their host
computers. In [4], we proposed to reduce such overhead by raising the level of ab-
straction of the integration architecture, allowing the communication to be done via
message passing, following the object-oriented paradigm. By using this approach,
each FPGA module can be seen by the rest of the system as an object. Thus, it should
be reconfigured and used through method calls. This simplifies significantly the inte-
2