Go2async: A high-level synthesis tool for asynchronous circuits
- Speaker: Sebastian Wiedemannn
- email: sebastian.wiede5335'at'gmail.com
Downloads
Abstract
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.
Software
General information
- Repository: https://github.com/Wiede5335/go2async
- Main documentation website: https://github.com/Wiede5335/go2async
Roadmap
- More go support
- Ability to integrate external interfaces
- Dataflow analysis