skip to main content
10.1145/800055.802026acmconferencesArticle/Chapter ViewAbstractPublication PageslfpConference Proceedingsconference-collections
Article
Free Access

muFP, a language for VLSI design

Published:06 August 1984Publication History

ABSTRACT

In this paper, we present a VLSI design language μFP, which is a variant of Backus' FP [Backus 78, 81]. μ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 μ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 μFP expression has an associated floorplan. This interpretation exists because μ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. μ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 μFP is constructed from FP by the addition of a single combining form μ, which encapsulates a very simple notion of “state”.

References

  1. 1.J. Backus: "Can Programming Be Liberated from the von Neumann Style?" Communications of the A.C.M., Vol. 21, No. 8, pp 613-641, Aug. 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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.Google ScholarGoogle ScholarCross RefCross Ref
  3. 3.S. Finn: "LVIS - A VLSI Transformation System" M. Sc. Dissertation, Programming Research Group, University of Oxford, Sept. 1983.Google ScholarGoogle Scholar
  4. 4.P. Henderson: "Functional Geometry" Proc. A.C.M. Symposium on LISP and Functional Programming, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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.Google ScholarGoogle Scholar
  6. 6.C. Mead, L. Conway: "Introduction to VLSI Systems" Addison-Wesley, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.M. Sheeran: "Functional Geometry and Integrated Circuit Layout" M. Sc. Dissertation, Programming Research Group, University of Oxford, Sept. 1981.Google ScholarGoogle Scholar
  8. 8.M. Sheeran: " &mgr;FP, an Algebraic VLSI Design Language" D.Phil. Thesis, Programming Research Group, University of Oxford, 1983.Google ScholarGoogle Scholar
  9. 9.J. Williams: "Notes on the FP Style of Functional Programming" in "Functional Programming and its Applications", Cambridge University Press, 1981.Google ScholarGoogle Scholar

Index Terms

  1. muFP, a language for VLSI design

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        LFP '84: Proceedings of the 1984 ACM Symposium on LISP and functional programming
        August 1984
        364 pages
        ISBN:0897911423
        DOI:10.1145/800055

        Copyright © 1984 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 6 August 1984

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate30of109submissions,28%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader