DFiant: A dataflow hardware description language

Oron Port, Yoav Etsion

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Today's dominant hardware description languages (HDLs), namely Verilog and VHDL, tightly couple design functionality with timing requirements and target device constraints. As hardware designs and device architectures became increasingly more complex, these dominant HDLs yield verbose and unportable code. To raise the level of abstraction, several high-level synthesis (HLS) tools were introduced, usually based on software languages such as C++. Unfortunately, designing with sequential software language constructs comes with a price; the designer loses the ability to control hardware construction and data scheduling, which is crucial in many design use-cases. In this paper, we introduce DFiant, a Scala-based HDL that uses the dataflow model to decouple functionality from implementation constraints. DFiant's frontend enables functional bit-accurate dataflow programming, while maintaining a complete timing-agnostic and device-agnostic code. DFiant bridges the gap between software programming and hardware construction, driving an intuitive functional object oriented code into a highperformance hardware implementation.

Original languageEnglish
Title of host publication2017 27th International Conference on Field Programmable Logic and Applications, FPL 2017
EditorsDiana Gohringer, Dirk Stroobandt, Nele Mentens, Marco Santambrogio, Jari Nurmi
ISBN (Electronic)9789090304281
DOIs
StatePublished - 2 Oct 2017
Event27th International Conference on Field Programmable Logic and Applications, FPL 2017 - Gent, Belgium
Duration: 4 Sep 20176 Sep 2017

Publication series

Name2017 27th International Conference on Field Programmable Logic and Applications, FPL 2017

Conference

Conference27th International Conference on Field Programmable Logic and Applications, FPL 2017
Country/TerritoryBelgium
CityGent
Period4/09/176/09/17

All Science Journal Classification (ASJC) codes

  • Computer Networks and Communications
  • Computer Science Applications
  • Hardware and Architecture
  • Software

Cite this