prjxray/fuzzers/053-pip-ctrlin
Dr Jonathan Richard Robert Kimmitt 5347c5152d virtex7: 053-pip-ctrlin / 055-pip-gnd — 2*N tile reservation
Both fuzzers crashed in Vivado with 'ERROR: [Common 17-69] Missing
name/value pair in -dict argument' at the set_property -dict 'LOC ...
BEL ...' line. Cause: generate.tcl reserves 3*todo_lines INT tiles
via randsample_list (utils.tcl), which samples without replacement
and pads with empty strings once exhausted. The off-edge virtex7 ROI
holds only ~150 INT_L/INT_R tiles, but 053 has 64 todo lines, so
3*64=192 > 150 and the tail of the sample is empty entries; high-idx
todo lines (tile_idx = idx*3) get empty tiles -> empty driver_site
-> odd-length -dict -> error.

Reduce the per-todo-line retry window from 3 to 2 (set tiles
expr 2*todo_lines, tile_idx idx*2, retry limit tries>=2). 2*64=128
fits comfortably in ~150 pool. Other pip fuzzers use a different
indexing pattern; only these two use idx*K. For larger-ROI families
the pool still exceeds 2*N as it did 3*N, so no regression.

Verified: 053 single-specimen run reaches all 64 todo lines (idx 63
previously died at 50), emits segdata_int_l/r; 055 likewise.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 14:27:08 +01:00
..
Makefile Add licensing header to Makefiles 2020-05-26 07:33:12 -07:00
README.md docs: Fix top level headers and other small clean. 2019-04-03 19:26:28 -07:00
generate.py Add licensing header to fuzzers' python scripts 2020-05-26 07:33:12 -07:00
generate.tcl virtex7: 053-pip-ctrlin / 055-pip-gnd — 2*N tile reservation 2026-05-27 14:27:08 +01:00
top.v fuzzers: name with tile type 2019-01-07 23:08:45 +01:00

README.md

Fuzzer for INT PIPs driving the CTRL wires

Run this fuzzer a few times until it produces an empty todo.txt file (make run will run this loop).