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

22 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 Sep 20103 Sep 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
CountryNetherlands
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

Gerards, M. E. T., Baaij, C. P. R., Kuper, J., & Kooijman, M. (2010). Hiding State in CλaSH Hardware Descriptions. In Preproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010) (pp. 107-119). Utrecht: Utrecht University.
Gerards, Marco Egbertus Theodorus ; Baaij, C.P.R. ; Kuper, Jan ; Kooijman, Matthijs. / Hiding State in CλaSH Hardware Descriptions. Preproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010). Utrecht : Utrecht University, 2010. pp. 107-119
@inproceedings{d59ee774bb62496fb43e57e2533f2ddc,
title = "Hiding State in CλaSH Hardware Descriptions",
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.",
keywords = "METIS-278694, Haskell, HDL, Functional Languages, EWI-19194, State Hiding, Hardware, Hardware Description Language, IR-78215",
author = "Gerards, {Marco Egbertus Theodorus} and C.P.R. Baaij and Jan Kuper and Matthijs Kooijman",
year = "2010",
month = "8",
language = "Undefined",
isbn = "0924-3275",
publisher = "Utrecht University",
pages = "107--119",
booktitle = "Preproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010)",

}

Gerards, MET, Baaij, CPR, Kuper, J & Kooijman, M 2010, Hiding State in CλaSH Hardware Descriptions. in Preproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010). Utrecht University, Utrecht, pp. 107-119, 22nd Symposium on Implementation and Application of Functional Languages, IFL 2010, Alphen aan den Rijn, Netherlands, 1/09/10.

Hiding State in CλaSH Hardware Descriptions. / Gerards, Marco Egbertus Theodorus; Baaij, C.P.R.; Kuper, Jan; Kooijman, Matthijs.

Preproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010). Utrecht : Utrecht University, 2010. p. 107-119.

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

TY - GEN

T1 - Hiding State in CλaSH Hardware Descriptions

AU - Gerards, Marco Egbertus Theodorus

AU - Baaij, C.P.R.

AU - Kuper, Jan

AU - Kooijman, Matthijs

PY - 2010/8

Y1 - 2010/8

N2 - 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.

AB - 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.

KW - METIS-278694

KW - Haskell

KW - HDL

KW - Functional Languages

KW - EWI-19194

KW - State Hiding

KW - Hardware

KW - Hardware Description Language

KW - IR-78215

M3 - Conference contribution

SN - 0924-3275

SP - 107

EP - 119

BT - Preproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010)

PB - Utrecht University

CY - Utrecht

ER -

Gerards MET, Baaij CPR, Kuper J, Kooijman M. Hiding State in CλaSH Hardware Descriptions. In Preproceedings of the 22nd Symposium on Implementation and Application of Functional Languages (IFL 2010). Utrecht: Utrecht University. 2010. p. 107-119