Commit Graph

117 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 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 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 949fad1adb add 038-cfg-startup fuzzer to fuzzers Makefile
Signed-off-by: Hans Baier <hansfbaier@gmail.com>
2023-10-10 12:21:53 +07:00
Hans Baier 1911a45821 fuzzers/Makefile: add odelay fuzzer and factor out condition for high performance banks
Signed-off-by: Hans Baier <hansfbaier@gmail.com>
2023-01-24 07:39:59 +07:00
Hans Baier c7cc58362c add support for the kintex high performance banks
Signed-off-by: Hans Baier <hansfbaier@gmail.com>
2022-11-24 01:37:46 +07:00
Alessandro Comodi f4b1bd1540 fuzzers: tmp disable 034b to unblock GH custom runners transition
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2022-03-02 14:16:01 +01:00
Alessandro Comodi 8266247637 101-dsp-pips: solve DSP-related PIPs
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-15 13:15:44 +01:00
litghost f28da7ca30
Merge pull request #1583 from antmicro/fix-065-gtp-common-pips
Fix 065 gtp common pips
2021-02-08 10:19:06 -08:00
Alessandro Comodi 61729f66a8 065b-gtp-common-pips: solve missing CK_MUX pips
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-08 12:00:54 +01:00
Alessandro Comodi 8f199132c9 fuzzer: add 062-pcie-int-pips to Makefile
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-05 19:18:35 +01:00
Alessandro Comodi 5137498bcb 066-gtp-int-pips: add fuzzer for GTP_INT_INTERFACE DELAY PIPs
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-04 12:35:00 +01:00
Alessandro Comodi 618e170875 065-gtp-common-pips: enable fuzzer in makefile
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-02-02 19:35:23 +01:00
Jan Kowalewski 96d3b3de69 064-gtp-channel: add gtp_channel_mid support
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
2021-01-22 10:40:04 +01:00
Jan Kowalewski 701433096b 064-gtp-channel: add gtp_channel fuzzer to Makefile
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
2021-01-22 10:40:04 +01:00
Alessandro Comodi fb78c37356 063-gtp-common-conf: add to fuzzer Makefile
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-01-20 18:23:24 +01:00
Alessandro Comodi 1be5c159ac 061-pcie-conf: add to Makefile to run correctly
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2021-01-14 17:17:13 +01:00
Daniel Schultz e60b0d5875 fuzzers: Deploy fabric data to a separate dir
Fabric data should be deployed to a separate directory inside the database
and all devices with the same fabric should access it.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2021-01-12 22:36:58 +01:00
Keith Rothman d117b73b18 Add node names to database.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-10-26 09:32:52 -07:00
Keith Rothman 90d420eef3 Add initial MMCM feature and PIP support.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-10-08 17:44:42 -07:00
Maciej Kurc 6396c941af Fixed fuzzer dependency.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2020-07-17 11:58:42 +02:00
Maciej Kurc 3ee95542b8 Enabled 035b in Makefile
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2020-07-17 11:58:42 +02:00
Tomasz Michalak 159d6a8e88 Add licensing header to Makefiles
Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
2020-05-26 07:33:12 -07:00
Keith Rothman 22e1a8f7c3 Refactor how part specific for part generic fuzzers are marked.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-19 16:55:53 -08:00
Keith Rothman fabae5eb64 Fix some bugs in makefile work tracking.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-19 16:34:12 -08:00
Keith Rothman 1f22d60160 Fix up Makefile dependences.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-19 16:34:12 -08:00
Keith Rothman 3aeb1f120a Also clean log directories.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-19 16:34:11 -08:00
Keith Rothman 9f839a7a08 Attempt to parallelize 074 for additional parts.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2020-02-19 16:34:11 -08:00
Alessandro Comodi 073c976128 cleaning fuzzers before running roi_only target commands
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-02-19 16:33:32 -08:00
Alessandro Comodi b24f5f5ad3 fuzzers: clean and do make fuzzer/run.ok when generating part_only
This is necessary to have a clean output when building extra-parts

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-02-19 16:33:32 -08:00
Alessandro Comodi 194cc230f1 fix possible concurrency issue
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-02-19 16:32:33 -08:00
Maciej Kurc 45338f1af4 Reworked the PS7 port def. extractor so instead of a minitest its now a fuzzer.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2020-01-28 12:17:16 +01:00
Alessandro Comodi 0b623982e5 divided harness and extra parts creation
There is an issue with the roi_harness creation, for which the
multi-process make does not correctly works for roi_harness target

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi 4a0ca41077 roi_only: copy tilegrid and tileconn from equivalent part
005-tilegrid fuzzer cannot run for some parts as some of the IOBs are
not available, therefore the fuzzer exits with errors.

Instead, the tilegrid is copied from the specified equivalent part.

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi dfb0717f2c fix makefile part_only dependencies
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi 90d88bc7a2 fix roi_only parts
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi 88f7830456 addressed review comments
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi e44027bcaf Move all part-specific files to dedicated directory
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi 93d1ae82f7 Enable the generation of extra part-dependents files
This change affects the extra-db target, by adding also the generation
of other part-dependent files, such as tilegrid, tileconn, and others.

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2020-01-24 10:13:33 +01:00
Alessandro Comodi 13361904ee hclk-ioi: make 047a dependent on 47 to avoid race condition on piplist
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2019-10-31 17:00:33 +01:00
Alessandro Comodi b057e35e73 hclk-ioi: addressed review comments
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2019-10-31 11:58:11 +01:00
Maciej Kurc f88a1d54b8 Fixed makefile
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-10-28 15:58:58 +01:00
Maciej Kurc 89abe7ad47 Modified 034 to manually force routing through specific PIPs and exclude PPIPs from segdata.
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
2019-10-28 15:57:22 +01:00
Keith Rothman 472583079a Add 039 fuzzer to master makefile.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2019-08-08 08:42:02 -07:00
Alessandro Comodi e26a6432a4 iob-pips: initial attempt to document ioi pips
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
2019-07-24 18:23:19 +02:00
litghost ae526981a2
Merge pull request #946 from antmicro/idelay-fuzzer
Fuzzer for IDELAY
2019-07-22 10:04:36 -07:00
Tomasz Michalak 727d5ca377 fuzzers: Add fuzzer for HCLK_IOI3 PIPs
Signed-off-by: Tomasz Michalak <tmichalak@antmicro.com>
2019-07-19 08:19:00 +02:00