Documentation
A draft version of the specification is available at https://ftp.libre-soc.org/power-spec-draft.pdf
Codebase Structure
The SOC is partitioned into four repositories. The subrepositories are intended as general purpose standalone projects useful outside of LibreSOC. For example, the IEE754 FPU repository is a general purpose IEEE754 toolkit for the construction of FSMs and arbitrary length pipelines.
Git Repo | Online docs | Description | Pypi |
---|---|---|---|
SOC | Libre-SOC | Main OpenPOWER Hybrid CPU-GPU | TBD |
FPU | ieee754fpu | Equivalent to hardfloat-3 | libresoc-ieee754fpu |
nmutil | nmutil | Equivalent to Chisel3.util | libresoc-nmutil |
OpenPOWER ISA | OpenPOWER ISA | Simulator, ISA spec compiler, co-simulation infrastructure | libresoc-openpower-isa |
Also see SOC Architecture
Installing the Codebase
Installation is much easier when using the install scripts. A separate script also helps install dependencies and a third can be used to set up a debootstrap chroot. The chroot is useful to ensure stability and repeatable builds: no errors or issues introduced by libraries being wrong versions. Also relevant is the gdb gcc build.
For a simple set of commands to follow, see devscripts. If you prefer to do a manual install and explicitly install dependencies yourself, in order to verify them, see HDL workflow
Gtkwave Tutorial
Formal proof notes
Learning nmigen
Test API
Pinmux and JTAG Boundary Scan
pypowersim python-based command-line simulator
First steps
SVP64
Currently in Draft form, svp64 is the basis of the Supercomputing Cray-style Vectorisation of the Power ISA.