Snitch Cluster System
The Snitch cluster system (hw/system/snitch_cluster
) is a fundamental system
around a Snitch core. The cluster can be configured using a config file.
The configuration parameters are documented using JSON schema, and documentation is generated for the schema. The configuration options can be found here.
The cluster testbench simulates an infinite memory. The RISC-V ELF file is
preloaded using RISC-V's Front-end Server (fesvr
).
Getting Started
In hw/system/snicht_cluster
:
- Build the software:
mkdir sw/build cd sw/build cmake .. make
-
Compile the model for your simulator:
make bin/snitch_cluster.vlt
make bin/snitch_cluster.vsim
make bin/snitch_cluster.vcs
-
Run a binary on the simulator:
bin/snitch_cluster.vlt path/to/riscv/binary
bin/snitch_cluster.vsim path/to/riscv/binary
bin/snitch_cluster.vcs path/to/riscv/binary
-
Build the traces:
make traces
Configure the Cluster
To configure the cluster with a different configuration, either edit the
configuration files in the cfg
folder or create a new configuration file and
pass it to the Makefile:
make bin/snitch_cluster.vlt CFG=cfg/single-core.hjson
The default config is in cfg/cluster.default.hjson
. Alternatively, you can also
set your CFG
environment variable, the Makefile will pick it up and override
the standard config.