learn-fpga
rust-wasm
learn-fpga | rust-wasm | |
---|---|---|
22 | 1 | |
2,337 | 86 | |
- | - | |
7.3 | 0.0 | |
18 days ago | 11 months ago | |
C++ | Rust | |
BSD 3-clause "New" or "Revised" License | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
learn-fpga
-
FPGA Dev Boards for $150 or Less
I've followed this tutorial recently, and it's amazing:
https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/...
The author includes detailed instruction for how to build a micro-controller in Verilog on an icestick, starting from a very simple blinker all the way to a functional RISC-V core.
My other suggestion would be: for most of the toolchain, skip your package manager and directly install the binary artifacts published on this Github repo:
https://github.com/YosysHQ/oss-cad-suite-build
You'll spare yourself a world of pain.
- Top Ten Fallacies About RISC-V (David Patterson)
-
What are the best learning resources for a beginner?
You might want to look at https://github.com/BrunoLevy/learn-fpga
-
First FPGA Board
Lattice Icestick is pretty cheap and has just enough LUTs to run a small riscv. Also check out https://github.com/BrunoLevy/learn-fpga
-
My first Risc-V core in FPGA
Thanks Bruno Levy
-
How to Emulate a CPU on an FPGA
These are good starting points: https://github.com/BrunoLevy/learn-fpga/ and, from there, https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/README.md.
-
PicoBlaze in Verilog / Vivado
The best point-of-entry for "tiny" MCUs these days is FemtoRV32-Quark or SERV. I also maintain my own small RISC-V core (Minimax), though it's early on in graduating from "experiment" to "real design".
- looking for ideas for a small project using digilent pmod on xilinx zynq 7 series fpga using hdl (verilog).
-
Embedded Systems Weekly #125
Rust blinky on RISC-V soft core If you were looking for, an introduction example of an embedded Rust program, running on a RISC-V soft core, check out this blinky that is using the FemtoRV .
-
Minimax: A Compressed-First, Microcoded RISC-V CPU
Nope - that's all there is.
It's possible to be incredibly expressive in Verilog and VHDL. This implementation is written in VHDL, which has an outdated reputation for being long-winded.
Also worth a look: FemtoRV32 Quark [0], which is written in Verilog.
[0]: https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/...
rust-wasm
-
Take More Screenshots
It is a lot, but not quite 1000, yet. From https://webassembly.github.io/spec/core/appendix/index-instr... I see 436 instructions including SIMD which is over half the population. If I filtered it correctly, it looks like there are about 203 instructions in Wasm without SIMD. Many of those are not necessary for most programs.
There at least three small Wasm interpreters in Rust
4kloc https://github.com/yblein/rust-wasm
3kloc https://github.com/k-nasa/wai
500loc https://github.com/rustwasm/wasm-bindgen/tree/HEAD/crates/wa...
This list has 169 Wasm instructions https://github.com/rolfrm/wasm-lisp/blob/master/instruction....
Wirth's RISC is neat, I'd love to re-do it in RISC-V (only 47 instructions in the base ISA). UM, Chifir and UXN look like Art (not pejorative), I'll definitely read the Chifir paper. They would be great systems to run on top of Wasm.
https://git.sr.ht/~bctnry/chifir
One might be able squeeze a Chifir VM into an ESP-32 (with external PSRAM).
What are some alternatives?
riscv-v-spec - Working draft of the proposed RISC-V V vector extension
wain - WebAssembly implementation from scratch in Safe Rust with zero dependencies
bubbleos
flexible-vectors - Vector operations for WebAssembly
wai - a wasm interpreter written by rust
openfpga - Open FPGA tools
electron-vlog - Take video recordings, screenshots and time-lapses of your Electron app with ease
Lifeslice - Automatically take webcam pics, screenshot, and other metrics throughout the day.
WasmCert-Isabelle - A mechanisation of Wasm in Isabelle.
wasm-lisp - Experimental Lisp to WebAssembly Compiler