mirror of https://github.com/openXC7/prjxray.git
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> |
||
|---|---|---|
| .. | ||
| Makefile | ||
| README.md | ||
| generate.py | ||
| generate.sh | ||
| generate.tcl | ||
| picorv32.v | ||
| top.v | ||
README.md
Generic fuzzer for INT PIPs
Run this fuzzer a few times until it stops adding new PIPs to the database.
Sample runs:
78fa4bd5- jenkins 3, success
- intpips: 1 iter, N=200, -m 5 -M 15
- intpips todo final: N/A
- intpips segbits_int_l.db lines: 3374
- rempips todo initial: 279
- rempips todo final (32): 9
20e09ca7- jenkins 21, rempips failure
- intpips: 6 iters, N=48, -m 15 -M 45
- intpips segbits_int_l.db lines: 3364
- rempips todo initial: 294
- rempips todo final (51): 294
1182359f- jenkins 23, intpips failure
- inpips: 12 iters, N=48, -m 15 -M 45
- intpips todo final: 495
- inpips segbits_int_l.db lines: 5167
- rempips todo: N/A
const0
These show up in large numbers after a full solve. This means that it either has trouble solving these or simply cannot. Counts from sample run
Includes:
- INT.BYP_ALT*.LOGIC_OUTS* (24)
- Ex: INT.BYP_ALT2.LOGIC_OUTS14
- INT.[NESW]*.LOGIC_OUTS* (576)
- Ex: INT.EE4BEG2.LOGIC_OUTS2
- Ex: INT.EL1BEG_N3.LOGIC_OUTS0
- Ex: INT.WR1BEG3.LOGIC_OUTS2
- INT.IMUX*.* (1151)
- Ex: INT.IMUX0.NL1END0
- Ex: INT.IMUX0.FAN_BOUNCE7
- Ex: INT.IMUX14.LOGIC_OUTS7
GFAN
Includes:
- Easily solves: INT.IMUX_L*.GFAN*
- Can solve: INT.BYP_ALT*.GFAN*
- Cannot solve: INT.IMUX*.GFAN* (solves as "<m1 0> ")
IMUX
- Okay: BYP_ALT*.VCC_WIRE
- Cannot solve: INT.IMUX[0-9]+.VCC_WIRE
- Cannot solve: INT.IMUX_L[0-9]+.VCC_WIRE