Difference between revisions of "Porting software to hardware using XLS and open source PDKs"
(Created page with "* Speaker(s): Johan Euphrosine * email: proppy@google.com * other information: https://twitter.com/proppy https://github.com ==Abstract== DSLX is a dataflow-oriented functio...") |
|||
Line 1: | Line 1: | ||
* Speaker(s): Johan Euphrosine | * Speaker(s): Johan Euphrosine | ||
* email: proppy@google.com | * email: proppy@google.com | ||
* other information: https://twitter.com/proppy https://github.com | * other information: https://twitter.com/proppy https://github.com/proppy | ||
==Abstract== | ==Abstract== |
Revision as of 06:40, 4 July 2022
- Speaker(s): Johan Euphrosine
- email: proppy@google.com
- other information: https://twitter.com/proppy https://github.com/proppy
Abstract
DSLX is a dataflow-oriented functional language used to build hardware that can also run effectively as host software.
DSLX’s syntax resembles Rust, while being an immutable expression-based dataflow DSL and adding hardware-oriented features like arbitrary bitwidths.
Using the XLS (Accelerated HW Synthesis) toolkit, DSLX can target to XLS IR intermediate format to enable development flows for FPGAs and ASICs (thru Verilog conversation) and native-speed execution (thru LLVM-based JIT compilation).
In this presentation, we go step-by-step thru the process of “Porting software to hardware” by rewriting a C routine in DSLX and showing how to integrate the XLS toolkit with open silicon toochains to manufacture a chip targeting the open-source Skywater 130nm PDK.
Software
- XLS
- Repository: https://github.com/google/xls
- Main documentation https://google.github.io/xls/
- Skywater 130nm PDK
- Repository: https://github.com/google/skywater-pdk
- Main documentation https://skywater-pdk.readthedocs.io/en/main/