To illustrate its OCAPI-xl C++ based system design environment at the recent DAC show in Las Vegas, IMEC, a European research centre for the development and licensing of microelectronics, developed an Internet camera with both hardware and software components that could be reconfigured over the network at run-time.
The Web cam used a secure Virtual Private Network link to serve moving images. Using a Web browser, the user could select from a number of image manipulation plug-ins stored on a reconfiguration server. The server then up-loaded the new image manipulation services and dynamically reconfigured the Web cam’s hardware and software to implement the new functionality.
The demonstrator consisted of a processor running µClinux and a custom designed board with two Xilinx Virtex800 FPGAs. The board was connected to an IBIS4-camera developed by an IMEC spin-off, FillFactory. The embedded software was developed on top of a standard third-party embedded Linux platform and handled the network protocol layers, as well as the (re-)configuration and control of the FPGAs.
The use of Linux simplified the re-use of open-source software modules, enabling the development of a software (C/C++) reference of the full system in a very short time. From the software reference model, the design of the hardware-accelerated modules which are executed on the FPGAs, was initiated. The complete design was done in OCAPI-xl, IMEC’s C++ based design environment.
FPGAs offer the performance and flexibility required for a demanding set of camera image acquisition functions which range from the camera interface (sampling rate of 10 MHz), colour reconstruction, user-dependent image manipulation, JPEG compression and 3DES encryption, implemented in the VPN IPSEC security layer. A number of image manipulation functions, selectable at run-time by the user from a web browser, demonstrated the concept of networked reconfiguration.
To support reconfigurable appliances, IMEC has also developed a new protocol (Boot-UP Reconfigurable Platforms Protocol – BRPP) which during boot-up, enables the reconfigurable embedded device to locate the local reconfiguration server where various hardware and software options are stored. Once located, the appliance negotiates its characteristics with the server and selects from a list of available services provided by the server. On request, the reconfiguration server uploads new services to the platform. The platform dynamically reconfigures its FPGAs and adapts the HW/SW communication to interface to the new service.
‘In the coming decade, we will be surrounded by smart networked devices. The dumb appliances of today will be upgraded with processing and communication power, connecting you to the world wherever you are,’ says Dr. Rudy Lauwereins, Vice President DESICS. ‘This new technology that enables reconfigurability at run-time is one of the key technologies to open up a whole new market for Internet reconfigurable appliances.’