Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 1984 Publication History
  • Get Citation Alerts
  • 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]
    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.
    [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]
    P. Henderson: "Functional Geometry" Proc. A.C.M. Symposium on LISP and Functional Programming, 1982.
    [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]
    C. Mead, L. Conway: "Introduction to VLSI Systems" Addison-Wesley, 1980.
    [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

    View all
    • (2024)Modular Hardware Design of Pipelined Circuits with HazardsProceedings of the ACM on Programming Languages10.1145/36563788:PLDI(28-51)Online publication date: 20-Jun-2024
    • (2023)ShakeFlow: Functional Hardware Description with Latency-Insensitive Interface CombinatorsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575701(702-717)Online publication date: 27-Jan-2023
    • (2023)Formalized High Level Synthesis with Applications to Cryptographic HardwareNASA Formal Methods10.1007/978-3-031-33170-1_20(332-352)Online publication date: 3-Jun-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 06 August 1984

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 30 of 109 submissions, 28%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)99
    • Downloads (Last 6 weeks)15
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Modular Hardware Design of Pipelined Circuits with HazardsProceedings of the ACM on Programming Languages10.1145/36563788:PLDI(28-51)Online publication date: 20-Jun-2024
    • (2023)ShakeFlow: Functional Hardware Description with Latency-Insensitive Interface CombinatorsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575701(702-717)Online publication date: 27-Jan-2023
    • (2023)Formalized High Level Synthesis with Applications to Cryptographic HardwareNASA Formal Methods10.1007/978-3-031-33170-1_20(332-352)Online publication date: 3-Jun-2023
    • (2022)Verified Technology Mapping in an Agda DSL for Circuit DesignProceedings of the 34th Symposium on Implementation and Application of Functional Languages10.1145/3587216.3587217(1-13)Online publication date: 31-Aug-2022
    • (2022)Verifying Hardware Optimizations for Efficient AccelerationProceedings of the 12th International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies10.1145/3535044.3535047(17-23)Online publication date: 9-Jun-2022
    • (2021)Metaprogramming with combinatorsProceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3486609.3487198(43-54)Online publication date: 17-Oct-2021
    • (2021)Reticle: a virtual machine for programming modern FPGAsProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454075(756-771)Online publication date: 19-Jun-2021
    • (2021)Wire sorts: a language abstraction for safe hardware compositionProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454037(175-189)Online publication date: 19-Jun-2021
    • (2020)Hailstorm: A Statically-Typed, Purely Functional Language for IoT ApplicationsProceedings of the 22nd International Symposium on Principles and Practice of Declarative Programming10.1145/3414080.3414092(1-16)Online publication date: 8-Sep-2020
    • (2020)Strongly bounded termination with applications to security and hardware synthesisProceedings of the 5th ACM SIGPLAN International Workshop on Type-Driven Development10.1145/3406089.3409029(1-10)Online publication date: 23-Aug-2020
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media