npm.io
0.3.1 • Published 1 month agoCLI

yodl

Licence
—
Version
0.3.1
Deps
0
Size
1.2 MB
Vulns
0
Weekly
0

yodl

Yet anOther (hardware) Description Language

Parallel Game Of Life

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