Commit Graph

4194 Commits

Author SHA1 Message Date
Dr Jonathan Richard Robert Kimmitt 1ebe6937e0 virtex7: enable 018-clb-ram (LUTRAM/SRL) — was misdiagnosed as Vivado-version wall
The earlier skip blamed a 'Vivado 2020.1 BEL-slot' difference; on close
investigation the real failure was generate.py:79 `assert bels == bels_tcl`
in the my_ram_N branch. The two ROI definitions disagree on X extent:
util.get_roi() (XRAY_ROI_GRID_*) yields SLICEM at SLICE X2..X12, but the
Vivado dump pblock built from $XRAY_ROI is X0..X11 — so the whole
SLICE_X12Y* column top.py LOC's primitives into falls outside the dumped
pblock and shows up as None in design.csv, tripping the assert.

The sibling RAM path already tolerated this via 'if ram != has_bel_tcl:
continue' (line ~137); mirror the same graceful skip in the SRL/LUT path.
For other families bels always == bels_tcl, so the change is a no-op.

Verified end-to-end on xc7vx485tffg1761-2: produces valid LUTRAM segdata
(ALUT/BLUT/CLUT/DLUT.{RAM,SRL,SMALL} + WA7USED/WA8USED/WEMUX.CE), pushes
into segbits_clblm_l/r (clblm coverage 95% -> ~100% vs kintex7).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 14:27:08 +01:00
Dr Jonathan Richard Robert Kimmitt 68f2db4060 virtex7: skip HR-bank IOB/IOI fuzzers (HP-only part)
xc7vx485t has no IOB33/IOI3 (HR) tiles, so the HR-bank IOB/IOI fuzzers (030-iob,
035-iob-ilogic, 035a-iob-idelay, 035b-iob-iserdes, 036-iob-ologic, 037-iob-pips,
047-hclk-ioi-pips) have no sites. Gate them on a new HAS_HIGH_RANGE_BANKS flag
(0 for virtex7); the HP iob18/ioi18 fuzzers cover the part. Decouple
037-iob18-pips and 047a-hclk-idelayctrl-pips from the now-skipped HR fuzzers.
Kintex-7 and the other families are unchanged.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 17:19:22 +01:00
Dr Jonathan Richard Robert Kimmitt 3119e42d25 virtex7: off-edge ROI + graceful handling of unsolvable edge tiles
- settings/virtex7.sh: move XRAY_ROI and XRAY_ROI_GRID off the device bottom
  edge (SLICE_X0Y50:X11Y99; grid 5-20/261-312). Edge tiles at Y0 can't exercise
  features like BRAM36 ECC/cascade, and the bottom-edge BRAM is unsolvable.
- prjxray/segmaker.py: when a tile has no bitstream info (dummy tile, or an edge
  tile dropped from the tilegrid such as BRAM_L_X114Y0 on xc7vx485t), account
  for any tags on it and skip with a warning instead of asserting. Fixes the
  BRAM config/FIFO fuzzers (027, 029, ...) for virtex7; no-op for normal dummy
  tiles. Also print the unsolved tags before the all-tags-used assertion.
- fuzzers/Makefile: skip 018-clb-ram for virtex7 (Vivado 2020.1 packs SRL/RAM
  into different BEL slots than the fuzzer pins).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 16:29:42 +01:00
