HTCC: Haskell to Handel-C Hardware Compiler

Ahmed B. Ablak, Issam Damaj

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Citation (Scopus)

Abstract

Functional programming languages, such as Haskell, enable simple, concise, and correct-by-construction hardware development. HTCC compiles a subset of Haskell to Handel-C language with hardware output. Moreover, HTCC generates VHDL, Verilog, EDIF, and SystemC programs. The design of HTCC compiler includes lexical, syntax and semantic analyzers. HTCC automates a transformational derivation methodology to rapidly produce hardware that maps onto Field Programmable Gate Arrays (FPGAs). HTCC is generated using ANTLR compiler-compiler tool and supports an effective integrated development environment. This paper presents the design rationale and the implementation of HTCC. Several sample generations of first-class and higher-order functions are presented. In-addition, a compilation case-study is presented for the XTEA cipher. The investigation comprises a thorough evaluation and performance analysis. The targeted FPGAs include Cyclone II, Stratix IV, and Virtex-6 from Altera and Xilinx.

Original languageEnglish
Title of host publicationProceedings - 19th Euromicro Conference on Digital System Design, DSD 2016
EditorsParis Kitsos
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages192-199
Number of pages8
ISBN (Electronic)9781509028160
DOIs
Publication statusPublished - 26 Oct 2016
Externally publishedYes
Event19th Euromicro Conference on Digital System Design, DSD 2016 - Limassol, Cyprus
Duration: 31 Aug 20162 Sept 2016

Publication series

NameProceedings - 19th Euromicro Conference on Digital System Design, DSD 2016

Conference

Conference19th Euromicro Conference on Digital System Design, DSD 2016
Country/TerritoryCyprus
CityLimassol
Period31/08/162/09/16

Keywords

  • Compiler
  • Concurrency
  • Functional Programming
  • Handel-C
  • Hardware Design
  • Haskell

Cite this