Arctic Tern
The Talos II and Blackbird uses the AST2500 for it's Base Management Controller, which handles power on and power off requests and other tasks. The AST2500 boots both computers slowly and is not open source friendly. Raptor Engineering created the Arctic Tern FPGA as a replacement BMC, which boots both computers nearly instantly.
The Arctic Tern Manual can be a little light on some details. This page is intended to provide additional information to help you get started using arctic tern. Raptor does not provide a downloadable binary that one can flash to an Arctic tern. Instead one needs to compile the image from source. It is highly recommended that you use Debian 11 to compile the binary. If you struggle compiling the firmware from source, then you can just use raptors' binaries directly.
You can find debian 11's net-install iso image here. You may need to install Debian 11 on a power9 machine with a com port. Once you have installed debian 11, add the below line to /etc/apt/sources.list, so that you can install packages.
deb https://archive.debian.org/debian/ bullseye main contrib
Then run sudo apt update. Now you can install packages. I found myself needing to install these additional packages:
sudo apt install cmake libftdi1-dev libarchive-zip-perl
yosys gotchas
I found myself having to run this command to properly set up yosys.
git submodule update --init
I also found out that yosys was installed to /usr/usr/local/bin/yosys. I made some symlinks from /usr/usr/local/bin/yosys to /usr/local/bin/.
nextpnr gotchas
I could not get the manual's cmake invocation to work:
cmake -DARCH=ecp5 -DTRELLIS_INSTALL_PREFIX=/usr .
I ended up having to upgrade to upgrade my cmake to a newer version via debian backports. Just add this line to /etc/apt/sources.list:
deb https://archive.debian.org/debian/ bullseye-backports main contrib
Then you run to run sudo apt update. Now you can install a newer version of cmake via sudo apt install -t bullseye-backports cmake. This is the cmake invocation that worked for me.
cmake . -B build -DARCH=ecp5 -DTRELLIS_INSTALL_PREFIX=/usr
systemd gotchas
systemd may try to set up a serial-getty on /dev/ttyUSB0 device for you, which may cause some issues. Simply disable it via:
sudo systemctl stop serial-getty@USB0.service
sudo systemctl disable serial-getty@USB0.service
Also stop and disable any systemd's serial getty services. You can search for these services via:
systemctl status "serial-getty@*.service"
Then disable them via
sudo systemctl stop serial-getty@SERVICENAME.service
sudo systemctl disable serial-getty@SERVICE.service
You may need to stop these services at every boot. For some reason, systemd may not properly disable these services.
You watch a playlist of hopefully some helpful videos.