errors · 3.4nextpnr-xilinx, the first time you run it
nextpnr-xilinx: where is the chip database for the XC7A35T?
nextpnr-xilinx built fine, and now it wants --chipdb pointing at a .bin file that does not exist anywhere on your disk or in the download.
Why does it happen?
nextpnr knows how to place and route, but it knows nothing about a specific chip. The description of every part and every wire on the XC7A35T is generated from prjxray's database, and no prebuilt copy is shipped. You generate it once per device.
What is the fix?
The raw data came along with the --recursive clone of nextpnr-xilinx, so nothing extra is downloaded. The Python is the venv from the PEP 668 wall.
mkdir -p ~/fpga/chipdb
cd ~/fpga/nextpnr-xilinx
~/fpga/venv/bin/python xilinx/python/bbaexport.py \
--xray xilinx/external/prjxray-db/artix7 \
--metadata xilinx/external/nextpnr-xilinx-meta/artix7 \
--device xc7a35tcpg236-1 \
--constids xilinx/constids.inc \
--bba ~/fpga/chipdb/xc7a35t.bba
build/bbasm -l ~/fpga/chipdb/xc7a35t.bba ~/fpga/chipdb/xc7a35t.bin
The first command takes about 35 seconds and writes a 256 MB text file. The second takes 3 seconds and packs it into the 89 MB binary that nextpnr reads. Peak memory during generation was 859 MB. For a different 7-series board, change --device to that board's chip name; openFPGALoader --list-boards prints it.
Section 3.4 of the guide: Chip database.