dettus
Bicycle User
Juchu!
Endlich kann ich FPGA basteln von OpenBSD aus machen.
Genauer gesagt habe ich es geschafft, mit geringem Aufwand dieses Projekt hier zum Laufen zu bringen:
gitlab.com
Auf dem hier:
Dazu musste ich mir fuenf Git-Projekte runterladen und kompilieren:
1. yosys https://github.com/yosyshq/yosys (Die Version in den ports ist leider zu alt
)
2. Project Peppercorn https://github.com/YosysHQ/prjpeppercorn
3. NextPNR https://github.com/YosysHQ/nextpnr
4. openFPGAloader https://github.com/trabucayre/openFPGALoader
5. spaceinvaders-fpga https://gitlab.com/x653/spaceinvaders-fpga
ICH WEISS NICHT MEHR GENAU, WIE DAS NOCH WAR, ich glaube ich habe noch die libftdi,eigen3 und boost lib installieren muessen.
Als erstes habe ich nextpnr compiliert. Mit project Peppercorn als abhaengigkeit:
Danach in Project Peppercorn nochmal die libgm
Der openFPGAloader braucht ein wenig Patches
Da fehlt das include <sys/socket.h>
Dann :x! und
Als letztes noch yosys. Das ist auch etwas pretitioes.
Aber dann gehts los:
Da muss die Zeile mit dem TOOLCHAIN auskommentiert werden:
dann synthetisieren und compilieren
VGA-Monitor anschliessen, PS/2 Tastatur anschliessen, USB-C Kabel anschliessen, hochladen mit
und losballern.
Endlich kann ich FPGA basteln von OpenBSD aus machen.
Genauer gesagt habe ich es geschafft, mit geringem Aufwand dieses Projekt hier zum Laufen zu bringen:
Michael Schröder / spaceinvaders-fpga · GitLab
Implementation of Intel8080 cpu written in verilog running spaceinvaders.
Auf dem hier:
Dazu musste ich mir fuenf Git-Projekte runterladen und kompilieren:
1. yosys https://github.com/yosyshq/yosys (Die Version in den ports ist leider zu alt
)2. Project Peppercorn https://github.com/YosysHQ/prjpeppercorn
3. NextPNR https://github.com/YosysHQ/nextpnr
4. openFPGAloader https://github.com/trabucayre/openFPGALoader
5. spaceinvaders-fpga https://gitlab.com/x653/spaceinvaders-fpga
ICH WEISS NICHT MEHR GENAU, WIE DAS NOCH WAR, ich glaube ich habe noch die libftdi,eigen3 und boost lib installieren muessen.
Als erstes habe ich nextpnr compiliert. Mit project Peppercorn als abhaengigkeit:
Code:
cd nextpnr
mkdir build
cd build
cmake .. -DARCH="himbaechel" -DHIMBAECHEL_UARCH="gatemate" -DHIMBAECHEL_PEPPERCORN_PATH=../../prjpeppercorn
make
doas make install
Danach in Project Peppercorn nochmal die libgm
Code:
cd prjpeppercorn/libgm
mkdir build
cd build
cmake ..
make
doas make install
Der openFPGAloader braucht ein wenig Patches
Code:
cd openFPGALoader
vi src/xvc_server.cpp
Da fehlt das include <sys/socket.h>
Code:
#include "xvc_server.hpp"
#include <arpa/inet.h>
#include <sys/socket.h>
#include <errno.h>
#include <netinet/tcp.h>
#include <unistd.h>
#include <cstring>
#include <stdexcept>
Dann :x! und
Code:
mkdir build
cd build
cmake ..
make
doas make install
Als letztes noch yosys. Das ist auch etwas pretitioes.
Code:
cd yosys
git submodule update --init
gmake
doas git config --global --add safe.directory `pwd`
doas git submodule update --init
doas gmake install
Aber dann gehts los:
Code:
cd spaceinvaders-fpga
vi Makefile
Da muss die Zeile mit dem TOOLCHAIN auskommentiert werden:
Code:
#TOOLCHAIN = /opt/oss-cad-suite/bin/
OFL = $(TOOLCHAIN)openFPGALoader
NEXTPNR = $(TOOLCHAIN)nextpnr-himbaechel
YOSYS = $(TOOLCHAIN)yosys
GMPACK = $(TOOLCHAIN)gmpack
dann synthetisieren und compilieren
Code:
make code.bin
make build
make upload
VGA-Monitor anschliessen, PS/2 Tastatur anschliessen, USB-C Kabel anschliessen, hochladen mit
Code:
doas make upload
und losballern.