System-level Linking of Synthesised Hardware and Compiled Software Using a Higher-order Type System
Author(s) -
Shane Fleming,
David B. Thomas,
George A. Constantinides,
Dan R. Ghica
Publication year - 2015
Publication title -
spiral (imperial college london)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/2684746.2689089
Subject(s) - computer science , software , field programmable gate array , embedded system , flexibility (engineering) , component based software engineering , software system , computer hardware , component (thermodynamics) , computer architecture , operating system , statistics , physics , mathematics , thermodynamics
Devices with tightly coupled CPUs and FPGA logic allow for the implementation of heterogeneous applications which combine multiple components written in hardware and software languages, including first-party source code and third-party IP. Flexibility in component relationships is important, so that the system designer can move components between software and hardware as the application design evolves. This paper presents a system-level type system and linker, which allows functions in software and hardware components to be directly linked at link time, without requiring any modification or recompilation of the components. The type system is designed to be language agnostic, and exhibits higher-order features, to enables design patterns such as notifications and callbacks to software from within hardware functions. We demonstrate the system through a number of case studies which link compiled software against synthesised hardware in the Xilinx Zynq platform
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom