individual you can donate tax-free to NLNet, and they can in turn gift
our developers. Contact lkcl@lkcl.net for more information.
-If you want to write code with us, keep reading. If you want to *learn*
+If you want to write code with us (and receive donations from NLNet
+for doing so), keep reading. If you want to *learn*
so that you can write code with us, see below. If there is anything else,
just get in touch on the list, there is plenty to do.
2. The next thing you should do is read through the [bugs
list](http://bugs.libre-riscv.org) and see if there are any bugs that
pique your interest.
-3. After that, go ahead and take a look at the
- [git repositories](https://git.libre-riscv.org).
-Try and clone a repository with
-``git clone https://git.libre-riscv.org/git/repositoryname.git``
+3. After that, go ahead and take a look at the [git repositories](https://git.libre-riscv.org).
+
4. If you plan to do HDL work, you should familiarize yourself with our
[[HDL_workflow]].
5. We do have funding available (see [[nlnet]]) upon completion of issues -
Also note that you can edit this wiki. You can experiment in the [[Sandbox]].
+## Quick peek at the code
+
+Here is an example process of how to play with the soc code:
+
+<div class="jumbotron">
+pip3 install virtualenv requests <br />
+mkdir ~/.virtualenvs && cd ~/.virtualenvs <br />
+python3 -m venv libresoc <br />
+source ~/.virtualenvs/bin/activate <br />
+<br />
+cd ~; mkdir libresoc; cd libresoc <br />
+git clone https://git.libre-riscv.org/git/nmutil.git <br />
+git clone https://git.libre-riscv.org/git/ieee754fpu.git <br />
+git clone --recursive https://git.libre-riscv.org/git/soc.git <br />
+<br />
+cd nmutil; pip3 install -e .; cd .. <br />
+cd ieee754fpu; pip3 install -e .; cd .. <br />
+cd soc; pip3 install -e .; cd .. <br />
+<br />
+# play with the decoder <br />
+python3 soc/src/soc/decoder/power_decoder.py <br />
+<br />
+# after installing yosys <br />
+yosys -p "read_ilang decoder.il; show dec31" <br />
+</div>
+
## How can I learn?
The whole purpose of this project is to be a learning environment as well
Most labor is currently being applied to developing the GPU portion of
the Libre-SOC.
-The highest priority needed at the moment is a c++ engineer to work on
-a MESA 3D driver. This will begin life similar to SwiftShader however
-retaining the vectorisation and predication intrinsics as well as hardware
-accelerated opcodes (all of which SwiftShader lacks)
-
-Medium to long-term we need HDL engineers. Particularly those familiar
+Our highest priority short-term and medium-term: we need HDL engineers.
+Particularly those familiar
with nMigen or just python. Most of the techniques being used require
software engineering skills (OO design, polymorphism) than they do more
traditional HDL programming skills. Basically if you have experience in 2
of the following you'll do fine: python, nmigen, verilog/VHDL/gate-level
design. See [[HDL_workflow]]
+We also need to find a c++ engineer with compiler experience to work on
+a MESA 3D driver. This will begin life similar to SwiftShader however
+retaining the vectorisation and predication intrinsics as well as hardware
+accelerated opcodes (all of which SwiftShader lacks)
+
Also, individuals with experience in formal mathematical verification
are quite welcome.