X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=HDL_workflow.mdwn;h=21bc60f45fb53959d15d371e2d78613b393b5227;hb=6562d83cdaddd60ec87f4f99d247839ed996d9d5;hp=d5289139ed03ffa6e61d57cf35b4e2d9a4073db6;hpb=6b250d9c2bcd2e3b8efb4c9ddfd0cbc1983c6a8e;p=libreriscv.git
diff --git a/HDL_workflow.mdwn b/HDL_workflow.mdwn
index d5289139e..21bc60f45 100644
--- a/HDL_workflow.mdwn
+++ b/HDL_workflow.mdwn
@@ -40,9 +40,6 @@ The main message here: **use the right tool for the right job**.
* ftp server (): large (temporary,
auto-generated) file store.
-We will add an IRC channel at some point when there are enough people
-to warrant having one (and it will be publicly archived)
-
Note also the lack of a "forum" in the above list. this is very
deliberate. forums are a serious distraction when it comes to technical
heavily goal-orientated development. recent internet users may enjoy
@@ -285,6 +282,11 @@ access to ultra-high resolution screens.
# Software prerequisites
+**Please make sure if you install manually that you install dependencies
+in strict order. Failing to adhere to this will result in pip3 downloading
+unauthorised older software versions. See
+**
+
Whilst many resources online advocate "`sudo`" in front of all root-level
commands below, this quickly becomes tiresome. run "`sudo bash`", get a
root prompt, and save yourself some typing.
@@ -292,7 +294,7 @@ root prompt, and save yourself some typing.
* sudo bash
* apt-get install vim exuberant-ctags
* apt-get install build-essential
-* apt-get install git python3.7 python3.7-dev python-nosetest3
+* apt-get install git python3.7 python3.7-dev python3-nose
* apt-get install graphviz xdot gtkwave
* apt-get install python3-venv
* apt-get install python-virtualenv # this is an alternative to python3-venv
@@ -335,6 +337,9 @@ relevant unit tests pass 100%. This ensures that people's work does not
get "lost" or isolated and out of touch due to major branch diversion,
and that people communicate and coordinate with each other.
+This is not a hard rule: under special cirmstances branches can be useful.
+They should not however be considered "routine".
+
## yosys
Follow the source code (git clone) instructions here, do **not** use
@@ -374,7 +379,11 @@ flows.
## nmigen
-[nmigen](https://m-labs.hk/gateware/nmigen/) may be installed as follows:
+**PLEASE NOTE: it is critical to install nmigen as the first dependency
+prior to installing any further python-based Libre-SOC HDL repositories.
+If "pip3 list" shows that nmigen has been auto-installed please remove it**
+
+[nmigen](https://nmigen.info/) may be installed as follows:
* mkdir ~/src
* cd !$
@@ -534,7 +543,9 @@ See [[HDL_workflow/coriolis2]] page, for those people doing layout work.
A portable FPGA place and route tool.
-See [[HDL_workflow/nextpnr]] page for installation instructions of nextpnr with ECP5 support for Lattice FPGA ECP5 series.
+See [[HDL_workflow/nextpnr]] page for installation instructions of nextpnr with ECP5 support for Lattice FPGA ECP5 series. Also see
+[[HDL_workflow/ECP5_FPGA]] for connecting up to JTAG with a ULX3S
+and the Lattice VERSA_ECP5.
## Verilator
@@ -570,10 +581,12 @@ See [[HDL_workflow/cocotb]] page for installation instructions.
## Symbiflow
-needed for the Arty A7 100t Digilent FPGA board
+A fully open source toolchain for the development of FPGAs. Currently it targets Xilinx 7-series, Lattice iCE40 and ECP5, Quicklogic EOS S3.
+
+Needed for the Arty A7 100t Digilent FPGA board.
See [[HDL_workflow/symbiflow]] for installation instructions
-and dependencies
+and dependencies.
# Registering for git repository access
@@ -646,6 +659,10 @@ Before running the following, install the
dependencies. This is easiest done with this script
+**It is critically important to install these in STRICT order, otherwise
+pip3 interferes and performs unauthorised downloads without informing
+you of what it is doing**.
+
* mkdir ~/src
* cd !$
* git clone gitolite3@git.libre-soc.org:nmigen.git
@@ -656,7 +673,7 @@ dependencies. This is easiest done with this script
* git clone gitolite3@git.libre-soc.org:nmigen-soc.git
* git clone gitolite3@git.libre-soc.org:soc.git
-In each of these directories, in the order listed, track down the
+In each of these directories, **in the order listed***, track down the
`setup.py` file, then, as root (`sudo bash`), run the following:
* python3 setup.py develop
@@ -667,7 +684,9 @@ for multi-user machine use however it is often just easier to get your
own machine these days.
The reason for the order is because soc depends on ieee754fpu, and
-ieee754fpu depends on nmutil
+ieee754fpu depends on nmutil. If you do not follow the listed order
+pip3 will go off and download an arbitrary version without your
+consent.
If "`python3 setup.py install`" is used it is a pain: edit, then
install. edit, then install. It gets extremely tedious, hence why