Recursive functions and data types pose significant chal-lenges for a Haskell-to-hardware compiler. Directly translat-ing these structures yields infinitely large circuits; a subtler approach is required. We propose a sequence of abstraction-lowering transformations that exposes time and memory in a Haskell program, producing a simpler form for hardware translation. This paper outlines these transformations on a specific example; future research will focus on generalizing and automating them in our group’s compiler. 1
Lava is a system for designing, specifying, verifying and implementing hardware. It is embedded in t...
CλaSH is a functional hardware description language that borrows both its syntax and semantics from ...
We present an algorithm for unrolling recursion in the Haskell functional language. Adapted from a s...
Recursive functions and data types pose significant challenges for a Haskell-to-hardware compiler. D...
Abstraction in hardware description languages stalled at the register-transfer level decades ago, ye...
To provide high performance at practical power levels, tomorrow’s chips will have to consist primari...
This paper describes an ongoing implementation of an embedded hardware description language (HDL) us...
The Haskell programming language is an active laboratory for cutting edge ideas. Early in the evolut...
Thesis (Ph. D.)--University of Rochester. Department of Computer Science, 2019.The Haskell programmi...
We describe a monadic interface to low-level hardware features that is a suitable basis for building...
Today the hardware for embedded systems is often specified in VHDL. However, VHDL describes the syst...
This paper introduces CλaSH, a novel hardware specification environment, by discussing several non-t...
A possible direction for exploiting the computational power of multi/many core chips is to rely on a...
We present a library in Haskell for programming Field Programmable Gate Arrays (FPGAs), including ha...
We present a library in Haskell for programming Field Programmable Gate Arrays (FPGAs), including ha...
Lava is a system for designing, specifying, verifying and implementing hardware. It is embedded in t...
CλaSH is a functional hardware description language that borrows both its syntax and semantics from ...
We present an algorithm for unrolling recursion in the Haskell functional language. Adapted from a s...
Recursive functions and data types pose significant challenges for a Haskell-to-hardware compiler. D...
Abstraction in hardware description languages stalled at the register-transfer level decades ago, ye...
To provide high performance at practical power levels, tomorrow’s chips will have to consist primari...
This paper describes an ongoing implementation of an embedded hardware description language (HDL) us...
The Haskell programming language is an active laboratory for cutting edge ideas. Early in the evolut...
Thesis (Ph. D.)--University of Rochester. Department of Computer Science, 2019.The Haskell programmi...
We describe a monadic interface to low-level hardware features that is a suitable basis for building...
Today the hardware for embedded systems is often specified in VHDL. However, VHDL describes the syst...
This paper introduces CλaSH, a novel hardware specification environment, by discussing several non-t...
A possible direction for exploiting the computational power of multi/many core chips is to rely on a...
We present a library in Haskell for programming Field Programmable Gate Arrays (FPGAs), including ha...
We present a library in Haskell for programming Field Programmable Gate Arrays (FPGAs), including ha...
Lava is a system for designing, specifying, verifying and implementing hardware. It is embedded in t...
CλaSH is a functional hardware description language that borrows both its syntax and semantics from ...
We present an algorithm for unrolling recursion in the Haskell functional language. Adapted from a s...