# 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"