Hostname: page-component-77c78cf97d-9lb97 Total loading time: 0 Render date: 2026-04-24T11:43:45.999Z Has data issue: false hasContentIssue false

A calculus for hardware description*

Published online by Cambridge University Press:  19 November 2010

SUNGWOO PARK
Affiliation:
Department of Computer Science and Engineering, Pohang University of Science and Technology, Republic of Korea (e-mail: gla@postech.ac.kr, genilhs@postech.ac.kr)
HYEONSEUNG IM
Affiliation:
Department of Computer Science and Engineering, Pohang University of Science and Technology, Republic of Korea (e-mail: gla@postech.ac.kr, genilhs@postech.ac.kr)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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λ uses a linear type system, which enforces the linear use of variables of function type. The translation of lλ 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λ. To illustrate the use of lλ as a practical intermediate language for hardware description, we design a simple hardware description language that extends lλ with polymorphism, and use it to implement a fast Fourier transform circuit and a bitonic sorting network.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2010
Submit a response

Discussions

No Discussions have been published for this article.