(no commit message)
[libreriscv.git] / HDL_workflow.mdwn
1 # HDL workflow
2
3 This section describes the workflow for developing the LibreSoC.
4
5 # Hardware
6
7 RAM is the biggest requirement. Minimum 16GB, the more the better. Disk space is not hugely critical: 256GB SSD should be more than adequate. Simulations however are where raw processing power is a must. High end Graphics Cards are nonessential.
8
9 # Operating System
10
11 First install Debian (ubuntu if you absolutely must) for standardisation cross-team and so that toochain installation is greatly simplified.
12
13 A basic GUI desktop is necessary: fvwm2, xfce, lxde are perfectly sufficient (alongside wicd-gtk for network management). Other more complex desktops can be used however may consume greater resources.
14
15 # Software prerequisites
16
17 Whilst many resources advocate sudo in front of all of the root-level command below, this is extremely irritating. run "sudo bash", get a root prompt, and save some typing.
18
19 * apt-get install build-essential
20 * apt-get install git python3.7 python3.7-dev python-nosetest3
21 * apt-get install graphviz xdot
22 * return to user prompt (ctrl-d)
23
24 ## yosys
25
26 Follow the source code (git clone) instructions here: <http://www.clifford.at/yosys/download.html>
27
28 Do not try to use a fixed revision, nmigen is evolving and frequently interacts with yosys
29
30 ## symbiyosys
31
32 Follow the instructions here: <https://symbiyosys.readthedocs.io/en/latest/quickstart.html#installing>
33
34 You do not have to install all of those (avy, boolector can be left out if desired).
35
36 ## nmigen
37
38 nmigen may be installed as follows:
39
40 * mkdir ~/src
41 * cd !$
42 * git clone https://github.com/m-labs/nmigen.git
43 * cd nmigen
44 * sudo bash
45 * python3 setup.py develop
46 * ctrl-d
47
48 testing can then be carried out with "python3 setp.py test"
49
50 # Registering for git repository access
51
52 After going through the onboarding process and having agreed to take responsibility for certain tasks, ask on the mailing list for git repository access, sending in a public key (id_rsa.pub). If you do not have one generate it with ssh-keygen -t rsa.
53
54 NEVER SEND ANYONE THE PRIVATE KEY.
55
56 Create a file ~/.ssh/config with the following lines:
57
58 Host git.libre-riscv.org
59 Port 922
60
61 Wait for the Project Admin to confirm that the ssh key has been added to the required repositories. Once confirmed,
62 you can clone any of the repos at http://git.libre-riscv.org:
63
64 git clone gitolite3@git.libre-riscv.org:REPONAME.git
65