Many of the modern applications of microelectronics require hugeamounts of computations. Despite all recent improvements in fabrication technologies, some of these computations have to be performed in hardware in order to meet deadlines. However, controlling computations by software is frequently pre- ferred due to the larger flexibility. Hence, in general, modern applications re- quire a mix of software-based and hardware-based computations. Applications...