We present tools that support the runtime execution of applications that mix software running on networks of workstations and reconfigurable hardware. We use JHDL to describe the reconfigurable hardware, and JavaPorts to handle the communications between nodes in the network. The heterogeneous resources are handled by interposing a communication layer between the application and the hardware. The communication layer provides (i) the ability to modify the target hardware without modifying the application, (ii) co-design of the application and hardware, (iii) simulation of the entire system before the hardware design is complete, and (iv) remote execution so the application can reside on a different host from the hardware. We demonstrate the feasibility of this approach with a Java-based system which has a communication layer called the Packet Exchange Platform (PEP). We present the system, describe the PEP and its implementation, and show how this approach has been applied to an image ...
Laurie A. Smith King, Heather Quinn, Miriam Leeser