A calculus for hardware description

Citations

WEB OF SCIENCE

57
Citations

SCOPUS

3

초록

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 calculus, called l. (linear lambda), which may serve as an intermediate functional language just above netlists in the hierarchy of hardware description languages. In order to support higher-order functions, l lambda uses a linear type system, which enforces the linear use of variables of function type. The translation of l lambda 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 l lambda. To illustrate the use of l lambda as a practical intermediate language for hardware description, we design a simple hardware description language that extends l lambda with polymorphism, and use it to implement a fast Fourier transform circuit and a bitonic sorting network.

키워드

LANGUAGEDESIGN
제목
A calculus for hardware description
저자
Park, SungwooIm, Hyeonseung
DOI
10.1017/S0956796810000249
발행일
2011-01
유형
Article
저널명
Journal of Functional Programming
21
페이지
21 ~ 58