Programming with hardware/software functions
Programmer avec des fonctions hardware et software
Résumé
FPGAs support the implementation of a wide range of functionalities,
from general-purpose processors (Softcores) to dedicated hardware
accelerators (Intellectual Properties). This blurs the traditional line
between software and hardware, since in many cases a functionality can
be achieved either by executing code on a softcore or by running an
IP. In this paper we focus on programming parallel architectures where
IPs are interconnected using softcores.
We propose a programming language, called HiHope, which exploits this
kind of architecture. HiHope includes constructs for
switching at runtime between hardware functions (implemented by
IPs) and software functions in a transparent way. It
also contains constructs for executing parallel functions (either
hardware or software ones) and for redefining functions dynamically.
We show how HiHope programs can be compiled for execution on master-slave parallel
architectures based on the HoMade processor, a softcore processor designed as
an IP integrator.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...