I. Virtual Hardware and Multicontext FPGAs
Recent dynamic reconfigurable FPGAs (Field Programmable Gate Array) or CPLDs (Complex Programmable Logic Devices) have made possible new varieties of reconfigurable systems or custom computing machines [1]. In these systems, an algorithm is translated into an FPGA configuration and executed directly. However, a major obstacle has limited the use of these systems, that is, the size of available FPGAs has restricted their application to small problems.