• This repository has been archived on 30/Mar/2024
  • Stars
    star
    194
  • Rank 200,219 (Top 4 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An HDL embedded in Rust.

kaze ι’¨

An HDL embedded in Rust.

github crates.io docs.rs license

kaze provides an API to describe Modules composed of Signals, which can then be used to generate Rust simulator code or Verilog modules.

kaze's API is designed to be as minimal as possible while still being expressive. It's designed to prevent the user from being able to describe buggy or incorrect hardware as much as possible. This enables a user to hack on designs fearlessly, while the API and generators ensure that these designs are sound.

Usage

[dependencies]
kaze = "0.1"

Example

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(())
}

Releases

See changelog for release information.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

More Repositories

1

rustendo64

Livecoding a Nintendo 64 emulator in Rust :D
Rust
653
star
2

elmsteroids

A non-trivial Asteroids clone written in Elm.
Elm
76
star
3

ferris-makes-demos-notes

Notes on the screencast series "Ferris Makes Demos" by @erethedaybreak
36
star
4

fuse-shader-playground

A showcase for `ShaderControl` that provides a shadertoy-like workflow for playing with and displaying shader effects in UX markup.
Uno
22
star
5

snes-apu-dbg

A Qt-based graphical debugger for my snes-apu project.
C++
14
star
6

snes-kefrens-bars

A man walks into some bars..
Assembly
13
star
7

jitter

Testing some x86 jit'y things in Rust
Rust
11
star
8

fuzzy

Virtual Boy serial testing stuff, currently WIP.
Rust
11
star
9

fuse-mini-example-babel-es2015

A mini example to show how Fuse plays nicely with JS transpilers like Babel.
JavaScript
9
star
10

snes_spc

fork of blargg's snes apu emu, used for testing/debugging my own
C++
8
star
11

wisegui

Throwing around ideas for a possible immediate mode GUI lib for simple debuggers etc..
Rust
6
star
12

fuse-example-video-login-screen

Example project to accompany the "Video Login Screen Example" Fuse tutorial video
5
star
13

fuse-example-using-parse

A basic (and obsolete) example showing how to use Parse with Fuse
JavaScript
5
star
14

sintab

Yo dawg, I heard you like sines.
C++
5
star
15

aoc2021

Advent of Code in kaze RTL
Rust
4
star
16

Endure

Simple persistent data structure library for C++11 inspired by (and often baked from) Clojure.
C++
4
star
17

SpcToys

I LIEK SNES WOW
C++
4
star
18

computeshiz

Super basic compute shader playground in rust
Rust
4
star
19

fart-os

Dave sucks.
Assembly
4
star
20

fuse-example-fetching-and-displaying-data

Example project to accompany the "Fetching and Displaying Data" Fuse tutorial video
4
star
21

nvscene-presentation

This was the working outline for my talk at NVScene 2015.
3
star
22

FerrisLibs

Lame-ass C++/C#/F# libs I build shit on; now more or less legacy.
C++
3
star
23

rip-and-tear

Reverse-engineering some c64 demo effects
3
star
24

fuse-with-friends

A simple UI Kit made with Fuse, and a test project/server presented at our Fuse With Friends event.
JavaScript
3
star
25

assistant

Another Rubik's Cube trainer.
JavaScript
2
star
26

msx-playground

What it says on the tin :)
Assembly
2
star
27

Vip8

A CHIP-8 emulator. Relies on FerrisLibs.
C++
2
star
28

mocap

We don't know if they understand the difference between a weapon and a tool.
Rust
2
star
29

ans-playground

New York. No grass.
Rust
2
star
30

chisat

SAT/SMT/model checking playground
Rust
2
star
31

FSharpWorkshop

Resources, code snippets, installation instructions and slides from the Learn F# workshop for OsloSFP.
F#
1
star
32

memo

Let's make an app in Fuse in 15mins :)
1
star
33

watch-your-profamity

"Math is math!"
Rust
1
star
34

fuse-example-uri-launching

Example project to accompany the "Launching Fuse Apps with Uri's" tutorial video.
1
star
35

flaky

Super simple Pebble watch app for http://www.dbfinteractive.com/forum/index.php?topic=6364
Rust
1
star
36

kusanagi

Reverse-engineering the xbox one controller USB protocol and writing a simple driver for OS X.
Rust
1
star
37

assistant-fuse

Another Rubik's Cube trainer, this time on mobile.
JavaScript
1
star
38

pseudoku

Rust
1
star
39

butterball

Just a little trip down memory lane :)
Rust
1
star
40

gaussian

Playing with gaussian kernels for more authentic resampling for snes-apu.
Rust
1
star
41

TasmShiz

a crap parser/codegen for the SnesApu opcode table in Assdk
C#
1
star
42

macroshiz

A prototype lisp-inspired macro system for f# code quotations.
F#
1
star