2014
DOI: 10.1007/978-3-642-45340-3_2
|View full text |Cite
|
Sign up to set email alerts
|

Using Rewriting to Synthesize Functional Languages to Digital Circuits

Abstract: A straightforward synthesis from functional languages to digital circuits transforms variables to wires. The types of these variables determine the bit-width of the wires. Assigning a bit-width to polymorphic and function-type variables within this direct synthesis scheme is impossible. Using a term rewrite system, polymorphic and function-type binders can be completely eliminated from a circuit description, given only minor and reasonable restrictions on the input. The presented term rewrite system is used in… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
9
0

Year Published

2015
2015
2020
2020

Publication Types

Select...
4
1
1

Relationship

0
6

Authors

Journals

citations
Cited by 13 publications
(9 citation statements)
references
References 18 publications
0
9
0
Order By: Relevance
“…Cλ aSH [2] is a compiler for a subset of Haskell to VHDL. Like ReWire, Cλ aSH uses Haskell itself as a source language and requires some limits be placed on the kinds of algebraic data types used as well as the basic operating types.…”
Section: Discussionmentioning
confidence: 99%
“…Cλ aSH [2] is a compiler for a subset of Haskell to VHDL. Like ReWire, Cλ aSH uses Haskell itself as a source language and requires some limits be placed on the kinds of algebraic data types used as well as the basic operating types.…”
Section: Discussionmentioning
confidence: 99%
“…CλaSH [Baaij and Kuper 2014] is a compiler for a subset of Haskell to VHDL. Like ReWire, CλaSH uses Haskell itself as a source language and requires that some limits be placed on the kinds of algebraic data types used as well as the basic operating types.…”
Section: Related Workmentioning
confidence: 99%
“…The Cλash compiler [1,2] adopts many of the same techniques we have to compile a particular Haskell subset to hardware. They, too, start from a GHC front-end to generate Core, then apply rewrite rules (including Danvy's defunctionalization [4] inspired by Reynolds [24]) to transform it into a normal form that can be translated into an HDL.…”
Section: Functional Descriptions To Hardwarementioning
confidence: 99%
“…We use a single functional intermediate representation based on the Glasgow Haskell Compiler's Core [23], allowing us to use Haskell and GHC as a source language. Reynolds [24] pioneered the methodology of transforming programs into successively restricted subsets, which inspired our compiler and many others [2,15,23]. Figure 1 depicts our compiler's framework as a series of transformations yielding a hardware description.…”
Section: Introductionmentioning
confidence: 99%