Dr Jonathan Richard Robert Kimmitt 39f5de415d Add Virtex-7 (xc7vx485t) family support
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>
2026-05-24 07:21:23 +01:00
Hans Baier 132342f7a2
Merge pull request #4 from trabucayre/bump_gflags_fix_build
Bump gflags fix build
2026-03-24 23:02:55 +07:00
Gwenhael Goavec-Merou b525bf9a3b third_party/fasm: switch to openxc7 fork to fix build failure 2026-02-25 11:22:08 +01:00
Gwenhael Goavec-Merou fcd561fb7f tools/bitread.cc: fix build with recent gcc 2026-02-25 11:01:16 +01:00
Gwenhael Goavec-Merou c526b25cd9 third_party/gflags: bump to release v2.3.0 2026-02-25 11:00:17 +01:00
Hans Baier e87c79a156 add XRAY_ROI_TILEGRIDD var in kintex7_325t.sh
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-04-30 10:16:21 +07:00
Hans Baier de537592c8 Merge remote-tracking branch 'upstream/master' 2025-04-28 04:58:14 +07:00
Karol Gugala 08353c973e
Merge pull request #2523 from openXC7/gtx-support-contrib
fix attrs.json for GTX_COMMON and GTX_CHANNEL
2025-04-24 10:05:32 +02:00
Hans Baier e5b8927c12 fuzzers/041-clk-hrow-pips/Makefile: revert accidentally committed line
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-04-03 04:54:16 +07:00
Hans Baier 5484250349 fix 063-gtx-common-conf/attrs.json
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-04-03 04:52:08 +07:00
Hans Baier 458f8125b4 fix 064-gtx-channel-conf/attrs.json
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-04-02 05:38:24 +07:00
Hans Baier ce065d470e Merge remote-tracking branch 'upstream/master' 2025-02-19 13:33:09 +07:00
dependabot[bot] faf9c774a3
build(deps): bump third_party/abseil-cpp from `3735766` to `cc70e83` (#2500)
Bumps [third_party/abseil-cpp](https://github.com/abseil/abseil-cpp) from `3735766` to `cc70e83`.
- [Release notes](https://github.com/abseil/abseil-cpp/releases)
- [Commits](3735766b3b...cc70e832b0)

---
updated-dependencies:
- dependency-name: third_party/abseil-cpp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 17:43:19 +00:00
dependabot[bot] 5b21572a1f
build(deps): bump third_party/yosys from `3d35f36` to `38f8583` (#2499)
Bumps [third_party/yosys](https://github.com/YosysHQ/yosys) from `3d35f36` to `38f8583`.
- [Release notes](https://github.com/YosysHQ/yosys/releases)
- [Commits](3d35f367cf...38f858374c)

---
updated-dependencies:
- dependency-name: third_party/yosys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-15 17:43:07 +00:00
Karol Gugala ad8dd81e14
Merge pull request #2494 from openXC7/gtx-support
GTX support: Tilegrid fuzzer, GTX_COMMON and GTX_CHANNEL fuzzers
2025-02-15 08:37:05 +01:00
Hans Baier 89774f18a2 fix doc link in README
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-14 08:11:57 +07:00
Hans Baier c33ec0a26b 063-gtx-common-conf: fix bitfilter to include DRP and remove collisions
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-14 03:38:36 +07:00
Hans Baier 9e486828a7 063-gtx-common-conf: adjust bitfilter to include frame 24/25, and see if we get collisions
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier f42e522731 063-gtx-common-conf: add bitfilter to avoid collisions
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 0a19140cbe Fix 005-tilegrid/gtx_common
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier ed16a21cae Bump actions/upload-artifact to v4
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 95eb4f812b add fuzzers/005-tilegrid/gtx_common
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 86bff48f0c fuzzers/Makefile: run GTX_CHANNEL fuzzer for kintex
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 59551505e3 utils/mergedb.sh: add GTX support
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 1dc6a620db fuzzers/064-gtx-channel-conf: fix wrong attrs; fuzzer now works perfectly
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 4dd4533912 fuzzers/064-gtx-channel-conf: IN_USE for GTX has 10 bits and fixup channel tags before processing
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier aaa5544622 fuzzers/064-gtx-channel-conf: re-enable bit filter, to get the IN_USE solution
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 5f7ca79667 fuzzers/064-gtx-channel-conf: double specimens from 20 to 40 to resolve some multi candidates features
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 6c6c528970 fix gtx_channel tilegrid fuzzer
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier e565dae491 064-gtx-channel-conf fuzzer runs and gets first results, many are still missing (zero candidates)
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 51a0b43919 063-gtx-common-conf gives first plausible results
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 26ccc8a038 005-tilegrid/add_tdb.py: add missing gtx_int_interface
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 71c3daaced prjxray/segmaker.py: add GTX support
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier ce09bfb56e fuzzers/005-tilegrid/pcie_int_interface/top.py: fix PCIE_INT variable name
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 8d7f18cd7d fix gtx_channel number of words
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier f1e816f305 add GTX tilegridd fuzzers to tilegrid fuzzer Makefile
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 9e0085136d 005-tilegrid/gtx_int_interface fuzzer works
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Hans Baier 711bff982b 005-tilegrid/gtx_channel fuzzer works
Signed-off-by: Hans Baier <foss@hans-baier.de>
2025-02-13 17:20:08 +07:00
Karol Gugala 399bc23fd8
Merge pull request #2498 from f4pga/fix-docs
bump readthedocs conf
2025-02-13 09:57:48 +01:00
Karol Gugala e7efbfa884 bump readthedocs conf
Signed-off-by: Karol Gugala <kgugala@antmicro.com>
2025-02-13 09:56:38 +01:00
Hans Baier f0260161db Merge remote-tracking branch 'upstream/master' 2025-02-07 06:13:30 +07:00
dependabot[bot] 147eafe55e
build(deps): bump third_party/yaml-cpp from `73ef006` to `39f7374` (#2490)
Bumps [third_party/yaml-cpp](https://github.com/jbeder/yaml-cpp) from `73ef006` to `39f7374`.
- [Release notes](https://github.com/jbeder/yaml-cpp/releases)
- [Commits](73ef0060aa...39f737443b)

---
updated-dependencies:
- dependency-name: third_party/yaml-cpp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-25 17:59:44 +00:00
dependabot[bot] b5fdc16a24
build(deps): bump third_party/yosys from `502c39b` to `3d35f36` (#2488)
Bumps [third_party/yosys](https://github.com/YosysHQ/yosys) from `502c39b` to `3d35f36`.
- [Release notes](https://github.com/YosysHQ/yosys/releases)
- [Commits](502c39b875...3d35f367cf)

---
updated-dependencies:
- dependency-name: third_party/yosys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-25 17:49:53 +00:00
dependabot[bot] 16c5547577
build(deps): bump third_party/cctz from `70c3bd1` to `1f2268a` (#2489)
Bumps [third_party/cctz](https://github.com/google/cctz) from `70c3bd1` to `1f2268a`.
- [Release notes](https://github.com/google/cctz/releases)
- [Commits](70c3bd1a22...1f2268a1b6)

---
updated-dependencies:
- dependency-name: third_party/cctz
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-25 17:48:46 +00:00
dependabot[bot] b0469657f5
build(deps): bump third_party/googletest from `504ea69` to `2b6b042` (#2485)
Bumps [third_party/googletest](https://github.com/google/googletest) from `504ea69` to `2b6b042`.
- [Release notes](https://github.com/google/googletest/releases)
- [Commits](504ea69cf7...2b6b042a77)

---
updated-dependencies:
- dependency-name: third_party/googletest
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-18 18:01:33 +00:00
dependabot[bot] fecc75d0de
build(deps): bump third_party/abseil-cpp from `3f770c4` to `3735766` (#2484)
Bumps [third_party/abseil-cpp](https://github.com/abseil/abseil-cpp) from `3f770c4` to `3735766`.
- [Release notes](https://github.com/abseil/abseil-cpp/releases)
- [Commits](3f770c4d96...3735766b3b)

---
updated-dependencies:
- dependency-name: third_party/abseil-cpp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-18 18:01:28 +00:00
dependabot[bot] 3a95169e55
build(deps): bump third_party/yosys from `17a53b8` to `502c39b` (#2482)
Bumps [third_party/yosys](https://github.com/YosysHQ/yosys) from `17a53b8` to `502c39b`.
- [Release notes](https://github.com/YosysHQ/yosys/releases)
- [Commits](17a53b8385...502c39b875)

---
updated-dependencies:
- dependency-name: third_party/yosys
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-11 17:42:59 +00:00