# Documentation A draft version of the specification is available at ## Codebase Structure The SOC is partitioned into three repositories. The subrepositories are intended as 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 | Documentation | Description | Pypi | |----------|---------------|---------------|-------- | [SOC](https://git.libre-soc.org/?p=soc.git;a=tree) | [Libre-SOC](https://docs.libre-soc.org/soc/) | Main OpenPOWER Hybrid CPU-GPU | | | [FPU](https://git.libre-soc.org/?p=ieee754fpu.git;a=tree) | -- | Equivalent to hardfloat-3 | https://pypi.org/project/libresoc-ieee754fpu | | [nmutil](https://git.libre-soc.org/?p=nmutil.git;a=tree) | -- | Equivalent to Chisel3.util | https://pypi.org/project/libresoc-nmutil | | [OpenPOWER ISA](https://git.libre-soc.org/?p=nmutil.git;a=tree) | [OpenPOWER ISA](https://docs.libre-soc.org/openpower-isa/) | Simulator, ISA spec compiler, co-simulation infrastructure | https://pypi.org/project/libresoc-openpower-isa/ | Also see [[SOC Architecture|3d_gpu/architecture]] ## Installing the Codebase pip3 install virtualenv requests mkdir ~/.virtualenvs && cd ~/.virtualenvs python3 -m venv libresoc source ~/.virtualenvs/libresoc/bin/activate cd ~; mkdir libresoc; cd libresoc git clone https://git.libre-soc.org/git/nmutil.git git clone https://git.libre-soc.org/git/ieee754fpu.git git clone https://git.libre-soc.org/git/soc.git cd nmutil; make install; cd .. cd ieee754fpu; make install; cd .. cd soc; make gitupdate; make install; cd .. python3 soc/src/soc/decoder/power_decoder.py yosys -p "read_ilang decoder.il; show dec31" ## Gtkwave Tutorial [[docs/gtkwave_tutorial]] ## Formal proof notes [[docs/notes_on_formal_proofs]]