# HDL workflow This section describes the workflow for developing the LibreSoC. # Hardware 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. # Operating System First install Debian (ubuntu if you absolutely must) for standardisation cross-team and so that toochain installation is greatly simplified. 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. # Software prerequisites 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. * apt-get install build-essential * apt-get install git python3.7 python3.7-dev python-nosetest3 * apt-get install graphviz xdot * return to user prompt (ctrl-d) ## yosys Follow the source code (git clone) instructions here: Do not try to use a fixed revision, nmigen is evolving and frequently interacts with yosys ## symbiyosys Follow the instructions here: You do not have to install all of those (avy, boolector can be left out if desired). ## nmigen nmigen may be installed as follows: * mkdir ~/src * cd !$ * git clone https://github.com/m-labs/nmigen.git * cd nmigen * sudo bash * python3 setup.py develop * ctrl-d testing can then be carried out with "python3 setp.py test" # Registering for git repository access 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. NEVER SEND ANYONE THE PRIVATE KEY. Create a file ~/.ssh/config with the following lines: Host git.libre-riscv.org Port 922 Wait for the Project Admin to confirm that the ssh key has been added to the required repositories. Once confirmed, you can clone any of the repos at http://git.libre-riscv.org: git clone gitolite3@git.libre-riscv.org:REPONAME.git