• 6 Citations

Abstract

In order to effectively utilize the growing number of resources available on FPGAs, higher level abstraction mechanisms are needed to deal with increasing complexity resulting from large designs. Functional hardware description languages, like the CλaSH HDL, offer adequate abstraction mechanisms such as polymorphism and higher-order functions. This paper describes a two step design method to implement a DSP application on an FPGA, starting from a mathematical specification, followed by an implementation in CλaSH. A non trivial application, a particle filter, is used to evaluate both the method and CλaSH. First, a straightforward translation is performed from the mathematical definition of a particle filtering to Haskell, a functional programming language with syntax and semantics similar to CλaSH. Secondly, minor changes are applied to the Haskell implementation so that it is accepted by the CλaSH compiler. The resulting hardware produced by our method is evaluated and shows that this method eases reasoning about structure and parallelism in both the mathematical definition and the resulting hardware.
Original languageUndefined
Title of host publication22nd International Conference on Field Programmable Logic and Applications, FPL 2012
Place of PublicationUSA
PublisherIEEE Computer Society
Pages181-188
Number of pages8
ISBN (Print)978-1-4673-2257-7
DOIs
StatePublished - 29 Aug 2012
Event22nd International Conference on Field Programmable Logic and Applications, FPL 2012 - Oslo, Norway

Publication series

Name
PublisherIEEE Computer Society

Conference

Conference22nd International Conference on Field Programmable Logic and Applications, FPL 2012
Abbreviated titleFPL
CountryNorway
CityOslo
Period29/08/1231/08/12
Internet address

Fingerprint

Field programmable gate arrays (FPGA)
Hardware
Functional programming
Computer hardware description languages
Polymorphism
Computer programming languages
Semantics
Specifications

Keywords

  • EWI-22585
  • EC Grant Agreement nr.: FP7/248465
  • Design method
  • METIS-289799
  • Particle filter
  • IR-82306
  • CλaSH
  • FPGA

Cite this

Wester, R., Baaij, C. P. R., & Kuper, J. (2012). A two step hardware design method using CλaSH. In 22nd International Conference on Field Programmable Logic and Applications, FPL 2012 (pp. 181-188). USA: IEEE Computer Society. DOI: 10.1109/FPL.2012.6339258

Wester, Rinse; Baaij, C.P.R.; Kuper, Jan / A two step hardware design method using CλaSH.

22nd International Conference on Field Programmable Logic and Applications, FPL 2012. USA : IEEE Computer Society, 2012. p. 181-188.

Research output: Scientific - peer-reviewConference contribution

@inbook{096a89478709480381908cd0c2b5f9c8,
title = "A two step hardware design method using CλaSH",
abstract = "In order to effectively utilize the growing number of resources available on FPGAs, higher level abstraction mechanisms are needed to deal with increasing complexity resulting from large designs. Functional hardware description languages, like the CλaSH HDL, offer adequate abstraction mechanisms such as polymorphism and higher-order functions. This paper describes a two step design method to implement a DSP application on an FPGA, starting from a mathematical specification, followed by an implementation in CλaSH. A non trivial application, a particle filter, is used to evaluate both the method and CλaSH. First, a straightforward translation is performed from the mathematical definition of a particle filtering to Haskell, a functional programming language with syntax and semantics similar to CλaSH. Secondly, minor changes are applied to the Haskell implementation so that it is accepted by the CλaSH compiler. The resulting hardware produced by our method is evaluated and shows that this method eases reasoning about structure and parallelism in both the mathematical definition and the resulting hardware.",
keywords = "EWI-22585, EC Grant Agreement nr.: FP7/248465, Design method, METIS-289799, Particle filter, IR-82306, CλaSH, FPGA",
author = "Rinse Wester and C.P.R. Baaij and Jan Kuper",
note = "eemcs-eprint-22585",
year = "2012",
month = "8",
doi = "10.1109/FPL.2012.6339258",
isbn = "978-1-4673-2257-7",
publisher = "IEEE Computer Society",
pages = "181--188",
booktitle = "22nd International Conference on Field Programmable Logic and Applications, FPL 2012",
address = "United States",

}

Wester, R, Baaij, CPR & Kuper, J 2012, A two step hardware design method using CλaSH. in 22nd International Conference on Field Programmable Logic and Applications, FPL 2012. IEEE Computer Society, USA, pp. 181-188, 22nd International Conference on Field Programmable Logic and Applications, FPL 2012, Oslo, Norway, 29-31 August. DOI: 10.1109/FPL.2012.6339258

A two step hardware design method using CλaSH. / Wester, Rinse; Baaij, C.P.R.; Kuper, Jan.

22nd International Conference on Field Programmable Logic and Applications, FPL 2012. USA : IEEE Computer Society, 2012. p. 181-188.

Research output: Scientific - peer-reviewConference contribution

TY - CHAP

T1 - A two step hardware design method using CλaSH

AU - Wester,Rinse

AU - Baaij,C.P.R.

AU - Kuper,Jan

N1 - eemcs-eprint-22585

PY - 2012/8/29

Y1 - 2012/8/29

N2 - In order to effectively utilize the growing number of resources available on FPGAs, higher level abstraction mechanisms are needed to deal with increasing complexity resulting from large designs. Functional hardware description languages, like the CλaSH HDL, offer adequate abstraction mechanisms such as polymorphism and higher-order functions. This paper describes a two step design method to implement a DSP application on an FPGA, starting from a mathematical specification, followed by an implementation in CλaSH. A non trivial application, a particle filter, is used to evaluate both the method and CλaSH. First, a straightforward translation is performed from the mathematical definition of a particle filtering to Haskell, a functional programming language with syntax and semantics similar to CλaSH. Secondly, minor changes are applied to the Haskell implementation so that it is accepted by the CλaSH compiler. The resulting hardware produced by our method is evaluated and shows that this method eases reasoning about structure and parallelism in both the mathematical definition and the resulting hardware.

AB - In order to effectively utilize the growing number of resources available on FPGAs, higher level abstraction mechanisms are needed to deal with increasing complexity resulting from large designs. Functional hardware description languages, like the CλaSH HDL, offer adequate abstraction mechanisms such as polymorphism and higher-order functions. This paper describes a two step design method to implement a DSP application on an FPGA, starting from a mathematical specification, followed by an implementation in CλaSH. A non trivial application, a particle filter, is used to evaluate both the method and CλaSH. First, a straightforward translation is performed from the mathematical definition of a particle filtering to Haskell, a functional programming language with syntax and semantics similar to CλaSH. Secondly, minor changes are applied to the Haskell implementation so that it is accepted by the CλaSH compiler. The resulting hardware produced by our method is evaluated and shows that this method eases reasoning about structure and parallelism in both the mathematical definition and the resulting hardware.

KW - EWI-22585

KW - EC Grant Agreement nr.: FP7/248465

KW - Design method

KW - METIS-289799

KW - Particle filter

KW - IR-82306

KW - CλaSH

KW - FPGA

U2 - 10.1109/FPL.2012.6339258

DO - 10.1109/FPL.2012.6339258

M3 - Conference contribution

SN - 978-1-4673-2257-7

SP - 181

EP - 188

BT - 22nd International Conference on Field Programmable Logic and Applications, FPL 2012

PB - IEEE Computer Society

ER -

Wester R, Baaij CPR, Kuper J. A two step hardware design method using CλaSH. In 22nd International Conference on Field Programmable Logic and Applications, FPL 2012. USA: IEEE Computer Society. 2012. p. 181-188. Available from, DOI: 10.1109/FPL.2012.6339258