Fetch tooling sources
mkdir kestrel-tooling
cd kestrel-tooling
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-tooling/yosys && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-tooling/nextpnr && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-tooling/prjtrellis && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-tooling/ghdl && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-tooling/ghdl-yosys-plugin && cd ../
Install required tooling
cd prjtrellis/libtrellis
cmake -DCMAKE_INSTALL_PREFIX=/usr .
make
make install
cd ../../
cd nextpnr
cmake -DARCH=ecp5 -DTRELLIS_INSTALL_PREFIX=/usr .
make
make install
cd ../
cd ghdl
./configure --prefix=/usr --with-llvm-config
make
make install
cd ../
cd ghdl-yosys-plugin
make
make install
cd ../
Clone all LiteX repositories
mkdir litex-repos
cd litex-repos
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/migen && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/nmigen && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/pythondata-software-compiler_rt && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litex && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/liteeth && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litedram && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litepcie && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litesata && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litesdcard && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/liteiclink && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litevideo && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litescope && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litejesd204b && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litespi && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litehyperbus && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/litex-boards && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/pythondata-misc-tapcfg && cd ../
git clone https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-litex/pythondata-cpu-microwatt && cd ../
Install all packages
for d in */; do cd $d; python3 setup.py develop --user; cd ../; done
Build LiteX for Versa board
./versa_ecp5.py --device=LFE5UM-45F-8BG381C --cpu-type=microwatt --cpu-variant=standard+ghdl --with-ethernet --build
Program Versa board
openocd --log_output openocd.log 3 -f "ecp5-versa5g.cfg" -c "transport select jtag; init; svf build/versa_ecp5/gateware/versa_ecp5.svf; exit"
Interact with SoC
Interact with serial console of bootloader using SCREEN:
screen /dev/ttyUSB0 115200 (interact with serial console of bootloader)
Interact with serial console of bootloader using the special-purpose LiteX debugging tool:
./litex/litex/tools/litex_term.py --speed 115200 /dev/ttyUSB0