Important
Since May 2022, packages providing Architecture Definition assets do not include CLI
utilities/wrappers to interact with Yosys, Verilog-to-Routing, etc.
For backwards compatibility, end-users can install Python package f4pga
from
gh:chipsalliance/f4pga.
For instance:
pip install https://github.com/chipsalliance/f4pga/archive/main.zip#subdirectory=f4pga
.
Pre-built architecture files¶
The Continuous Integration (CI) system in this repository builds and uploads the various Architecture Definition data files as tarballs. Those can be used along with yosys, vpr, nextpnr, etc. to synthesize and place-and-route HDL designs.
For each vendor, a common package needs to be extracted. Then, for each family, an additional package might be required. For instance, the following script installs packages for all the supported Xilinx 7-Series devices and for QuickLogic’s EOS-S3:
F4PGA_TIMESTAMP='20220803-160711'
F4PGA_HASH='df6d9e5'
case $FPGA_FAM in
xc7) F4PGA_PACKAGES='install-xc7 xc7a50t_test xc7a100t_test xc7a200t_test xc7z010_test' ;;
eos-s3) F4PGA_PACKAGES='install-ql ql-eos-s3_wlcsp' ;;
esac
for PKG in $F4PGA_PACKAGES; do
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/${F4PGA_TIMESTAMP}/symbiflow-arch-defs-${PKG}-${F4PGA_HASH}.tar.xz \
| tar -xJC ${F4PGA_INSTALL_DIR}/${FPGA_FAM}
done
Moreover, a set of text files with links to the latest tarballs is generated and uploaded to both a dedicated GCS bucket and as assets of GitHub Release ‘latest’. In order to get those, use the following command in the for loop:
wget -qO- $(wget -qO- https://github.com/SymbiFlow/f4pga-arch-defs/releases/download/latest/symbiflow-${PKG}-latest) \
| tar -xJC ${F4PGA_INSTALL_DIR}/${FPGA_FAM}