mirror of
https://github.com/openXC7/prjxray.git
synced 2026-09-04 08:44:26 +02:00
Port prjxray to the Virtex-7 family, modelled on Kintex-7, targeting xc7vx485tffg1761-2 (vc707). Non-breaking for the existing families. Family registration: - settings/virtex7.sh, settings/virtex7/devices.yaml - Makefile: virtex7 in DATABASES/XRAY_PARTS + db-extras-virtex7 targets - utils/update_parts.py, update_resources.py: virtex7 choice - CI matrix (Pipeline.yml), Vivado edition (xilinx.sh), README Architecture adaptations for the HP-bank-only VX part (verified non-breaking): - update_resources.tcl: fall back to HP banks when no HR banks exist - XRAY_IOSTANDARD env (default LVCMOS33; LVCMOS18 for virtex7), parameterised across the fuzzer generate.tcl files - fuzzers: enable HP-bank (iob18/ioi18) + IOI/HCLK handling for virtex7; GTX skipped (ffg1761 bonds only ~7 of 14 GTX quads) - 005-tilegrid: HP/HR bank tile handling; iob18_int INT offset 3->2; ioi18 AUTO_FRAME; cfg PDRC-2 DRC disable; add_tdb skips unsolved edge tiles; per-specimen retry for transient FlexLM SIGSEGV under concurrency - per-family Vivado version gate (virtex7 -> v2020.1.1) - XRAY_ROI and XRAY_ROI_GRID tuned to a compact CLBLL+CLBLM region General fixes: - tools/bitread.cc: fix use-after-free of the mmap'd bitstream (exposed by the larger Virtex-7 bitstream) - utils/environment.python.sh: add repo root to PYTHONPATH (PEP 660 editable install doesn't expose the repo-root utils/ package) Co-Authored-By: Claude Opus 4.7 <[email protected]>
78 lines
2.0 KiB
Bash
Executable File
78 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (C) 2017-2022 The Project X-Ray Authors.
|
|
#
|
|
# Use of this source code is governed by a ISC-style
|
|
# license that can be found in the LICENSE file or at
|
|
# https://opensource.org/licenses/ISC
|
|
#
|
|
# SPDX-License-Identifier: ISC
|
|
|
|
echo
|
|
echo "========================================"
|
|
echo "Xilinx proprietary toolchain setup."
|
|
echo "----------------------------------------"
|
|
|
|
echo
|
|
echo "Fix up the Xilinx configuration directory"
|
|
echo "----------------------------------------"
|
|
mkdir -p ~/.Xilinx
|
|
ls -l ~/.Xilinx
|
|
mkdir ~/.ssh
|
|
echo
|
|
echo "Fixing loader to be able to run lmutils"
|
|
echo "----------------------------------------"
|
|
ln -s /lib64/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
|
|
|
|
export XILINX_LOCAL_USER_DATA=no
|
|
echo "----------------------------------------"
|
|
|
|
echo
|
|
echo "Select Xilinx Vivado version"
|
|
echo "----------------------------------------"
|
|
(
|
|
set -e
|
|
cd /opt
|
|
if [ x"$XRAY_SETTINGS" = x"kintex7" ] || [ x"$XRAY_SETTINGS" = x"virtex7" ]; then
|
|
echo "Using Xilinx Vivado Design Edition for $XRAY_SETTINGS build."
|
|
echo
|
|
ln -s /mnt/aux/Xilinx-design /opt/Xilinx
|
|
ls -l Xilinx
|
|
echo
|
|
else
|
|
ln -s /mnt/aux/Xilinx /opt/Xilinx
|
|
echo "Using Xilinx Vivado WebPack Edition for $XRAY_SETTINGS build."
|
|
ls -l Xilinx
|
|
fi
|
|
)
|
|
echo "----------------------------------------"
|
|
|
|
|
|
echo
|
|
echo "List /opt directory"
|
|
echo "----------------------------------------"
|
|
ls -l /opt
|
|
echo "----------------------------------------"
|
|
|
|
echo $GHA_SSH_TUNNEL_CONFIG_SECRET_NAME
|
|
if [[ ! -z "$USE_LICENSE_SERVER" ]]; then
|
|
|
|
echo
|
|
echo "Xilinx license server ssh key found, checking the license"
|
|
echo
|
|
|
|
echo "127.0.0.1 xlic.int" | sudo tee -a /etc/hosts
|
|
|
|
source /opt/Xilinx/Vivado/2017.2/settings64.sh
|
|
export PATH=/opt/Xilinx/Vivado/2017.2/bin/unwrapped/lnx64.o:$PATH
|
|
echo "-----"
|
|
lmutil lmstat -a -c 2100@localhost -i || true
|
|
echo "-----"
|
|
|
|
export XILINXD_LICENSE_FILE=2100@localhost
|
|
|
|
else
|
|
echo
|
|
echo "**No** Xilinx license server ssh key found."
|
|
fi
|
|
echo "----------------------------------------"
|