pyxls — Python bindings for XLS
pyxls is a python Python bindings for the XLS (eXtensible Logic Synthesis) compiler infrastructure. XLS is a high-level synthesis toolkit for generating RTL (Register Transfer Level) hardware descriptions from high-level specifications.
Note
pyxls is a third-party project interfacing with the XLS C API. It is not affiliated, endorsed, or maintained by the XLS team at Google.
Warning
pyxls is in early development. The API is not stable and may change without deprecation.
pyxls exposes the libxls.so’s C API to python, mostly in 1:1 fashion, and some pythonic wrappers for some of them.
libxls.so provides the following APIs that are exposed in pyxls:
IR Operations: build, view, optimize, and tweak XLS IR
DSLX Operations: parse and typecheck DSLX code
Simulation: execute XLS functions or DSLX code with interpretation or JIT
Verilog AST: construct and emit Verilog/SystemVerilog files via an AST API
binding could be buggy for now, use with caution
Code Emission: schedule and codegen XLS IR to produce Verilog output
Index
User Guide