Hardware Specification with C \varvecλ aSH

C\(\lambda \)aSH is a recently developed system to specify and synthesize hardware architectures, strongly based on the functional programming language Haskell. Different from other existing approaches to describe hardware in a functional style, C\(\lambda \)aSH is not defined as an embedded language inside Haskell, but instead, C\(\lambda \)aSH uses Haskell itself to specify hardware architectures. In fact, every C\(\lambda \)aSH specification is an executable Haskell program. Hence, the simulation of a hardware architecture is immediate, and all abstraction mechanisms that are available in Haskell are maintained in C\(\lambda \)aSH, insofar they are directly applicable to the specification of hardware.

[1]  Marco E. T. Gerards,et al.  Architecture Specifications in CλaSH , 2011 .

[2]  Gerard J. M. Smit,et al.  A mathematical approach towards hardware design , 2010, Dynamically Reconfigurable Architectures.

[3]  Jan Kuper,et al.  Designing a dataflow processor using CλaSH , 2010, NORCHIP 2010.

[4]  Jan Kuper,et al.  C?aSH: Structural Descriptions of Synchronous Hardware Using Haskell , 2010, 2010 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools.

[5]  Gang Chen A Short Historical Survey of Functional Hardware Languages , 2012 .

[6]  Jan Kuper,et al.  Higher-Order Abstraction in Hardware Descriptions with C?aSH , 2011, 2011 14th Euromicro Conference on Digital System Design.

[7]  Adam Morawiec,et al.  System Specification and Design Languages , 2012 .

[8]  Mary Sheeran,et al.  muFP, a language for VLSI design , 1984, LFP '84.

[9]  Erik Perrins,et al.  Introducing Kansas Lava , 2009, IFL.

[10]  Jan Kuper,et al.  Specification of APERTIF Polyphase Filter Bank in ClaSH , 2012, CPA.

[11]  Minh N. Do,et al.  Youn-Long Steve Lin , 1992 .

[12]  Philippe Coussy,et al.  High-Level Synthesis: from Algorithm to Digital Circuit , 2008 .

[13]  Steven D. Johnson Applicative programming and digital design , 1984, POPL '84.

[14]  Jan Kuper,et al.  A two step hardware design method using CλaSH , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[15]  Mary Sheeran,et al.  Lava: hardware design in Haskell , 1998, ICFP '98.

[16]  Axel Jantsch,et al.  System modeling and transformational design refinement in ForSyDe [formal system design] , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Rishiyur S. Nikhil,et al.  Bluespec: A General-Purpose Approach to High-Level Synthesis Based on Parallel Atomic Transactions , 2008 .