From f63a9a48a489a3e54ee44daf77211eba957a6e4d Mon Sep 17 00:00:00 2001 From: Alessandro Comodi Date: Mon, 15 Mar 2021 18:03:14 +0100 Subject: fpga_interchange: re-add README with updated instructions Signed-off-by: Alessandro Comodi --- fpga_interchange/examples/README.md | 69 +++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 fpga_interchange/examples/README.md (limited to 'fpga_interchange') diff --git a/fpga_interchange/examples/README.md b/fpga_interchange/examples/README.md new file mode 100644 index 00000000..0b7f4ae2 --- /dev/null +++ b/fpga_interchange/examples/README.md @@ -0,0 +1,69 @@ +## FPGA interchange instructions + +These are instructions on how to get the dependencies, generate the FPGA interchange architecture build system and +run some example designs. + + +### Installing dependencies + +Install java and javac if not already installed: +``` +# Or equivalent for your local system. +sudo apt-get install openjdk-10-jdk +``` + +Install capnproto if not already installed. Version 0.7.0 or higher is required. +As stated in the [official instructions](https://capnproto.org/install.html), the version on the common package managers +might not be up to date with the latest version, hence it is suggested to install +from the archive or, in alternative, directly from the git repository. + +Install capnproto-java if not already installed: +``` +git clone https://github.com/capnproto/capnproto-java.git +cd capnproto-java +make +sudo make install +``` + +Install python-fpga-interchange if not already installed: +``` +git clone https://github.com/SymbiFlow/python-fpga-interchange.git +cd python-fpga-interchange.git +python -m pip install -e . +``` + +Clone RapidWright, if not already cloned: +``` +git clone https://github.com/Xilinx/RapidWright.git +cd RapidWright +make update_jars +``` + +### Build instructions + +Once dependencies are installed/cloned, configure the build system for the FPGA interchange. + +From the nextpnr root dir run: + +``` +mkdir build +cd build +cmake .. --DARCH=fpga_interchange -DRAPIDWRIGHT_PATH= -DINTERCHANGE_SCHEMA_PATH= -DPYTHON_INTERCHANGE_PATH= +``` + +To build the xc7a35t architecture, run: +``` +make chipdb-xc7a35t-bin +``` + +To build the example designs run: +``` +make test-fpga_interchange-wire_arty-dcp +``` + +The make targets for the example designs follow the same pattern: `test-fpga_interchange--`, where `output` is the name of the intermediate step of the build which can be: + +- `json`: synthesis output +- `netlist`: logical netlist +- `phys`: physical netlist +- `dcp`: design checkpoint -- cgit v1.2.3