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 模拟器

Download history 83/week @ 2024-03-28 41/week @ 2024-04-04

每月 56 次下载

MIT/Apache

310KB
7K SLoC

kaze

嵌入式于 RustHDL

github crates.io docs.rs license

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-2.0 许可证定义的任何旨在包含在作品中的贡献,均将双许可如上所述,无需附加条款或条件。

依赖项

~110KB