START Conference Manager    

Functional Netlists

Sungwoo Park, Jinha Kim and Hyeonseung Im

The 13th ACM SIGPLAN International Conference on Functional Programming (ICFP 2008)
Victoria, British Columbia, Canada, September 22-24, 2008


In efforts to overcome the complexity of the syntax and the lack of formal semantics of conventional hardware description languages, a number of functional hardware description languages have been developed. Like conventional hardware description languages, however, functional hardware description languages eventually convert all source programs into netlists, which describe wire connections in hardware circuits at the lowest level and conceal all high-level descriptions written into source programs.

We develop a variant of the lambda calculus, called $\lang$ (linear lambda), which may serve as a high-level substitute for netlists. In order to support higher-order functions, $\lang$ uses a linear type system which enforces the linear use of variables of function type. The translation of $\lang$ into structural descriptions of hardware circuits is sound and complete in the sense that it maps expressions only to realizable hardware circuits and that every realizable hardware circuit has a corresponding expression in $\lang$. To illustrate the use of $\lang$ as a high-level substitute for netlists, we design a simple hardware description language that extends $\lang$ with polymorphism, and use it to implement a Fast Fourier Transform circuit.

START Conference Manager (V2.54.6)