Title :
Higher-Order Abstraction in Hardware Descriptions with C?aSH
Author :
Gerards, Marco ; Baaij, Christiaan ; Kuper, Jan ; Kooijman, Matthijs
Author_Institution :
Dept. of EEMCS, Univ. of Twente, Enschede, Netherlands
Abstract :
Synchronous hardware can be straight forwardly modelled as a function from input and (current) state to an updated state and output. The CλaSH compiler can translate such a transition function, described in a functional language, to synthesisable VHDL. Taking a hardware-oriented viewpoint, components can then be seen as an instantiation of such a transition function. An abstraction called Arrows is used to directly model components by combining a transition function and its state. The abstraction also provides an uniform interface for composition, without losing the referential transparency offered by a functional description. Furthermore, readability of hardware designs is increased by the use of the γ-syntax, that automatically composes components according to the Arrow interface. The advantages of the Arrow abstraction and the γ-syntax are demonstrated by means of a realistic example circuit consisting of multiple components. This is a significant extension to CλaSH and enables many high level abstractions.
Keywords :
abstract data types; functional languages; hardware description languages; Arrow abstraction; Arrows interface; functional description; functional language; hardware descriptions; hardware design; high level abstraction; higher-order abstraction; readability; referential transparency; synchronous hardware; transition function; Adders; Algorithm design and analysis; Automata; Clocks; Delay; Hardware; Pipeline processing; Functional programming; Hardware description languages; Pipeline processing;
Conference_Titel :
Digital System Design (DSD), 2011 14th Euromicro Conference on
Conference_Location :
Oulu
Print_ISBN :
978-1-4577-1048-3
DOI :
10.1109/DSD.2011.69