FPGAs: Tang-Nano-Toolchain unter Raspberry Pi OS »Trixie«
Stand: 26. September 2026

Mit Raspberry Pi OS auf Basis von Debian 13 »Trixie« ist die Installation
der Tang-Nano-Toolchain aus Kapitel 6.2.1 deutlich einfacher geworden.
Yosys, nextpnr-gowin, Apicula (gowin_pack) und openFPGALoader gibt es dort
als fertige Pakete. Sie müssen nichts mehr selbst übersetzen und brauchen
weder die Python-Umgebung unter ~/Programme/apycula_env noch die
Pickle-Dateien mit den Chip-Datenbanken, denn die bringt das Paket
python3-apycula gleich mit. Statt rund einer Stunde dauert die
Installation jetzt nur noch wenige Minuten.


Das neue Material zum Buch

Für Trixie habe ich das Material zum Buch überarbeitet. Das neue Paket
Material-zum-Buch-trixie.zip enthält:

- einen neuen Installer toolchain_tang_nano_install.sh, der die vier
  Pakete mit apt installiert und anschließend prüft,
- die Tang-Nano-Beispiele aus dem Buch, mit der neuen Toolchain frisch
  übersetzt. Die Makefiles und blinky.sh verweisen nicht mehr auf die
  Python-Umgebung, und blinky.sh überträgt jetzt mit reduzierter
  JTAG-Frequenz (siehe unten),
- die Datenblätter und Unterlagen zum Tang Nano 9K wie bisher.

Sie laden und installieren es wie in Kapitel 6.2.1 beschrieben, nur mit
dem neuen Dateinamen:

  cd ~
  wget https://www.rippel.info/fpga-buch/Material-zum-Buch-trixie.zip
  unzip Material-zum-Buch-trixie.zip
  cd fpga
  ./toolchain_tang_nano_install.sh 2>&1 | tee install_tang_nano_log.txt

Am Ende meldet das Skript für yosys, nextpnr-gowin, gowin_pack und
openFPGALoader jeweils »... ist korrekt installiert«. Mit

  ./toolchain_tang_nano_install.sh --check

können Sie das später jederzeit prüfen, ohne etwas zu installieren.

Liegt von früher bereits ein Ordner ~/fpga auf Ihrem Raspberry Pi, benennen
Sie ihn vor dem Auspacken um (mv ~/fpga ~/fpga-alt). So vermischen sich
alte und neue Dateien nicht, und Ihre eigenen Projekte bleiben erhalten.


Wenn Sie von Bookworm auf Trixie umgestiegen sind

Haben Sie die Toolchain früher unter Bookworm nach dem Buch installiert,
liegen die selbst übersetzten Programme noch unter /usr/local/bin. Dieser
Ordner steht im Suchpfad vor /usr/bin, die alten Programme würden also
weiter vor den neuen Paketen gefunden. Entfernen Sie sie deshalb, bevor
Sie den alten Ordner ~/fpga umbenennen, denn dafür brauchen Sie die
Quellordner darin:

  cd ~/fpga/git/yosys && sudo make uninstall
  cd ~/fpga/git/nextpnr && xargs sudo rm -v < install_manifest.txt
  cd ~/fpga/git/openFPGALoader/build && xargs sudo rm -v < install_manifest.txt

Die alte Python-Umgebung für Apicula stammt noch vom Python aus Bookworm
und läuft unter Trixie nicht mehr. Sie wird auch nicht mehr gebraucht:

  mv ~/Programme/apycula_env ~/Programme/apycula_env-alt

Nach der Installation des neuen Pakets zeigt Ihnen

  which -a yosys nextpnr-gowin gowin_pack openFPGALoader

wo die Programme liegen. Alle vier sollten unter /usr/bin stehen. Taucht
eines zusätzlich unter /usr/local/bin auf, ist dort noch ein Rest der
alten Installation.


Übertragen auf den Tang Nano 9K

Wie in Kapitel 6.2 und 10.5 beschrieben, übertragen Sie Ihre Designs am
besten mit reduzierter JTAG-Frequenz:

  openFPGALoader -m -b tangnano9k --freq=2000000 datei.fs

Mit den voreingestellten 6 MHz bricht die Übertragung auf dem Raspberry Pi 5
oft mit »usb bulk write failed« ab. Meldet sich der Tang Nano danach gar
nicht mehr, ziehen Sie das USB-Kabel kurz ab und stecken es wieder ein.


Wenn Sie bei Bookworm bleiben

Für Raspberry Pi OS »Bookworm« ändert sich nichts. Sie arbeiten weiter mit
dem bisherigen Material zum Buch und der Installation aus Kapitel 6.1.2
und 6.2.1. Das bisherige Paket steht unverändert unter dem Namen aus dem
Buch zum Download bereit:

  https://www.rippel.info/fpga-buch/Material-zum-Buch.zip


Und der IceZero?

Das neue Paket enthält nur den Tang-Nano-Teil. Möchten Sie den IceZero aus
Kapitel 6.1 unter Trixie verwenden, können Sie sich am neuen
Tang-Nano-Installer orientieren: Auch Yosys, IceStorm (fpga-icestorm),
nextpnr-ice40, Icarus Verilog (iverilog) und arachne-pnr gibt es in
Trixie als fertige Pakete. Ich selbst kann den IceZero leider nicht mehr
testen und die Installation deshalb nicht verlässlich umstellen. Nach allem,
was Sie im Buch schon aufgebaut haben, bin ich mir aber sicher, dass Sie
das hinbekommen.
