(no commit message)
[libreriscv.git] / docs.mdwn
1 # Documentation
2
3 A draft version of the specification is available at
4 <https://ftp.libre-soc.org/power-spec-draft.pdf>
5
6 ## Codebase Structure
7
8 The SOC is partitioned into three repositories. The subrepositories are
9 intended as standalone projects useful outside of LibreSOC. For example,
10 the IEE754 FPU repository is a general purpose IEEE754 toolkit for the
11 construction of FSMs and arbitrary length pipelines.
12
13 | Git Repo | Documentation | Description
14 |----------|---------------|---------------|
15 | [SOC](https://git.libre-soc.org/?p=soc.git;a=tree) | [Libre-SOC](https://docs.libre-soc.org/soc/) | Main OpenPOWER Hybrid CPU-GPU |
16 | [FPU](https://git.libre-soc.org/?p=ieee754fpu.git;a=tree) | -- | Equivalent to hardfloat-3 |
17 | [nmutil](https://git.libre-soc.org/?p=nmutil.git;a=tree) | -- | Equivalent to Chisel3.util |
18 | [OpenPOWER ISA](https://git.libre-soc.org/?p=nmutil.git;a=tree) | [OpenPOWER ISA](https://docs.libre-soc.org/openpower-isa/
19 ) | Simulator, ISA spec compiler, co-simulation infrastructure |
20
21
22 Also see [[SOC Architecture|3d_gpu/architecture]]
23
24 ## Installing the Codebase
25
26 pip3 install virtualenv requests
27 mkdir ~/.virtualenvs && cd ~/.virtualenvs
28 python3 -m venv libresoc
29 source ~/.virtualenvs/libresoc/bin/activate
30
31 cd ~; mkdir libresoc; cd libresoc
32 git clone https://git.libre-soc.org/git/nmutil.git
33 git clone https://git.libre-soc.org/git/ieee754fpu.git
34 git clone https://git.libre-soc.org/git/soc.git
35
36 cd nmutil; make install; cd ..
37 cd ieee754fpu; make install; cd ..
38 cd soc; make gitupdate; make install; cd ..
39
40 python3 soc/src/soc/decoder/power_decoder.py
41 yosys -p "read_ilang decoder.il; show dec31"
42
43 ## Gtkwave Tutorial
44
45 [[docs/gtkwave_tutorial]]
46
47 ## Formal proof notes
48
49 [[docs/notes_on_formal_proofs]]