Add a callout block under the four-repo branch table noting that the
Virtex-7 work was developed and validated against Vivado 2020.1, that
other 2018+ releases may work, and that the upstream-recommended 2017.2
is too old for this device (predates xc7vx485tffg1761-2 HP-bank IOB18
support, several HCLK_IOI/CMT properties the fuzzers query, and the
write_pip_txtdata bulk paths the utils.tcl patch exercises).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add the four-repo upstream branch map (prjxray / nextpnr-xilinx-meta /
nextpnr-xilinx / demo-projects), pointing at the openXC7 mirrors.
- Replace the smoke-test-passes Achievements with the current end-to-end
state: rst_to_led / counter / counter_bufr / telegraph at 0/0 vs Vivado
with zero .frm patches, and the PicoSoC UART demo running on real VC707
silicon at 125 MHz.
- List the 7 codified HP-bank glue segbits (LIOB18 IBUF/OBUF Y0+Y1, RIOB18
IBUFDS, INT_L IOB_COL_OBUF_CASCADE_Y1 / IOB_COL_BANK_ACTIVE /
GFAN_TIE_ROOT_GLUE, HCLK_L BUFRCLK3_ACTIVE) plus the 14 IOB18 silicon
defaults.
- New 'Virtex-7 architecture discoveries' section describing the things
that turned out to differ from Kintex-7 and weren't inherited by
transplant: HP vs HR silicon, HCLK_IOI vs HCLK_IOI3, L/R-side mirror,
the bank-glue category itself (tile-in-use markers / Y0+Y1 OBUF
cascade / PUDC_B / IBUFDS pair root), the .DRIVE. vs .SLEW. classifier
gotcha, HCLK_L BUFRCLK3 leaf, GFAN T-tie INT_L+10 row glue, fasm2bels
NOCLKINV block, nextpnr-xilinx OBUF T-tie convergence + Y137/Y138 wire
mapping, and the PicoSoC RAM128/256X1S packing requirement.
- Goals now reflect what's still open: the 228-bit PicoSoC CLB-glue
family, the 236 missing IOI features, fasm2bels past NOCLKINV, and the
Y137/Y138 nextpnr-xilinx wire mapping.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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 <noreply@anthropic.com>
Changing "fasm" to "pyfasm" was incorrect; it is unrelated to this project.
Updated this line in ''requirements.txt'' to install "fasm" from the submodule
''third_party/fasm''. Also, removed aliasing of "python" in README.
Signed-off-by: Jake Mercer <jmercer04@qub.ac.uk>
Updated the Quickstart Guide section of the README as some deviations were
required when following this with a fresh Ubuntu 16.04 install. Fixes to
''requirements.txt'' were required to remove the "futures" dependency which is
in the python3 standard library and is only intended for use with python2;
"fasm" now goes by "pyfasm".
Signed-off-by: Jake Mercer <jmercer04@qub.ac.uk>
Rearrange steps to make sure the user always downloads a stable
pre-generated database or builds everything, before working on
fuzzers.
Signed-off-by: Oguz Meteer <info@guztech.nl>
This fixes the problem that when sourcing the vivado settings file the
library search path is modified resulting in non-vivado binaries not working
due to being dynamically linked against the vivado libraries instead of the
system ones.
Signed-off-by: Felix Held <felix-github@felixheld.de>
CMake 3.5.0 or later is required. For Ubuntu 14.04, that has a
different package name.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>