nextpnr/himbaechel/uarch/xilinx/examples/bitgen_xray.sh
gatecat 5bfe0dd1b1 himbaechel: Adding a xilinx uarch for xc7 with prjxray
Signed-off-by: gatecat <gatecat@ds0.me>
2023-11-14 17:12:09 +01:00

35 lines
865 B
Bash
Executable File

#!/usr/bin/env bash
set -e
if [ -z "$PRJXRAY" ]; then
echo "\$PRJXRAY must be set to a path to the prjxray repo"
exit 2
fi
if [ -z "$PRJXRAY_DB" ]; then
echo "\$PRJXRAY_DB must be set to a path to the prjxray-db repo"
exit 2
fi
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
echo "Usage: bitgen_xray.sh <device> <design.fasm> <design.bit>"
exit 2
fi
DEVICE="$1"
FRAMES="$3.frames"
if [[ "$DEVICE" =~ xc7a.* ]]; then
FAMILY=artix7
elif [[ "$DEVICE" =~ xc7z.* ]]; then
FAMILY=zynq7
elif [[ "$DEVICE" =~ xc7k.* ]]; then
FAMILY=kintex7
else
echo "Unknown device $DEVICE"
exit 2
fi
python3 ${PRJXRAY}/utils/fasm2frames.py --part "${DEVICE}" --db-root "${PRJXRAY_DB}/${FAMILY}" "$2" "$FRAMES"
${PRJXRAY}/build/tools/xc7frames2bit --part_file "${PRJXRAY_DB}/${FAMILY}/${DEVICE}/part.yaml" --part_name ${DEVICE} --frm_file "$FRAMES" --output_file "$3"