mirror of https://github.com/openXC7/prjxray.git
005-tilegrid: XRAY_GTX_SITES to fuzz only the BONDED GTX quads
005-tilegrid skips GTX entirely on virtex7, and the reason is the
package rather than the fuzzer: xc7vx485t-ffg1761 bonds only about half
its GTX quads, an UNBONDED quad cannot be placed, and one unplaceable
site fails the whole run. So the GT tiles a real design actually uses
went unmeasured, and their tilegrid entries stayed empty -- which is the
"key not found" / empty bits{} hole that fasm2frames then reports far
downstream.
XRAY_GTX_SITES takes a comma-separated site list and restricts the fuzz
to it, so a bonded quad can be measured and the unbonded ones are left
legitimately unmeasured instead of taking the run down with them. On
this board the SGMII sits on GTXE2_CHANNEL_X1Y* / GTXE2_COMMON_X1Y0.
Unset, behaviour is exactly as before.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
b6bb3abae5
commit
721ee34ba5
|
|
@ -24,6 +24,18 @@ def gen_sites():
|
|||
|
||||
for site_name, site_type in gridinfo.sites.items():
|
||||
if site_type in ['GTXE2_CHANNEL']:
|
||||
# XRAY_GTX_SITES restricts the fuzz to a comma-separated list of
|
||||
# site names. Needed on virtex7: the xc7vx485t-ffg1761 package
|
||||
# bonds only about half its GTX quads, and an UNBONDED quad
|
||||
# cannot be placed, so fuzzing every site fails the whole run --
|
||||
# which is why 005-tilegrid skips GTX for virtex7 entirely.
|
||||
# Restricting to a bonded quad measures the tiles that a real
|
||||
# design actually uses (this board's SGMII sits on
|
||||
# GTXE2_CHANNEL_X1Y* / GTXE2_COMMON_X1Y0) and leaves the
|
||||
# unbonded ones legitimately unmeasured.
|
||||
want = os.getenv("XRAY_GTX_SITES")
|
||||
if want and site_name not in want.split(','):
|
||||
continue
|
||||
yield tile_name, site_name
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,18 @@ def gen_sites():
|
|||
|
||||
for site_name, site_type in gridinfo.sites.items():
|
||||
if site_type in ['GTXE2_COMMON']:
|
||||
# XRAY_GTX_SITES restricts the fuzz to a comma-separated list of
|
||||
# site names. Needed on virtex7: the xc7vx485t-ffg1761 package
|
||||
# bonds only about half its GTX quads, and an UNBONDED quad
|
||||
# cannot be placed, so fuzzing every site fails the whole run --
|
||||
# which is why 005-tilegrid skips GTX for virtex7 entirely.
|
||||
# Restricting to a bonded quad measures the tiles that a real
|
||||
# design actually uses (this board's SGMII sits on
|
||||
# GTXE2_CHANNEL_X1Y* / GTXE2_COMMON_X1Y0) and leaves the
|
||||
# unbonded ones legitimately unmeasured.
|
||||
want = os.getenv("XRAY_GTX_SITES")
|
||||
if want and site_name not in want.split(','):
|
||||
continue
|
||||
yield tile_name, site_name
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue