The most widely used languages and methods used for designing digital hardware fall into two rough categories. One of them, register transfer level (RTL), requires specifying each and every component in the designed circuit. This gives the designer full control, but burdens the designer with many trivial details. The other, the high level synthesis (HLS) method, allows the designer to abstract the details of hardware away and focus on the problem being solved. This method however cannot be used for a class of hardware design problems because the circuit’s timing is also abstracted away.
We present YieldFSM, a hardware description language which uses the generator abstraction to represent timing in a digital circuit. It represents a middle ground between the RTL and HLS approaches: the abstraction level is higher than in RTL, but thanks to explicit timing information, it can be used in applications where RTL is traditionally used. We also present the YieldFSM compiler, which uses methods developed by the functional programming community – including continuation-passsing style translation and defunctionalization – to translate YieldFSM programs to Mealy machines. It is implemented using Template Haskell and the Clash functional hardware description language. We show that this approach leads to short and conceptually simple hardware descriptions.
Mon 12 SepDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
13:40 - 15:20 | Analysis and TransformationsICFP Papers and Events at Linhart Chair(s): Malgorzata Biernacka University of Wrocław | ||
13:40 20mTalk | Reference Counting with Frame Limited Reuse ICFP Papers and Events DOI | ||
14:00 20mTalk | Entanglement Detection With Near-Zero CostDistinguished Paper ICFP Papers and Events Sam Westrick Carnegie Mellon University, Jatin Arora Carnegie Mellon University, Umut A. Acar Carnegie Mellon University DOI | ||
14:20 20mTalk | Generating circuits with generators ICFP Papers and Events Marek Materzok University of Wroclaw DOI | ||
14:40 20mTalk | Staged Compilation With Two-Level Type Theory ICFP Papers and Events András Kovács Eötvös Loránd University DOI | ||
15:00 20mTalk | Random Testing of a Higher-Order Blockchain LanguageExperience Report ICFP Papers and Events Tram Hoang National University of Singapore, Anton Trunov Zilliqa Research, Leonidas Lampropoulos University of Maryland, College Park, Ilya Sergey National University of Singapore DOI Pre-print |