This repository hosts the hardware and software for the Occamy system-on-chip and its generator. Occamy is a high-efficiency system-on-chip coupling a CVA6 Linux-capable manager core with a many-core accelerator for compute-intensive floating-point workloads, building on the Snitch cluster architecture. It is developed as part of the PULP project, a joint effort between ETH Zurich and the University of Bologna.
To get started, check out the getting started guide.
What can you expect to find in this repository?
- The Occamy system-on-chip generator and hardware sources.
- A runtime and example applications for Occamy.
- An RTL simulation environment for Questa Advanced Simulator.
This code was previously hosted in the Snitch monorepo and was spun off into its own repository to simplify maintenance and dependency handling. The Snitch cluster, on which the Occamy accelerator is based upon, has also moved to its own repo.
Occamy is being made available under permissive open source licenses.
The following files are released under Apache License 2.0 (Apache-2.0
) see LICENSE
:
sw/
util/
The following files are released under Solderpad v0.51 (SHL-0.51
) see hw/LICENSE
:
hw/
@ SNAX Docker: make bootrom CFG_OVERRIDE=target/rtl/cfg/...
@ SNAX Docker: make sw
@ SNAX Docker: make -C target/fpga/sw [APP=???] (Which binary file you want to use)
@ SNAX Docker: make rtl CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make occamy_system_vivado_preparation
@ Barnard3: make occamy_system_vcu128
@ Barnard3: make occamy_system_vcu128_gui
@ SNAX Docker: make bootrom CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make sw CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make -C target/fpga/sw [APP=???] (Which binary file you want to use)
@ SNAX Docker: make rtl CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make hemaia_system_vivado_preparation TARGET_PLATFORM=[vpk180|vcu128]
@ Barnard3: make hemaia_system_vivado TARGET_PLATFORM=[vpk180|vcu128]
@ Barnard3: make hemaia_system_vivado_gui
@ SNAX Docker: make bootrom CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make sw CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make rtl CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make occamy_system_vlt
@ SNAX Docker: target/sim/bin/occamy_top.vlt [Elf location] [--vcd]
@ SNAX Docker: make bootrom CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make sw CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make rtl CFG_OVERRIDE=target/rtl/cfg/...hjson
@ SNAX Docker: make occamy_system_vsim_preparation
@ Barnard3: make occamy_system_vsim
@ Barnard3: target/sim/bin/occamy_top.vsim[.gui] [Elf location]