X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs.mdwn;h=a5a4cf9c16d860bc2f2e820d5c5582f79cab8260;hb=947e643a0948e563b6339acc8875180e28685395;hp=9d83092d7aefc417d2cb31114942e5b018c9db6e;hpb=1a54d8fedfab942f1c48a98b291991efe877400b;p=libreriscv.git diff --git a/docs.mdwn b/docs.mdwn index 9d83092d7..a5a4cf9c1 100644 --- a/docs.mdwn +++ b/docs.mdwn @@ -5,23 +5,34 @@ 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 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 | Documentation | Description -|----------|---------------|---------------| -| [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 | -| [nmutil](https://git.libre-soc.org/?p=nmutil.git;a=tree) | -- | Equivalent to Chisel3.util | -| [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 | +| Git Repo | Online docs | 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 | TBD | +| [FPU](https://git.libre-soc.org/?p=ieee754fpu.git;a=tree) | [ieee754fpu](https://docs.libre-soc.org/ieee754fpu/) | Equivalent to hardfloat-3 | [libresoc-ieee754fpu](https://pypi.org/project/libresoc-ieee754fpu) | +| [nmutil](https://git.libre-soc.org/?p=nmutil.git;a=tree) | [nmutil](https://docs.libre-soc.org/nmutil/) | Equivalent to Chisel3.util | [libresoc-nmutil](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 | [libresoc-openpower-isa](https://pypi.org/project/libresoc-openpower-isa/) | Also see [[SOC Architecture|3d_gpu/architecture]] ## Installing the Codebase +Installation is much easier when using the +[install scripts](https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=hdl-dev-repos;hb=HEAD). +A separate script also helps install +[dependencies](https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=install-hdl-apt-reqs;hb=HEAD) +and a third can be used to set up a +[debootstrap chroot]( +https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=mk-deb-chroot;hb=HEAD). +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](https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=ppc64-gdb-gcc;hb=HEAD). + pip3 install virtualenv requests mkdir ~/.virtualenvs && cd ~/.virtualenvs python3 -m venv libresoc @@ -29,12 +40,16 @@ Also see [[SOC Architecture|3d_gpu/architecture]] cd ~; mkdir libresoc; cd libresoc git clone https://git.libre-soc.org/git/nmutil.git + git clone https://git.libre-soc.org/git/openpower-isa.git + git clone https://git.libre-soc.org/git/c4m-jtag.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 .. + cd nmutil; make develop; cd .. + cd openpower-isa; make develop; cd .. + cd c4m-jtag; make develop; cd .. + cd ieee754fpu; make develop; cd .. + cd soc; make gitupdate; make develop; cd .. python3 soc/src/soc/decoder/power_decoder.py yosys -p "read_ilang decoder.il; show dec31" @@ -46,3 +61,8 @@ Also see [[SOC Architecture|3d_gpu/architecture]] ## Formal proof notes [[docs/notes_on_formal_proofs]] + +## Learning nmigen + +[[docs/learning_nmigen]] +