Closed-loop-based self-adaptive Hardware/Software-Embedded systems: Design methodology and smart cam case study
In this paper we first outline and discuss the issues of currently accepted computational models for hybrid CPU/FPGA systems. Then, we discuss the need for researchers to develop new high-level programming models, and not just focus on extensions to programming languages, for enabling accessibility and portability of standard high level applications across the CPU/FPGA boundary. We then present hthreads, a unifying programming model for specifying application threads running within a hybrid CPU/FPGA system. Threads are specified from a single pthreads (POSIX threads) multithreaded application program and compiled to run on the CPU or synthesized to run on the FPGA. The hthreads system, in general, is unique within the reconfigurable computing community as it abstracts the CPU/FPGA components into a unified custom threaded multiprocessor architecture platform. A hardware thread interface (HWTI) component has been developed that provides an abstract, platform-independent compilation target. Thus, the HWTI enables the use of standard thread communication and synchronization operations across the software/hardware boundary.