8个版本
0.3.3 | 2022年11月20日 |
---|---|
0.3.2 | 2022年11月20日 |
0.3.1 | 2022年10月4日 |
0.3.0 | 2021年5月20日 |
0.1.0 | 2020年7月23日 |
#392 in 编程语言
884 每月下载量
在 5 个crate中使用 (直接使用2个)
85KB
3K SLoC
Verilog AST (VAST)
VAST是一个用于构建和操作Verilog抽象语法树的Rust库。目标是支持标准2005年和2017年两个不同版本的特性,分别是 v05 和 v17。subset 目录包含两个版本共有的类型。
使用VAST
将 vast
添加到您的 Cargo.toml
中,如下所示
[dependencies]
vast = "0.3.0"
创建Verilog-2005模块
use vast::v05::ast::Module;
fn main() {
let mut module = Module::new("foo");
module.add_input("a", 32);
let res = module.to_string();
let exp = r#"module foo (
input wire [31:0] a
);
endmodule
"#;
assert_eq!(res, exp);
}
创建SystemVerilog-2017模块
use vast::v17::ast::Module;
fn main() {
let mut module = Module::new("foo");
module.add_input("a", 32);
let res = module.to_string();
let exp = r#"module foo (
input logic [31:0] a
);
endmodule
"#;
assert_eq!(res, exp);
}
依赖项
~1.5MB
~21K SLoC