Go2async: A high-level synthesis tool for asynchronous circuits

From F-Si wiki
Jump to navigation Jump to search
  • Speaker: Sebastian Wiedemannn
  • email: sebastian.wiede5335'at'gmail.com



High-level synthesis tools generally follow the goal to ease the design flow around hardware creation. Click-elements can be used to create asynchronous pipelines. Contrary to other methods click-elements use standard-cell library components only (most importantly they use no C-elements). This property makes them a good candidate for FPGAs. The generated circuits use static data-flow components. They operate on the two-phase bundled data protocol. This presentation focuses on creating asynchronous circuits based on click-elements derived from go functions.

Go2async is such a program written in go that parses go code. The tool supports a subset of go and uses the built-in go parser and AST. The tool creates synthesizable VHDL code which represents circuits using click-elements pipeline. The hardware creation is based on syntax directed translation. The resulting hardware semantically mimics the behaviour of the input go functions.


General information


  • More go support
  • Ability to integrate external interfaces
  • Dataflow analysis