Hardware Software Co-design in Haskell
Paper i proceeding, 2017

We present a library in Haskell for programming Field Programmable Gate Arrays (FPGAs), including hardware software co-design. Code for software (in C) and hardware (in VHDL) is generated from a single program, along with the code to support communication between hardware and software. We present type-based techniques for the simultaneous implementation of more than one embedded domain specific language (EDSL). We build upon a generic representation of imperative programs that is loosely coupled to instruction and expression types, allowing the individual parts to be developed and improved separately. Code generation is implemented as a series of translations between progressively smaller, typed EDSLs, safeguarding against errors that arise in untyped translations. Initial case studies show promising performance.

Computer Science

hardware software co-design

domain specific language

OGRAMMABLE TECHNOLOGY (FPT)12th International Conference on Field-Programmable Technology

Författare

Markus Aronsson

Funktionell programmering

Mary Sheeran

Funktionell programmering

SIGPLAN Notices (ACM Special Interest Group on Programming Languages)

0362-1340 (ISSN)

Vol. 52 10 162-173

Styrkeområden

Informations- och kommunikationsteknik

Ämneskategorier

Programvaruteknik

DOI

10.1145/3122955.3122970

ISBN

9781450351829

Mer information

Skapat

2017-12-13