Skip to content

Latest commit

 

History

History
57 lines (44 loc) · 1.2 KB

File metadata and controls

57 lines (44 loc) · 1.2 KB

bebop

Agile simulation framework for NPUs.

Setup

git clone https://github.com/DangoSys/bebop.git
cd bebop
nix develop

Build

# BEMU is an in-tree emulator backend. It does not need a separate
# simulator artifact build step.
cargo build --features bemu

# Verilator: build an RTL-bound runner executable.
cargo run --features verilator -- build verilator \
  --rtl-dir="<verilog-file-directory-path>" \
  --out-dir="<verilator-artifact-dir>"

# P2E: prepare a VVAC runtime case.
cargo run --features p2e -- build p2e \
  --rtl-dir="<verilog-file-directory-path>" \
  --out-dir="<p2e-case-dir>"

Run

# BEMU
cargo run --features bemu -- run bemu \
  --elf="<elf-file-path>" \
  --log-dir="<log-dir>"

# BEMU with proxy kernel
cargo run --features bemu -- run bemu \
  --elf="<elf-file-path>" \
  --log-dir="<log-dir>" \
  --pk

# Verilator
cargo run --features verilator -- run verilator \
  --elf="<elf-file-path>" \
  --log-dir="<log-dir>"

# P2E run workload
cargo run --features p2e -- run p2e \
  --image="<image-file-path>" \
  --bitstream="<bitstream-file-path>" \
  --log-dir="<p2e-case-dir>"

Verilator waveforms (when enabled) go to <log-dir>/waveform/waveform.fst.