A draft version of the specification is available at

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
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

gtkwave tutorial

Formal proof notes

notes on formal proofs

Learning nmigen

learning nmigen

Test API


Pinmux and JTAG Boundary Scan



Currently in Draft form, svp64 is the basis of the Supercomputing Cray-style Vectorisation of the Power ISA.