14 releases (4 breaking)

new 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

#67 in Template engine

Download history 375/week @ 2024-03-14 418/week @ 2024-03-21 301/week @ 2024-03-28 372/week @ 2024-04-04 155/week @ 2024-04-11

1,251 downloads per month

GPL-3.0-or-later

35KB
711 lines

PyTV

Python Templated Verilog

Crates.io Version docs.rs GitHub

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.

Author

Teddy van Jerry (Wuqiong Zhao)

Dependencies

~3.5–5.5MB
~95K SLoC