14 releases (4 breaking)
0.5.5 | Apr 23, 2024 |
---|---|
0.5.4 | Apr 11, 2024 |
0.5.0 | Mar 29, 2024 |
0.4.0 | Mar 29, 2024 |
0.1.1 | Mar 15, 2024 |
#131 in Template engine
37 downloads per month
35KB
711 lines
PyTV
Python Templated Verilog
Package
The package pytv
is available on crates.io.
Documentation is available on docs.rs.
To use the package in a Rust project, run
cargo add pytv
If you want to install the pytv
binary, run
cargo install pytv
Features
Python Template
This is the basic feature of this package.
//! a = 1 + 2; # Python inline
assign wire_`a` = wire_b; // Verilog with variable/expression substitute
/*!
b = a ** 2; # Python block
*/
The magic comment string can be configured (!
as default).
Instantiation
The crate feature inst
is enabled by default.
YAML contents between <INST>
and </INST>
are used to provide instantiation information.
Related Auto Generator Projects
- FLAMES: template-based C++ library for Vitis HLS [website] [GitHub] [paper at IEEE] [paper PDF]
- AHDW: a DSL, the predecessor of this project [paper at IEEE] [paper PDF]
Author
Dependencies
~3–5MB
~94K SLoC