1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
from fuzzconfig import FuzzConfig
import interconnect
import pytrellis
jobs = [
{
"cfg": FuzzConfig(job="GLB_ENTRY", family="MachXO2", device="LCMXO2-1200HC", ncl="tap.ncl",
tiles=["CENTER6:CENTER_EBR_CIB"]),
"left_net": "R6C{}_HPSX{:02d}00",
"right_net": "R6C{}_HPSX{:02d}00"
},
]
def main():
# left_end and right_end are 1200HC-specific. However, the results
# also readily apply to 2000HC devices because they also have a
# CENTER_EBR_CIB tile (without qualifiers).
def left_end(x):
return 8 if x % 2 == 0 else 7
def right_end(x):
if x == 0 or x == 4:
return 18
elif x == 1 or x == 5:
return 19
else:
return 17
pytrellis.load_database("../../../database")
for job in jobs:
cfg = job["cfg"]
cfg.setup()
netnames = []
netnames += [job["left_net"].format(left_end(x), x) for x in range(8)]
netnames += [job["right_net"].format(right_end(x), x) for x in range(8)]
interconnect.fuzz_interconnect_with_netnames(config=cfg, netnames=netnames,
netname_filter_union=False)
if __name__ == "__main__":
main()
|