Title :
Designing a dataflow processor using CλaSH
Author :
Niedermeier, Anja ; Wester, Rinse ; Rovers, Kenneth ; Baaij, Christiaan ; Kuper, Jan ; Smit, Gerard
Author_Institution :
Dept. of Comput. Sci., Univ. of Twente, Enschede, Netherlands
Abstract :
In this paper we show how a simple dataflow processor can be fully implemented using CλaSH, a high level HDL based on the functional programming language Haskell. The processor was described using Haskell, the CλaSH compiler was then used to translate the design into a fully synthesisable VHDL code. The VHDL code was synthesised with 90 nm TSMC libraries and placed and routed. Simulation of the final netlist showed correct behaviour. We conclude that Haskell and CλaSH are well-suited to define hardware on a very high level of abstraction which is close to the mathematical description of the desired architecture. By using CλaSH, the designer does not have to care about internal implementation details like when designing with VHDL. The complete processor was described in 300 lines of code, some snippets are shown as illustration.
Keywords :
hardware description languages; program compilers; CaSH compiler; Haskell programming language; VHDL code; dataflow processor; very high level description language; Clocks; Computer architecture; Embedded systems; Functional programming; Hardware; Mathematical model; Process control;
Conference_Titel :
NORCHIP, 2010
Conference_Location :
Tampere
Print_ISBN :
978-1-4244-8972-5
Electronic_ISBN :
978-1-4244-8971-8
DOI :
10.1109/NORCHIP.2010.5669445