Enabling a Uniform Programming Model Across the Software/Hardware Boundary

  • Authors:
  • Erik Anderson;Jason Agron;Wesley Peck;Jim Stevens;Fabrice Baijot;Ed Komp;Ron Sass;David Andrews

  • Affiliations:
  • University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS;University of Kansas, Lawrence, KS

  • Venue:
  • FCCM '06 Proceedings of the 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we present hthreads, a unifying programming model for specifying application threads running within a hybrid CPU/FPGA system. Threads are specified from a single pthreads 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. To support the abstraction of the CPU/FPGA component boundary, we have created the hardware thread interface (HWTI) component that frees the designer from having to specify and embed platform specific instructions to form customized hardware/ software interactions. Instead, the hardware thread interface supports the generalized pthreads API semantics, and allows passing of abstract data types between hardware and software threads. Thus the hardware thread interface provides an abstract, platform independent compilation target that enables thread and instruction-level parallelism across the software/hardware boundary.