20 个版本
0.1.19 | 2021年3月14日 |
---|---|
0.1.18 | 2020年12月13日 |
0.1.14 | 2020年11月29日 |
0.1.11 | 2020年7月19日 |
0.1.7 | 2020年3月27日 |
#60 in 模拟器
每月 56 次下载
310KB
7K SLoC
kaze 風
kaze 提供了一个 API 来描述由 Signal
组成的 Module
,然后可以用来生成 Rust 模拟器代码或 Verilog 模块。
kaze 的 API 设计得尽可能简洁,同时仍然具有表达性。它旨在尽可能防止用户描述有缺陷或不正确的硬件。这使得用户可以无畏地修改设计,同时 API 和生成器确保这些设计是可靠的。
使用方法
[dependencies]
kaze = "0.1"
示例
use kaze::*;
fn main() -> std::io::Result<()> {
// Create a context, which will contain our module(s)
let c = Context::new();
// Create a module
let inverter = c.module("Inverter");
let i = inverter.input("i", 1); // 1-bit input
inverter.output("o", !i); // Output inverted input
// Generate Rust simulator code
sim::generate(inverter, sim::GenerationOptions::default(), std::io::stdout())?;
// Generate Verilog code
verilog::generate(inverter, std::io::stdout())?;
Ok(())
}
版本
有关版本信息,请参阅 变更日志。
许可证
许可协议为以下之一:
- Apache License,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的任何旨在包含在作品中的贡献,均将双许可如上所述,无需附加条款或条件。
依赖项
~110KB