X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=nextpnr-xilinx-install;h=ee250185675cbba75e1108b3b1962bca4e073b7a;hb=HEAD;hp=66e8300845ad175d0ddf7941738322e5f9aae714;hpb=3e7b4f79c060e9c3af48bfa4f66625885e9fc9eb;p=dev-env-setup.git diff --git a/nextpnr-xilinx-install b/nextpnr-xilinx-install index 66e8300..6347b6f 100755 --- a/nextpnr-xilinx-install +++ b/nextpnr-xilinx-install @@ -13,7 +13,10 @@ apt-get install -y libcurl3-gnutls git git-man git clone https://github.com/f4pga/prjxray.git git clone https://github.com/SymbiFlow/prjxray-db.git -git clone https://github.com/gatecat/nextpnr-xilinx.git +# switch to the nextpnr-xilinx source provided by the openXC7 project +# it seems more stable than upstream, for now +# See: https://bugs.libre-soc.org/show_bug.cgi?id=1004#c13 +git clone https://github.com/openXC7/nextpnr-xilinx.git ## Steps to compile prjxray @@ -22,9 +25,12 @@ git clone https://github.com/gatecat/nextpnr-xilinx.git apt-get install -y build-essential make cmake python3 python3-setuptools \ python3-dev python3-numpy cython3 python3-pip -pip3 install textx +pip3 install textx sortedcontainers -sudo apt install cmake default-jre-headless uuid-dev libantlr4-runtime-dev +# this really doesn't work properly, antlr is still not correctly +# detected, (missing ANTLRconfig.cmake) but at least fasm falls back +# to the python version +sudo apt install -y cmake default-jre-headless uuid-dev libantlr4-runtime-dev apt-get install -y wget wget https://files.pythonhosted.org/packages/78/4c/94fb3bdb87bea21406c0e5da375f0b10d7b1e4b5103cea453a2de23b5d61/fasm-0.0.2.post88.tar.gz @@ -36,7 +42,7 @@ cd .. ### Build prjxray cd prjxray -git checkout 18b92012afe2b03f3f975a78c4372c74b60dca0c +git checkout 76401bd93e493fd5ff4c2af4751d12105b0f4f6d git submodule update --init --recursive mkdir build; cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local/nextpnr-xilinx .. @@ -69,22 +75,33 @@ apt-get install -y libboost-thread-dev libboost-iostreams-dev \ libboost-program-options-dev libeigen3-dev libboost-python-dev \ libboost-filesystem-dev -### Build nextpnr-xilinx +### Build nextpnr-xilinx from release 0.7.0 of openXC7 cd nextpnr-xilinx -git checkout 565588a69ea95a52f7c7592f4ed81d9bef6cfb60 +git checkout 14c62813ba93258143c2551f4beb0b7e044c5912 git submodule init git submodule update cmake -DARCH=xilinx -DBUILD_GUI=OFF \ -DCMAKE_INSTALL_PREFIX=/usr/local/nextpnr-xilinx . make -j$(nproc) make install + +# Generate database for fabric: XC7A100T ln -s xc7a100tcsg324-1 xilinx/external/prjxray-db/artix7/xc7a100t python3 xilinx/python/bbaexport.py --device xc7a100tcsg324-1 \ --bba xilinx/xc7a100t.bba ./bbasm --l xilinx/xc7a100t.bba xilinx/xc7a100t.bin + +# Generate database for fabric: XC7A200T +ln -s xc7a200tsbg484-1 xilinx/external/prjxray-db/artix7/xc7a200t +python3 xilinx/python/bbaexport.py --device xc7a200tsbg484-1 \ + --bba xilinx/xc7a200t.bba +./bbasm --l xilinx/xc7a200t.bba xilinx/xc7a200t.bin + install -d -m 0755 /usr/local/nextpnr-xilinx/share/xilinx install -m 0755 xilinx/xc7a100t.bin /usr/local/nextpnr-xilinx/share/xilinx +install -m 0755 xilinx/xc7a200t.bin /usr/local/nextpnr-xilinx/share/xilinx + export XRAY_DIR=/usr/local/nextpnr-xilinx cd ..