mirror of https://github.com/openXC7/prjxray.git
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> |
||
|---|---|---|
| .. | ||
| Makefile | ||
| README.md | ||
| generate.py | ||
| generate.tcl | ||
| top.v | ||
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).