Licence
—
Version
0.3.1
Deps
0
Size
1.2 MB
Vulns
0
Weekly
0
yodl
Yet anOther (hardware) Description Language

Quick links
Installation
npm
The JS build of Yodl can be installed from npm:
$ npm install --global yodl
wasm
A WASI Preview 1 build of yodl is included in this repository:
wasmtime --dir examples res/yodl-wasi.wasm examples/RISCV.yodl "write_firrtl"
To compile FIRRTL outputs to SystemVerilog, install firtool
Usage
$ yodl examples/Hello.yodl "write_firrtl Hello.fir"
$ firtool --format=fir --verilog Hello.fir -o Hello.sv
Development
Install Moonbit:
$ curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash -s '0.10.9+6e6c44045'
Checklist
- FIRRTL export
- Generic multi-port memories
- Imports (TODO: unqualified imports)
- Verilator + SDL graphics simulation example
- Multi-dimensional vectors ([4][8]u16)
- Optional module parameters (and register initial value)
- Arbitrary port types
- Type parameters
- External modules
- Source Maps
- Test Benches
- FIRRTL to RTLIL backend to bypass SystemVerilog generation
- Language Server Protocol (LSP) support
- KiCad schematics export
- Web tour/playground