WIP build Xilinx FPGA dependencies in CI

This commit is contained in:
Jacob Lifshay 2025-10-10 00:38:32 -07:00
parent 0306d3b07d
commit 338ce7ed32
Signed by: programmerjake
SSH key fingerprint: SHA256:HnFTLGpSm4Q4Fj502oCFisjZSoakwEuTsJJMSke63RQ

View file

@ -30,22 +30,71 @@ jobs:
build-essential \
ccache \
clang \
cmake \
cvc5 \
default-jre-headless \
flex \
gawk \
g++ \
gawk \
git \
libantlr4-runtime-dev \
libboost-filesystem-dev \
libboost-iostreams-dev \
libboost-program-options-dev \
libboost-python-dev \
libboost-system-dev \
libboost-thread-dev \
libeigen3-dev \
libffi-dev \
libreadline-dev \
lld \
openfpgaloader \
pkg-config \
python3 \
python3-click \
python3-venv \
tcl-dev \
uuid-dev \
zlib1g-dev
- name: Create venv
if: steps.restore-deps.outputs.cache-hit != 'true'
run: |
python3 -m venv deps/venv
source deps/venv/bin/activate
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $FORGEJO_ENV
echo "$VIRTUAL_ENV/bin" >> $FORGEJO_PATH
- name: Build prjxray
if: steps.restore-deps.outputs.cache-hit != 'true'
run: |
git clone https://github.com/SymbiFlow/prjxray.git deps/prjxray
(cd deps/prjxray; git checkout c9f02d8576042325425824647ab5555b1bc77833)
(cd deps/prjxray; git submodule update --init --recursive)
mkdir -p deps/prjxray/build
(cd deps/prjxray/build; cmake ..)
(cd deps/prjxray/build; make -j$(nproc))
(cd deps/prjxray/build; make install)
(cd deps/prjxray; pip install -r requirements.txt)
- name: Get prjxray-db
if: steps.restore-deps.outputs.cache-hit != 'true'
run: |
git clone https://github.com/openXC7/prjxray-db.git deps/prjxray-db
(cd deps/prjxray-db; git checkout 381966a746cb4cf4a7f854f0e53caa3bf74fbe62)
- name: Build xcfasm
if: steps.restore-deps.outputs.cache-hit != 'true'
run: |
git clone https://github.com/chipsalliance/f4pga-xc-fasm.git deps/f4pga-xc-fasm
(cd deps/f4pga-xc-fasm; git checkout 25dc605c9c0896204f0c3425b52a332034cf5e5c)
(cd deps/f4pga-xc-fasm; pip install -e .)
- name: Build nextpnr-xilinx
if: steps.restore-deps.outputs.cache-hit != 'true'
run: |
git clone https://github.com/openXC7/nextpnr-xilinx.git deps/nextpnr-xilinx
(cd deps/nextpnr-xilinx; git checkout 724db28b41e68568690a5ea1dd9ce5082362bb91)
(cd deps/nextpnr-xilinx; git submodule update --init --recursive)
mkdir -p deps/nextpnr-xilinx/build
(cd deps/nextpnr-xilinx/build; cmake -DARCH=xilinx -DUSE_OPENMP=ON -DBUILD_GUI=OFF ..)
(cd deps/nextpnr-xilinx/build; make -j$(nproc))
(cd deps/nextpnr-xilinx/build; make install)
- name: Install Firtool
if: steps.restore-deps.outputs.cache-hit != 'true'
run: |