#!/usr/bin/env bash # This script requires an XC7A50T family part set -ex source ${XRAY_DIR}/utils/environment.sh export XRAY_PINCFG=${XRAY_PINCFG:-ARTY-A7-SWBUT} export BUILD_DIR=${BUILD_DIR:-build} # not part of the normal DB # to generate: cat >/dev/null </dev/null # 6x by 18y CLBs (108) if [ $SMALL = Y ] ; then echo "Design: small" export PITCH=1 export DIN_N=8 export DOUT_N=8 export XRAY_ROI=SLICE_X12Y100:SLICE_X17Y117 # 16x by 50y CLBs (800) else echo "Design: large" export PITCH=3 export DIN_N=8 export DOUT_N=8 export XRAY_ROI=SLICE_X12Y100:SLICE_X27Y149 fi mkdir -p $BUILD_DIR pushd $BUILD_DIR cat >defines.v <design.segp ${XRAY_DIR}/tools/segprint2fasm.py design.segp design.fasm ${XRAY_DIR}/tools/fasm2frame.py design.fasm design.frm # Hack to get around weird clock error related to clk net not found # Remove following lines: #set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets clk_IBUF] #set_property FIXED_ROUTE { { CLK_BUFG_BUFGCTRL0_O CLK_BUFG_CK_GCLK0 ... CLK_L1 CLBLM_M_CLK } } [get_nets clk_net] if [ -f fixed.xdc ] ; then cat fixed.xdc |fgrep -v 'CLOCK_DEDICATED_ROUTE FALSE' |fgrep -v 'set_property FIXED_ROUTE { { CLK_BUFG_BUFGCTRL0_O' >fixed_noclk.xdc fi popd