Hiding State in CλaSH Hardware Descriptions

Marco Egbertus Theodorus Gerards, C.P.R. Baaij, Jan Kuper, Matthijs Kooijman

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademic

    80 Downloads (Pure)

    Abstract

    Synchronous hardware can be modelled as a mapping from input and state to output and a new state, such mappings are referred to as transition functions. It is natural to use a functional language to implement transition functions. The CaSH compiler is capable of translating transition functions to VHDL. Modelling hardware using multiple components is convenient. Components in CaSH can be considered as instantiations of functions. To avoid packing and unpacking state when composing components, functions are lifted to arrows. By using arrows the chance of making errors will decrease as it is not required to manually (un)pack the state. Furthermore, the Haskell do-syntax for arrows increases the readability of hardware designs. This is demonstrated using a realistic example of a circuit which consists of multiple components.
    Original languageUndefined
    Title of host publicationPreproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010)
    Place of PublicationUtrecht
    PublisherUtrecht University
    Pages107-119
    Number of pages13
    ISBN (Print)0924-3275
    Publication statusPublished - Aug 2010
    Event22nd Symposium on Implementation and Application of Functional Languages, IFL 2010 - Alphen aan den Rijn, Netherlands
    Duration: 1 Sept 20103 Sept 2010
    Conference number: 22

    Publication series

    Name
    PublisherUtrecht University
    ISSN (Print)0924-3275

    Conference

    Conference22nd Symposium on Implementation and Application of Functional Languages, IFL 2010
    Abbreviated titleIFL
    Country/TerritoryNetherlands
    CityAlphen aan den Rijn
    Period1/09/103/09/10

    Keywords

    • METIS-278694
    • Haskell
    • HDL
    • Functional Languages
    • EWI-19194
    • State Hiding
    • Hardware
    • Hardware Description Language
    • IR-78215

    Cite this