re-reserve bit in setvl -- needed for extending registers:
[libreriscv.git] / docs.mdwn
index 1568b0e3ec60a2a9fcc373f41d93862b49735c23..de8dceec05bb62d504699b2a96d45e298db5f024 100644 (file)
--- a/docs.mdwn
+++ b/docs.mdwn
@@ -5,39 +5,37 @@ 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   | Pypi    |
+| 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 | |
-| [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/  |
+| [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
 
-    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" 
+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).
+
+For a simple set of commands to follow, see [[HDL_workflow/devscripts]]. If
+you prefer to do a manual install and explicitly install dependencies
+yourself, in order to verify them, see [[HDL_workflow]]
 
 ## Gtkwave Tutorial
 
@@ -46,3 +44,28 @@ Also see [[SOC Architecture|3d_gpu/architecture]]
 ## Formal proof notes
 
 [[docs/notes_on_formal_proofs]]
+
+## Learning nmigen
+
+[[docs/learning_nmigen]]
+
+## Test API
+
+[[docs/testapi]]
+
+## Pinmux and JTAG Boundary Scan
+
+[[docs/pinmux]]
+
+## pypowersim python-based command-line simulator
+
+[[docs/pypowersim]]
+
+## First steps
+
+[[docs/firststeps]]
+
+## SVP64
+
+Currently in Draft form, [[openpower/sv/svp64]] is the basis of the
+Supercomputing Cray-style Vectorisation of the Power ISA.