|
ABSTRACT
In this paper, we present a VLSI design language &mgr;FP, which is a variant of Backus' FP [Backus 78, 81]. &mgr;FP differs from conventional VLSI design languages in that it can describe both the semantics (or behaviour) of a circuit and its layout (or floorplan) [Sheeran 83]. We chose to base our design language on FP for several reasons. Functional programs are easier to write and to reason about than imperative ones. We hope to bring some of these benefits to IC design. FP, in particular, is designed to allow the programmer to reason about his or her programs by manipulating the programs themselves. Likewise, in &mgr;FP, programs (or circuit descriptions) are just expressions “made” from a small number of primitive functions and combining forms (functionals that map functions into functions). These functions and combining forms (CFs) were chosen because they have nice algebraic properties. Thus, circuit descriptions are concise and can be easily manipulated using the algebraic laws of the language. Also, each CF has a simple geometric interpretation, so that every &mgr;FP expression has an associated floorplan. This interpretation exists because &mgr;FP expressions represent functions rather than objects, allowing us to associate a function with each section of the floorplan. Most VLSI design languages are designed either for layout description or for behavioural specification. &mgr;FP, with its dual interpretation, allows the designer to consider the effect on the final layout of a particular design decision or to manipulate the layout while keeping the semantics constant. In the following sections, we show how &mgr;FP is constructed from FP by the addition of a single combining form &mgr;, which encapsulates a very simple notion of “state”.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
J. Backus: "The Algebra of Functional Programs: Function Level Reasoning, Linear Equations, and Extended Definitions" Proc. Symposium on Functional Languages and Computer Architecture, Gothenberg, June 1981.
|
| |
3
|
S. Finn: "LVIS - A VLSI Transformation System" M. Sc. Dissertation, Programming Research Group, University of Oxford, Sept. 1983.
|
 |
4
|
|
| |
5
|
P. Henderson, G. A. Jones, S. B. Jones: "The LispKit Manual, Volume 1" Tech. Monograph PRG-32(1), Programming Research Group, University of Oxford, June 1983.
|
| |
6
|
|
| |
7
|
M. Sheeran: "Functional Geometry and Integrated Circuit Layout" M. Sc. Dissertation, Programming Research Group, University of Oxford, Sept. 1981.
|
| |
8
|
M. Sheeran: " &mgr;FP, an Algebraic VLSI Design Language" D.Phil. Thesis, Programming Research Group, University of Oxford, 1983.
|
| |
9
|
J. Williams: "Notes on the FP Style of Functional Programming" in "Functional Programming and its Applications", Cambridge University Press, 1981.
|
CITED BY 11
|
|
|
|
|
V. Stavridou , H. Barringer , D. A. Edwards, Formal specification and verification of hardware: a comparative case study, Proceedings of the 25th ACM/IEEE conference on Design automation, p.197-204, June 12-15, 1988, Atlantic City, New Jersey, United States
|
|
|
P. Caspi , D. Pilaud , N. Halbwachs , J. A. Plaice, LUSTRE: a declarative language for real-time programming, Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.178-188, January 21-23, 1987, Munich, West Germany
|
|
|
|
|
|
|
|
|
|
|
|
Paul Hudak , John Hughes , Simon Peyton Jones , Philip Wadler, A history of Haskell: being lazy with class, Proceedings of the third ACM SIGPLAN conference on History of programming languages, p.12-1-12-55, June 09-10, 2007, San Diego, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|